Example #1
0
def init(project_name):
    """
    build a minimal flask project
    """
    # the destination path
    dst_path = os.path.join(os.getcwd(), project_name)

    start_init_info(dst_path)

    # create dst path
    _mkdir_p(dst_path)

    os.chdir(dst_path)
    # create files
    init_code('manage.py', _manage_basic_code)
    init_code('requirement.txt', _requirement_code)

    # create app/
    app_path = os.path.join(dst_path, 'app')
    _mkdir_p(app_path)

    os.chdir(app_path)
    # create files
    init_code('views.py', _views_basic_code)
    init_code('forms.py', _forms_basic_code)
    init_code('__init__.py', _init_basic_code)

    create_templates_static_files(app_path)

    init_done_info()
Example #2
0
def init(project_name):
    """
    mana init <project_name>
    -- build a tiny flask project

    """
    # the destination path
    dst_path = os.path.join(os.getcwd(), project_name)

    warning_path_exist(dst_path)

    # start init
    logger.info("[Info] start init your flask project!")

    # create dst path
    _mkdir_p(dst_path)

    os.chdir(dst_path)
    # create files
    init_code('manage.py', _manage_basic_code)
    init_code('requirement.txt', _requirement_code)

    # create app/
    app_path = os.path.join(dst_path, 'app')
    _mkdir_p(app_path)

    os.chdir(app_path)
    # create files
    init_code('views.py', _views_basic_code)
    init_code('forms.py', _forms_basic_code)
    init_code('__init__.py', _init_basic_code)

    create_templates_static_files()

    logger.info("[Info] init flask project <%s> done! " % project_name)
Example #3
0
def init(project_name):
    """
    mana init <project_name>
    """
    # the destination path
    dst_path = os.path.join(os.getcwd(), project_name)

    start_init_info(dst_path)

     # create dst path
    _mkdir_p(dst_path)

    os.chdir(dst_path)
    # create files
    init_code('manage.py', _manage_basic_code)
    init_code('requirement.txt', _requirement_code)

    # create app/
    app_path = os.path.join(dst_path, 'app')
    _mkdir_p(app_path)

    os.chdir(app_path)
    # create files
    init_code('views.py', _views_basic_code)
    init_code('forms.py', _forms_basic_code)
    init_code('__init__.py', _init_basic_code)

    create_templates_static_files(app_path)

    init_done_info()
Example #4
0
def init(dev, site_name):
    """
    ⚡️ generate a railgun site
    """
    site = os.path.join(site_path, 'site')
    gen = os.path.join(gen_path, 'gen')
    dst = os.path.join(os.getcwd(), site_name)

    start_init_info(dst)
    _mkdir_p(dst)

    for site_dir, sub_dirs, filenames in os.walk(site):
        relative = site_dir.split(site)[1].lstrip(os.path.sep)
        dst_dir = os.path.join(dst, relative)

        _mkdir_p(dst_dir)

        for filename in filenames:
            site_file = os.path.join(site_dir, filename)
            dst_file = os.path.join(dst_dir, filename)

            shutil.copy(site_file, dst_file)

    # add gen
    dst_gen_path = os.path.join(dst, 'gen')
    shutil.copytree(gen, dst_gen_path)

    if not dev:
        themes_path = os.path.join(dst, 'app/themes')
        os.chdir(dst)
        # default theme: https://github.com/neo1218/ship-theme-cat
        os.popen('git clone https://github.com/neo1218/ship-theme-cat.git app/themes/cat')
        os.popen('railgun upgrade cat')

    finish_init_info()
Example #5
0
def upload():
    """
    ⚡️ deploy railgun site
    """
    current_path = os.getcwd()
    root_path = current_path
    harbor_folder = os.path.join(root_path, '.harbor')
    build_folder = os.path.join(root_path, 'app/build')

    if not os.path.exists(harbor_folder):
        _mkdir_p(harbor_folder)
        os.chdir(harbor_folder)
        os.popen('git init')
        os.chdir(root_path)
        _copy_files(build_folder, harbor_folder)
        os.popen('python manage.py first_upload')
    else:
        os.chdir(root_path)
        _copy_files(build_folder, harbor_folder)
        os.popen('python manage.py other_upload')

    os.chdir(root_path)
    logger.info(log_symbol['info'] + \
        ' deployment done!'
    )
