flask_boost/cli.py
def generate_action(args):
    """Generate action."""
    controller = args.get('<controller>')
    action = args.get('<action>')
    with_template = args.get('-t')
    current_path = os.getcwd()

    logger.info('Start generating action.')

    controller_file_path = os.path.join(current_path, 'application/controllers', controller + '.py')
    if not os.path.exists(controller_file_path):
        logger.warning("The controller %s does't exist." % controller)
        return

    if with_template:
        action_source_path = os.path.join(dirname(abspath(__file__)), 'templates/action.py')
    else:
        action_source_path = os.path.join(dirname(abspath(__file__)), 'templates/action_without_template.py')

    # Add action source codes
    with open(action_source_path, 'r') as action_source_file:
        with open(controller_file_path, 'a') as controller_file:
            for action_line in action_source_file:
                new_line = action_line.replace('#{controller}', controller). \
                    replace('#{action}', action)
                controller_file.write(new_line)
    logger.info("Updated: %s" % _relative_path(controller_file_path))

    if with_template:
        # assets dir
        assets_dir_path = os.path.join(current_path, 'application/pages/%s/%s' % (controller, action))
        _mkdir_p(assets_dir_path)

        # html
        action_html_template_path = os.path.join(dirname(abspath(__file__)), 'templates/action.html')
        action_html_path = os.path.join(assets_dir_path, '%s.html' % action)
        with open(action_html_template_path, 'r') as action_html_template_file:
            with open(action_html_path, 'w') as action_html_file:
                for line in action_html_template_file:
                    new_line = line.replace('#{action}', action) \
                        .replace('#{action|title}', action.title()) \
                        .replace('#{controller}', controller)
                    action_html_file.write(new_line)
        logger.info("New: %s" % _relative_path(action_html_path))

        # js
        action_js_template_path = os.path.join(dirname(abspath(__file__)), 'templates/action.js')
        action_js_path = os.path.join(assets_dir_path, '%s.js' % action)
        shutil.copy(action_js_template_path, action_js_path)
        logger.info("New: %s" % _relative_path(action_js_path))

        # less
        action_less_template_path = os.path.join(dirname(abspath(__file__)), 'templates/action.less')
        action_less_path = os.path.join(assets_dir_path, '%s.less' % action)
        shutil.copy(action_less_template_path, action_less_path)
        logger.info("New: %s" % _relative_path(action_less_path))

    logger.info('Finish generating action.')
def generate_action(args):
    controller = args.get('<controller>')
    action = args.get('<action>')
    with_template = args.get('-t')
    current_path = os.getcwd()

    logger.info('Start generating action.')

    controller_file_path = os.path.join(current_path, 'application/controllers', controller + '.py')
    if not os.path.exists(controller_file_path):
        logger.warning("The controller %s does't exist." % controller)
        return

    if with_template:
        action_source_path = os.path.join(dirname(abspath(__file__)), 'templates/action.py')
    else:
        action_source_path = os.path.join(dirname(abspath(__file__)), 'templates/action_without_template.py')

    # Add action source codes
    with open(action_source_path, 'r') as action_source_file:
        with open(controller_file_path, 'a') as controller_file:
            for action_line in action_source_file:
                new_line = action_line.replace('#{controller}', controller). \
                    replace('#{action}', action)
                controller_file.write(new_line)
    logger.info("Updated: %s" % _relative_path(controller_file_path))

    if with_template:
        # assets dir
        assets_dir_path = os.path.join(current_path, 'application/pages/%s/%s' % (controller, action))
        _mkdir_p(assets_dir_path)

        # html
        action_html_template_path = os.path.join(dirname(abspath(__file__)), 'templates/action.html')
        action_html_path = os.path.join(assets_dir_path, '%s.html' % action)
        with open(action_html_template_path, 'r') as action_html_template_file:
            with open(action_html_path, 'w') as action_html_file:
                for line in action_html_template_file:
                    new_line = line.replace('#{action}', action) \
                        .replace('#{action|title}', action.title()) \
                        .replace('#{controller}', controller)
                    action_html_file.write(new_line)
        logger.info("New: %s" % _relative_path(action_html_path))

        # js
        action_js_template_path = os.path.join(dirname(abspath(__file__)), 'templates/action.js')
        action_js_path = os.path.join(assets_dir_path, '%s.js' % action)
        shutil.copy(action_js_template_path, action_js_path)
        logger.info("New: %s" % _relative_path(action_js_path))

        # less
        action_less_template_path = os.path.join(dirname(abspath(__file__)), 'templates/action.less')
        action_less_path = os.path.join(assets_dir_path, '%s.less' % action)
        shutil.copy(action_less_template_path, action_less_path)
        logger.info("New: %s" % _relative_path(action_less_path))

    logger.info('Finish generating action.')
def generate_action ( args ) : controller = args . get ( '<controller>' ) action = args . get ( '<action>' ) with_template = args . get ( '-t' ) current_path = os . getcwd ( ) logger . info ( 'Start generating action.' ) controller_file_path = os . path . join ( current_path , 'application/controllers' , controller + '.py' ) if not os . path . exists ( controller_file_path ) : logger . warning ( "The controller %s does't exist." % controller ) return if with_template : action_source_path = os . path . join ( dirname ( abspath ( __file__ ) ) , 'templates/action.py' ) else : action_source_path = os . path . join ( dirname ( abspath ( __file__ ) ) , 'templates/action_without_template.py' ) # Add action source codes with open ( action_source_path , 'r' ) as action_source_file : with open ( controller_file_path , 'a' ) as controller_file : for action_line in action_source_file : new_line = action_line . replace ( '#{controller}' , controller ) . replace ( '#{action}' , action ) controller_file . write ( new_line ) logger . info ( "Updated: %s" % _relative_path ( controller_file_path ) ) if with_template : # assets dir assets_dir_path = os . path . join ( current_path , 'application/pages/%s/%s' % ( controller , action ) ) _mkdir_p ( assets_dir_path ) # html action_html_template_path = os . path . join ( dirname ( abspath ( __file__ ) ) , 'templates/action.html' ) action_html_path = os . path . join ( assets_dir_path , '%s.html' % action ) with open ( action_html_template_path , 'r' ) as action_html_template_file : with open ( action_html_path , 'w' ) as action_html_file : for line in action_html_template_file : new_line = line . replace ( '#{action}' , action ) . replace ( '#{action|title}' , action . title ( ) ) . replace ( '#{controller}' , controller ) action_html_file . write ( new_line ) logger . info ( "New: %s" % _relative_path ( action_html_path ) ) # js action_js_template_path = os . path . join ( dirname ( abspath ( __file__ ) ) , 'templates/action.js' ) action_js_path = os . path . join ( assets_dir_path , '%s.js' % action ) shutil . copy ( action_js_template_path , action_js_path ) logger . info ( "New: %s" % _relative_path ( action_js_path ) ) # less action_less_template_path = os . path . join ( dirname ( abspath ( __file__ ) ) , 'templates/action.less' ) action_less_path = os . path . join ( assets_dir_path , '%s.less' % action ) shutil . copy ( action_less_template_path , action_less_path ) logger . info ( "New: %s" % _relative_path ( action_less_path ) ) logger . info ( 'Finish generating action.' )
Generate action.
Generate action .