Example #6
0
def init(dev, site_name):
    site = os.path.join(site_path, 'site')
    dst = os.path.join(os.getcwd(), site_name)

    start_init_info(dst)
    _mkdir_p(dst)

    for site_dir, sub_dirs, filenames in os.walk(site):
        relative = site_dir.split(site)[1].lstrip(os.path.sep)
        dst_dir = os.path.join(dst, relative)

        _mkdir_p(dst_dir)

        for filename in filenames:
            site_file = os.path.join(site_dir, filename)
            dst_file = os.path.join(dst_dir, filename)

            shutil.copy(site_file, dst_file)

    if not dev:
        themes_path = os.path.join(dst, 'app/themes')
        os.chdir(dst)
        os.popen(
            'git clone https://github.com/neo1218/ship-theme-cat.git app/themes/cat'
        )
        os.popen('ship upgrade cat')

    finish_init_info()
    os.chdir(dst)
    os.popen('ship server')
Example #7
0
def init(project_name):
    """
    mana init <project_name>
    -- build a tiny flask project

    """
    # the destination path
    dst_path = os.path.join(os.getcwd(), project_name)

    warning_path_exist(dst_path)

    # start init
    logger.info("[Info] start init your flask project!")

    # create dst path
    _mkdir_p(dst_path)

    os.chdir(dst_path)
    # create files
    init_code('manage.py', _manage_basic_code)
    init_code('requirement.txt', _requirement_code)

    # create app/
    app_path = os.path.join(dst_path, 'app')
    _mkdir_p(app_path)

    os.chdir(app_path)
    # create files
    init_code('views.py', _views_basic_code)
    init_code('forms.py', _forms_basic_code)
    init_code('__init__.py', _init_basic_code)

    create_templates_static_files()

    logger.info("[Info] init flask project <%s> done! " % project_name)
Example #8
0
def rest_startproject(project_name):
    """start a restful flask project"""
    # the destination path
    dst_path = os.path.join(os.getcwd(), project_name)

    start_init_info(dst_path)

    # create dst path
    _mkdir_p(dst_path)

    os.chdir(dst_path)

    # create files under dst_path
    init_code('manage.py', _manage_rest_code)
    init_code('requirement.txt', _rest_requirement_code)
    init_code('config.py', _config_sql_code)

    # create app/ dic under dst_path
    app_path = os.path.join(dst_path, 'app')
    _mkdir_p(app_path)

    os.chdir(app_path)
    # create files under app path
    init_code('models.py', _rest_models_code)
    init_code('decorators.py', _rest_decorators_code)
    init_code('__init__.py', _rest_main_init_code)

    # create api/ dir under app_path
    api_path = os.path.join(app_path, "api")
    _mkdir_p(api_path)

    os.chdir(api_path)
    # create files under api_v1.0/ dir
    init_code("auth.py", _rest_auth_code)
    init_code('user.py', _rest_user_handler_code)
    init_code('__init__.py', _rest_init_blueprint_code % ("api", "api"))

    # create test dir under dst path
    test_path = os.path.join(dst_path, 'test')
    _mkdir_p(test_path)

    os.chdir(test_path)
    # create files under test/ dir
    init_code('__init__.py', '''"the unittest package"''')
    init_code('test.py', _rest_test_code)

    # create utils/ dir under dst path
    utils_path = os.path.join(dst_path, 'utils')
    _mkdir_p(utils_path)

    os.chdir(utils_path)
    # create files under utils/ dir
    init_code('__init__.py', _rest_util_init_code)
    init_code('pagenation.py', _util_pagenation_code)

    init_done_info()
Example #9
0
File: mana.py Project: neo1218/mana
def blueprint(blueprint_name):
    """
    create and register a blueprint
    """
    app = os.getcwd().split('/')[-1]
    if app != 'app':
        logger.warning('''\033[31m{Warning}\033[0m
==> your current path is \033[32m%s\033[0m\n
==> please create your blueprint under app folder!''' % os.getcwd())
        exit(1)

    # destination path
    dst_path = os.path.join(os.getcwd(), blueprint_name)
    if os.path.isdir(dst_path):
        logger.warning('''\033[31m{Warning}\033[0m
==> bluprint \033[32m%s\033[0m\n exist
==> please try again !''' % dst_path)
        exit(1)

    # create dst_path
    _mkdir_p(dst_path)

    # change dir
    os.chdir(dst_path)
    # create files
    init_code('__init__.py', _init_blueprint_code %
        (blueprint_name, blueprint_name))
    init_code('views.py', _views_blueprint_code %
        (blueprint_name, blueprint_name))
    init_code('forms.py', _forms_basic_code)

    # register auth in app
    os.chdir(os.path.join(dst_path, '..'))
    with open('__init__.py', 'r+') as f:
        prev = pos = 0
        while f.readline():
            prev, pos = pos, f.tell()
        f.seek(prev)
        f.write(
            '\nfrom %s import %s\napp.register_blueprint(%s, url_prefix="/%s")\n\n'
            % (
                blueprint_name, blueprint_name,
                blueprint_name, blueprint_name
            )
        )

    # create blueprint templates
    templates_path = os.path.join(os.getcwd(), 'templates')
    os.chdir(templates_path)
    blueprint_templates_path = os.path.join(templates_path, blueprint_name)
    _mkdir_p(blueprint_templates_path)

    logger.info('''\033[33m{Info}\033[0m: create blueprint done!''')
Example #10
0
def blueprint(blueprint_name):
    """
    create and register a blueprint
    """
    app = os.getcwd().split('/')[-1]
    if app != 'app':
        logger.warning('''\033[31m{Warning}\033[0m
==> your current path is \033[32m%s\033[0m\n
==> please create your blueprint under app folder!''' % os.getcwd())
        exit(1)

    # destination path
    dst_path = os.path.join(os.getcwd(), blueprint_name)
    if os.path.isdir(dst_path):
        logger.warning('''\033[31m{Warning}\033[0m
==> bluprint \033[32m%s\033[0m\n exist
==> please try again !''' % dst_path)
        exit(1)

    # create dst_path
    _mkdir_p(dst_path)

    # change dir
    os.chdir(dst_path)
    # create files
    init_code('__init__.py', _init_blueprint_code % (blueprint_name, blueprint_name))
    init_code('views.py', _views_blueprint_code % (blueprint_name, blueprint_name))
    init_code('forms.py', _forms_basic_code)

    # register auth in app
    os.chdir(os.path.join(dst_path, '..'))
    with open('__init__.py', 'r+') as f:
        prev = pos = 0
        while f.readline():
            prev, pos = pos, f.tell()
        f.seek(prev)
        f.write(
            '\nfrom %s import %s\napp.register_blueprint(%s, url_prefix="/%s")\n\n'
            % (
                blueprint_name, blueprint_name,
                blueprint_name, blueprint_name
            )
        )

    # create blueprint templates
    templates_path = os.path.join(os.getcwd(), 'templates')
    os.chdir(templates_path)
    blueprint_templates_path = os.path.join(templates_path, blueprint_name)
    _mkdir_p(blueprint_templates_path)

    logger.info('''\033[33m{Info}\033[0m: create blueprint done!''')
Example #11
0
def create_blueprint(app_path, blueprint, views_code, forms_code, templates_path):
    """
    create blueprint
    """
    blueprint_path = os.path.join(app_path, blueprint)
    _mkdir_p(blueprint_path)
    # create  blueprint files
    os.chdir(blueprint_path)
    init_code('__init__.py', _init_blueprint_code % (blueprint, blueprint))
    init_code('views.py', views_code)
    init_code('forms.py', forms_code)
    # main blueprint templates
    os.chdir(templates_path)
    blueprint_templates_path = os.path.join(templates_path, blueprint)
    _mkdir_p(blueprint_templates_path)

    return blueprint_templates_path
Example #12
0
def create_blueprint(app_path, blueprint, views_code, forms_code, templates_path):
    """
    create blueprint
    """
    blueprint_path = os.path.join(app_path, blueprint)
    _mkdir_p(blueprint_path)
    # create  blueprint files
    os.chdir(blueprint_path)
    init_code('__init__.py', _init_blueprint_code % (blueprint, blueprint))
    init_code('views.py', views_code)
    init_code('forms.py', forms_code)
    # main blueprint templates
    os.chdir(templates_path)
    blueprint_templates_path = os.path.join(templates_path, blueprint)
    _mkdir_p(blueprint_templates_path)

    return blueprint_templates_path
Example #13
0
File: mana.py Project: zxc0328/mana
def blueprint(blueprint_name):
    """
    mana blueprint <blueprint_name>
    """

    # destination path
    dst_path = os.path.join(os.getcwd(), blueprint_name)

    # dst path exist
    if os.path.isdir(dst_path):
        logger.warning("path: %s exist,\nplease change the project name\n \
                and try again!" % dst_path)
        return

    # create dst_path
    _mkdir_p(dst_path)

    # change dir
    os.chdir(dst_path)
    # create files
    init_code('__init__.py', _init_blueprint_code % (blueprint_name, blueprint_name))
    init_code('views.py', _views_blueprint_code % (blueprint_name, blueprint_name))
    init_code('forms.py', _forms_basic_code)

    # register auth in app
    os.chdir(os.path.join(dst_path, '..'))
    with open('__init__.py', 'r+') as f:
        prev = pos = 0
        while f.readline():
            prev, pos = pos, f.tell()
        f.seek(prev)
        f.write(
            '\nfrom %s import %s\napp.register_blueprint(%s, url_prefix="/%s")\n\n'
            % (
                blueprint_name, blueprint_name,
                blueprint_name, blueprint_name
            )
        )

    # create blueprint templates
    templates_path = os.path.join(os.getcwd(), 'templates')
    os.chdir(templates_path)
    blueprint_templates_path = os.path.join(templates_path, blueprint_name)
    _mkdir_p(blueprint_templates_path)

    logger.info("init flask blueprint <%s> done! " % blueprint_name)
Example #14
0
def create_templates_static_files(app_path):
    """
    create templates and static
    """
    templates_path = os.path.join(app_path, 'templates')
    static_path = os.path.join(app_path, 'static')
    _mkdir_p(templates_path)
    _mkdir_p(static_path)
    # create {img, css, js}
    os.chdir(static_path)
    img_path = os.path.join(static_path, 'img')
    css_path = os.path.join(static_path, 'css')
    js_path = os.path.join(static_path, 'js')
    _mkdir_p(img_path)
    _mkdir_p(css_path)
    _mkdir_p(js_path)

    return css_path, templates_path
Example #15
0
def create_templates_static_files(app_path):
    """
    create templates and static
    """
    templates_path = os.path.join(app_path, 'templates')
    static_path = os.path.join(app_path, 'static')
    _mkdir_p(templates_path)
    _mkdir_p(static_path)
    # create {img, css, js}
    os.chdir(static_path)
    img_path = os.path.join(static_path, 'img')
    css_path = os.path.join(static_path, 'css')
    js_path = os.path.join(static_path, 'js')
    _mkdir_p(img_path)
    _mkdir_p(css_path)
    _mkdir_p(js_path)

    return css_path, templates_path
Example #16
0
def blueprint(blueprint_name):
    """
    mana blueprint <blueprint_name>
    """

    # destination path
    dst_path = os.path.join(os.getcwd(), blueprint_name)

    # dst path exist
    if os.path.isdir(dst_path):
        logger.warning("path: %s exist,\nplease change the project name\n \
                and try again!" % dst_path)
        return

    # create dst_path
    _mkdir_p(dst_path)

    # change dir
    os.chdir(dst_path)
    # create files
    init_code('__init__.py',
              _init_blueprint_code % (blueprint_name, blueprint_name))
    init_code('views.py',
              _views_blueprint_code % (blueprint_name, blueprint_name))
    init_code('forms.py', _forms_basic_code)

    # register auth in app
    os.chdir(os.path.join(dst_path, '..'))
    with open('__init__.py', 'r+') as f:
        prev = pos = 0
        while f.readline():
            prev, pos = pos, f.tell()
        f.seek(prev)
        f.write(
            '\nfrom %s import %s\napp.register_blueprint(%s, url_prefix="/%s")\n\n'
            % (blueprint_name, blueprint_name, blueprint_name, blueprint_name))

    # create blueprint templates
    templates_path = os.path.join(os.getcwd(), 'templates')
    os.chdir(templates_path)
    blueprint_templates_path = os.path.join(templates_path, blueprint_name)
    _mkdir_p(blueprint_templates_path)

    logger.info("init flask blueprint <%s> done! " % blueprint_name)
Example #17
0
File: cat.py Project: neo1218/cat
def init():
    """
    ca init: generate a cat blog
    """
    project_path = os.path.join(os.getcwd(), 'blog')

    start_init(project_path)
    _mkdir_p(project_path)

    # init server
    os.chdir(project_path)
    init_code('blog.py', init_blog_code)
    init_code('config.py', init_config_code)

    # init pages
    pages_path = os.path.join(project_path, 'pages')
    _mkdir_p(pages_path)
    os.chdir(pages_path)
    init_code('hello-cat.md', init_hello_code)

    # init src
    src_path = os.path.join(project_path, 'src')
    _mkdir_p(src_path)

    # init theme(default theme is cat)
    theme_path = os.path.join(project_path, 'theme')
    _mkdir_p(theme_path)
    os.chdir(theme_path)
    # clone theme(default is cat)
    os.popen('git clone https://github.com/neo1218/cat-theme-cat.git cat')
    cat_path = os.path.join(theme_path, 'cat')
    templates_path = os.path.join(cat_path, 'templates')
    static_path = os.path.join(cat_path, 'static')
    templates_target_path = os.path.join(project_path, 'templates')
    static_target_path = os.path.join(project_path, 'static')
    # copy tree
    shutil.copytree(templates_path, templates_target_path)
    shutil.copytree(static_path, static_target_path)

    init_done()
Example #18
0
def startproject(project_name):
    """
    build a full status project
    """
    # the destination path
    dst_path = os.path.join(os.getcwd(), project_name)
    start_init_info(dst_path)

    # create dst path
    _mkdir_p(dst_path)

    # create project tree
    os.chdir(dst_path)
    # create files
    init_code('manage.py', _manage_admin_code)
    init_code('requirement.txt', _requirement_admin_code)
    init_code('config.py', _config_sql_code)

    # create app/
    app_path = os.path.join(dst_path, 'app')
    _mkdir_p(app_path)

    # create files
    os.chdir(app_path)
    init_code('models.py', _models_admin_code)
    init_code('__init__.py', _init_admin_code)

    # create templates and static
    css_path, templates_path = create_templates_static_files(app_path)
    # create css files
    os.chdir(css_path)
    init_code('sign.css', _auth_login_css_code)

    # create main blueprint
    create_blueprint(app_path, 'main',
                     _views_blueprint_code % ('main', 'main'),
                     _forms_basic_code, templates_path)

    # create auth blueprint
    auth_templates_path = create_blueprint(app_path, 'auth', _auth_views_code,
                                           _auth_forms_code, templates_path)
    # create auth templates files
    os.chdir(auth_templates_path)
    init_code('login.html', _auth_login_html_code)

    # create admin site
    admin_path = os.path.join(app_path, 'admin')
    _mkdir_p(admin_path)

    # create admin files
    os.chdir(admin_path)
    init_code('__init__.py', '')
    init_code('views.py', _admin_views_code)

    # create admin templates
    os.chdir(templates_path)
    admin_templates_path = os.path.join(templates_path, 'admin')
    _mkdir_p(admin_templates_path)

    # create admin templates files
    os.chdir(admin_templates_path)
    init_code('index.html', _admin_index_html_code)
    init_code('logout.html', _admin_logout_html_code)

    init_done_info()
Example #19
0
def startproject(project_name):
    """
    mana startproject <project_name>
    """
    # the destination path
    dst_path = os.path.join(os.getcwd(), project_name)
    warning_path_exist(dst_path)

    # start init
    logger.info("[Info] start init your flask project!")

    # create dst path
    _mkdir_p(dst_path)

    # create project tree
    os.chdir(dst_path)
    # create files
    init_code('manage.py', _manage_admin_code)
    init_code('requirement.txt', _requirement_admin_code)
    init_code('config.py', _config_sql_code)

    # create app/
    app_path = os.path.join(dst_path, 'app')
    _mkdir_p(app_path)

    # create files
    os.chdir(app_path)
    init_code('models.py', _models_admin_code)
    init_code('__init__.py', _init_admin_code)

    # create templates and static
    css_path, templates_path = create_templates_static_files(app_path)
    # create css files
    os.chdir(css_path)
    init_code('sign.css', _auth_login_css_code)

    # create main blueprint
    create_blueprint(app_path, 'main',
                     _views_blueprint_code % ('main', 'main'),
                     _forms_basic_code, templates_path)

    # create auth blueprint
    auth_templates_path = create_blueprint(app_path, 'auth', _auth_views_code,
                                           _auth_forms_code, templates_path)
    # create auth templates files
    os.chdir(auth_templates_path)
    init_code('login.html', _auth_login_html_code)

    # create admin site
    admin_path = os.path.join(app_path, 'admin')
    _mkdir_p(admin_path)

    # create admin files
    os.chdir(admin_path)
    init_code('__init__.py', '')
    init_code('views.py', _admin_views_code)

    # create admin templates
    os.chdir(templates_path)
    admin_templates_path = os.path.join(templates_path, 'admin')
    _mkdir_p(admin_templates_path)

    # create admin templates files
    os.chdir(admin_templates_path)
    init_code('index.html', _admin_index_html_code)
    init_code('logout.html', _admin_logout_html_code)

    logger.info("[Info] init flask project <%s> done! " % project_name)
Example #20
0
File: mana.py Project: zxc0328/mana
def init(project_name):
    """
    mana init <project_name>
    """

    # the destination path
    dst_path = os.path.join(os.getcwd(), project_name)

    # dst path exist
    if os.path.isdir(dst_path):
        logger.warning("path: %s exist,\nplease change the project name\n \
                and try again!" % dst_path)
        return

    # start init
    logger.info("start init your flask project!")

    # create dst path
    _mkdir_p(dst_path)

    # create project tree
    os.chdir(dst_path)

    # create files
    init_code('manage.py', _manage_basic_code)
    init_code('requirement.txt', _requirement_code)

    # create app/
    app_path = os.path.join(dst_path, 'app')
    _mkdir_p(app_path)

    os.chdir(app_path)
    # create files
    init_code('views.py', _views_basic_code)
    init_code('forms.py', _forms_basic_code)
    init_code('__init__.py', _init_basic_code)

    # create templates and static
    templates_path = os.path.join(app_path, 'templates')
    static_path = os.path.join(app_path, 'static')
    _mkdir_p(templates_path)
    _mkdir_p(static_path)

    # create {img, css, js}
    os.chdir(static_path)
    img_path = os.path.join(static_path, 'img')
    css_path = os.path.join(static_path, 'css')
    js_path = os.path.join(static_path, 'js')
    _mkdir_p(img_path)
    _mkdir_p(css_path)
    _mkdir_p(js_path)

    logger.info("init flask project <%s> done! " % project_name)
Example #21
0
def startproject(project_name):
    """
    mana startproject <project_name>
    """

    # the destination path
    dst_path = os.path.join(os.getcwd(), project_name)

    # dst path exist
    if os.path.isdir(dst_path):
        logger.warning("path: %s exist,\nplease change the project name\n \
                and try again!" % dst_path)
        return

    # start init
    logger.info("start init your flask project!")

    # create dst path
    _mkdir_p(dst_path)

    # create project tree
    os.chdir(dst_path)
    # create files
    init_code('manage.py', _manage_admin_code)
    init_code('requirement.txt', _requirement_admin_code)
    init_code('config.py', _config_sql_code)

    # create app/
    app_path = os.path.join(dst_path, 'app')
    _mkdir_p(app_path)

    # create files
    os.chdir(app_path)
    init_code('models.py', _models_admin_code)
    init_code('__init__.py', _init_admin_code)

    # create templates and static
    templates_path = os.path.join(app_path, 'templates')
    static_path = os.path.join(app_path, 'static')
    _mkdir_p(templates_path)
    _mkdir_p(static_path)

    # create {img, css, js}
    os.chdir(static_path)
    img_path = os.path.join(static_path, 'img')
    css_path = os.path.join(static_path, 'css')
    js_path = os.path.join(static_path, 'js')
    _mkdir_p(img_path)
    _mkdir_p(css_path)
    _mkdir_p(js_path)

    # create css files
    os.chdir(css_path)
    init_code('sign.css', _auth_login_css_code)

    # create main blueprint
    main_path = os.path.join(app_path, 'main')
    _mkdir_p(main_path)

    # create main files
    os.chdir(main_path)
    init_code('__init__.py', _init_blueprint_code % ('main', 'main'))
    init_code('views.py', _views_blueprint_code % ('main', 'main'))
    init_code('forms.py', _forms_basic_code)

    # main blueprint templates
    os.chdir(templates_path)
    main_templates_path = os.path.join(templates_path, 'main')
    _mkdir_p(main_templates_path)

    # create auth blueprint
    auth_path = os.path.join(app_path, 'auth')
    _mkdir_p(auth_path)

    # create auth files
    os.chdir(auth_path)
    init_code('__init__.py', _init_blueprint_code % ('auth', 'auth'))
    init_code('views.py', _auth_views_code)
    init_code('forms.py', _auth_forms_code)

    # auth blueprint templates
    os.chdir(templates_path)
    auth_templates_path = os.path.join(templates_path, 'auth')
    _mkdir_p(auth_templates_path)

    # create auth templates files
    os.chdir(auth_templates_path)
    init_code('login.html', _auth_login_html_code)

    # create admin site
    admin_path = os.path.join(app_path, 'admin')
    _mkdir_p(admin_path)

    # create admin files
    os.chdir(admin_path)
    init_code('__init__.py', '')
    init_code('views.py', _admin_views_code)

    # create admin templates
    os.chdir(templates_path)
    admin_templates_path = os.path.join(templates_path, 'admin')
    _mkdir_p(admin_templates_path)

    # create admin templates files
    os.chdir(admin_templates_path)
    init_code('index.html', _admin_index_html_code)
    init_code('logout.html', _admin_logout_html_code)

    logger.info("init flask project <%s> done! " % project_name)
Example #22
0
def startproject(project_name):
    """
    mana startproject <project_name>
    """
    # the destination path
    dst_path = os.path.join(os.getcwd(), project_name)
    start_init_info(dst_path)

    # create dst path
    _mkdir_p(dst_path)

    # create project tree
    os.chdir(dst_path)
    # create files
    init_code('manage.py', _manage_admin_code)
    init_code('requirement.txt', _requirement_admin_code)
    init_code('config.py', _config_sql_code)

    # create app/
    app_path = os.path.join(dst_path, 'app')
    _mkdir_p(app_path)

    # create files
    os.chdir(app_path)
    init_code('models.py', _models_admin_code)
    init_code('__init__.py', _init_admin_code)

    # create templates and static
    css_path, templates_path = create_templates_static_files(app_path)
    # create css files
    os.chdir(css_path)
    init_code('sign.css', _auth_login_css_code)

    # create main blueprint
    create_blueprint(
        app_path,
        'main',
        _views_blueprint_code % ('main', 'main'),
        _forms_basic_code,
        templates_path
    )

    # create auth blueprint
    auth_templates_path = create_blueprint(
        app_path,
        'auth',
        _auth_views_code,
        _auth_forms_code,
        templates_path
    )
    # create auth templates files
    os.chdir(auth_templates_path)
    init_code('login.html', _auth_login_html_code)

    # create admin site
    admin_path = os.path.join(app_path, 'admin')
    _mkdir_p(admin_path)

    # create admin files
    os.chdir(admin_path)
    init_code('__init__.py', '')
    init_code('views.py', _admin_views_code)

    # create admin templates
    os.chdir(templates_path)
    admin_templates_path = os.path.join(templates_path, 'admin')
    _mkdir_p(admin_templates_path)

    # create admin templates files
    os.chdir(admin_templates_path)
    init_code('index.html', _admin_index_html_code)
    init_code('logout.html', _admin_logout_html_code)

    init_done_info()
Example #23
0
def init(project_name):
    """
    mana init <project_name>
    """

    # the destination path
    dst_path = os.path.join(os.getcwd(), project_name)

    # dst path exist
    if os.path.isdir(dst_path):
        logger.warning("path: %s exist,\nplease change the project name\n \
                and try again!" % dst_path)
        return

    # start init
    logger.info("start init your flask project!")

    # create dst path
    _mkdir_p(dst_path)

    # create project tree
    os.chdir(dst_path)

    # create files
    init_code('manage.py', _manage_basic_code)
    init_code('requirement.txt', _requirement_code)

    # create app/
    app_path = os.path.join(dst_path, 'app')
    _mkdir_p(app_path)

    os.chdir(app_path)
    # create files
    init_code('views.py', _views_basic_code)
    init_code('forms.py', _forms_basic_code)
    init_code('__init__.py', _init_basic_code)

    # create templates and static
    templates_path = os.path.join(app_path, 'templates')
    static_path = os.path.join(app_path, 'static')
    _mkdir_p(templates_path)
    _mkdir_p(static_path)

    # create {img, css, js}
    os.chdir(static_path)
    img_path = os.path.join(static_path, 'img')
    css_path = os.path.join(static_path, 'css')
    js_path = os.path.join(static_path, 'js')
    _mkdir_p(img_path)
    _mkdir_p(css_path)
    _mkdir_p(js_path)

    logger.info("init flask project <%s> done! " % project_name)
Example #24
0
File: mana.py Project: zxc0328/mana
def startproject(project_name):
    """
    mana startproject <project_name>
    """

    # the destination path
    dst_path = os.path.join(os.getcwd(), project_name)

    # dst path exist
    if os.path.isdir(dst_path):
        logger.warning("path: %s exist,\nplease change the project name\n \
                and try again!" % dst_path)
        return

    # start init
    logger.info("start init your flask project!")

    # create dst path
    _mkdir_p(dst_path)

    # create project tree
    os.chdir(dst_path)
    # create files
    init_code('manage.py', _manage_admin_code)
    init_code('requirement.txt', _requirement_admin_code)
    init_code('config.py', _config_sql_code)

    # create app/
    app_path = os.path.join(dst_path, 'app')
    _mkdir_p(app_path)

    # create files
    os.chdir(app_path)
    init_code('models.py', _models_admin_code)
    init_code('__init__.py', _init_admin_code)

    # create templates and static
    templates_path = os.path.join(app_path, 'templates')
    static_path = os.path.join(app_path, 'static')
    _mkdir_p(templates_path)
    _mkdir_p(static_path)

    # create {img, css, js}
    os.chdir(static_path)
    img_path = os.path.join(static_path, 'img')
    css_path = os.path.join(static_path, 'css')
    js_path = os.path.join(static_path, 'js')
    _mkdir_p(img_path)
    _mkdir_p(css_path)
    _mkdir_p(js_path)

    # create css files
    os.chdir(css_path)
    init_code('sign.css', _auth_login_css_code)

    # create main blueprint
    main_path = os.path.join(app_path, 'main')
    _mkdir_p(main_path)

    # create main files
    os.chdir(main_path)
    init_code('__init__.py', _init_blueprint_code % ('main', 'main'))
    init_code('views.py', _views_blueprint_code % ('main', 'main'))
    init_code('forms.py', _forms_basic_code)

    # main blueprint templates
    os.chdir(templates_path)
    main_templates_path = os.path.join(templates_path, 'main')
    _mkdir_p(main_templates_path)

    # create auth blueprint
    auth_path = os.path.join(app_path, 'auth')
    _mkdir_p(auth_path)

    # create auth files
    os.chdir(auth_path)
    init_code('__init__.py', _init_blueprint_code % ('auth', 'auth'))
    init_code('views.py', _auth_views_code)
    init_code('forms.py', _auth_forms_code)

    # auth blueprint templates
    os.chdir(templates_path)
    auth_templates_path = os.path.join(templates_path, 'auth')
    _mkdir_p(auth_templates_path)

    # create auth templates files
    os.chdir(auth_templates_path)
    init_code('login.html', _auth_login_html_code)

    # create admin site
    admin_path = os.path.join(app_path, 'admin')
    _mkdir_p(admin_path)

    # create admin files
    os.chdir(admin_path)
    init_code('__init__.py', '')
    init_code('views.py', _admin_views_code)

    # create admin templates
    os.chdir(templates_path)
    admin_templates_path = os.path.join(templates_path, 'admin')
    _mkdir_p(admin_templates_path)

    # create admin templates files
    os.chdir(admin_templates_path)
    init_code('index.html', _admin_index_html_code)
    init_code('logout.html', _admin_logout_html_code)

    logger.info("init flask project <%s> done! " % project_name)