Example #1
0
    def handle(self, options, global_options, *args):
        from uliweb.utils.pyini import Ini
        from uliweb.utils.common import pkg
        from uliweb.contrib.template.tags import find
        from uliweb.contrib.staticfiles import url_for_static
        from uliweb import json_dumps

        if not options.dest and not options.app:
            print 'Error: Please use -d to specify output app'
            sys.exit(1)

        app = self.get_application(global_options)

        if options.app:
            settings_file = pkg.resource_filename(options.app, 'settings.ini')
            x = Ini(settings_file)

        else:
            x = app.settings

        if options.dest:
            filename = pkg.resource_filename(options.dest, '/static/jsmodules.js')
        else:
            filename = pkg.resource_filename(options.app, '/static/jsmodules.js')

        d = {}
        for name in x.get('TEMPLATE_USE', {}).keys():
            s = find(name)
            m = s[0] + s[1]
            d[name] = [url_for_static(i) for i in m if not i.startswith('<!--')]

        print 'jsmodules.js is saved in {} please check'.format(filename)
        with open(filename, 'wb') as f:
            f.write('var jsmodules = ')
            f.write(json_dumps(d))
Example #2
0
def init_static_combine():

    from uliweb import settings
    from hashlib import md5
    import os

    PLUGINS = settings.get_var("TEMPLATE_GULP")

    d = {}


    if settings.get_var('STATIC_COMBINE_CONFIG/enable', False):
        # for k, v in settings.get('STATIC_COMBINE', {}).items():
        #     key = '_cmb_' + md5(''.join(v)).hexdigest() + os.path.splitext(v[0])[1]
        #     d[key] = v
        from uliweb.contrib.template.tags import find
        for k, v in PLUGINS.items():
            js_list = []
            css_list = []
            for x in v:
                s = find(x)
                m = s[0] + s[1]
                for i in m:
                    if not i.startswith('<!--'):
                        e = os.path.splitext(i)[1]
                        if e == ".css":
                            css_list.append(i)
                        elif e == ".js":
                            js_list.append(i)
            if js_list:
                d[k+".js"] = js_list
            if css_list:
                d[k + ".css"] = css_list
    return d
Example #3
0
    def handle(self, options, global_options, *args):
        from uliweb.utils.pyini import Ini
        from uliweb.utils.common import pkg
        from uliweb.contrib.template.tags import find
        from uliweb.contrib.staticfiles import url_for_static
        from uliweb import json_dumps
        import ConfigParser

        if not options.dest and not options.app:
            print("Error: Please use -d to specify output app")
            sys.exit(1)

        app = self.get_application(global_options)

        from uliweb import settings

        if options.dest:
            module = options.dest
            filename = pkg.resource_filename(options.dest, 'gulp_settings.ini')
        else:
            module = options.app
            filename = pkg.resource_filename(options.app, 'gulp_settings.ini')

        with open(filename, 'wb') as f:
            template_gulp = settings.get("TEMPLATE_GULP",
                                         {})  # 导出settings中的gulp配置
            template_use_keys = settings.get(
                "TEMPLATE_USE", {}).keys()  # 导出settings中的plugins的名字
            for dist, items in template_gulp.items():
                # 有序遍历gulp的concat配置
                item_dist = dist
                for name in items:
                    if name in template_use_keys:
                        # 如果plugins中有该插件则在ini中写入该配置
                        s = find(name)
                        m = s[0] + s[1]
                        f.write("[template_use." + name + "]\r\n")
                        for i in m:
                            #if no_js then skip javascript files
                            if options.no_js and (i.startswith('<!--')
                                                  or i.endswith('.js')):
                                continue
                            if not i.startswith('<!--'):
                                f.write("toplinks[] = " +
                                        app.get_file(i, 'static') + "\r\n")
                        f.write("dist = " + item_dist + "\r\n")
                    f.write("\r\n")

        gulp_dist = pkg.resource_filename(module, '/static')
        gulp_settings = filename
        gulp_path = pkg.resource_filename("uliweb_ui", "")
        import os
        terminal_command = "cd " + gulp_path + " && gulp  --dist " + gulp_dist + " --settings " + gulp_settings
        print(">>> {}".format(terminal_command))
        os.system(terminal_command)
Example #4
0
    def handle(self, options, global_options, *args):
        from uliweb.utils.pyini import Ini
        from uliweb.utils.common import pkg
        from uliweb.contrib.template.tags import find
        from uliweb.contrib.staticfiles import url_for_static
        from uliweb import json_dumps
        import ConfigParser

        if not options.dest and not options.app:
            print "Error: Please use -d to specify output app"
            sys.exit(1)

        app = self.get_application(global_options)

        from uliweb import settings

        if options.dest:
            module = options.dest
            filename = pkg.resource_filename(options.dest, 'gulp_settings.ini')
        else:
            module = options.app
            filename = pkg.resource_filename(options.app, 'gulp_settings.ini')

        with open(filename, 'wb') as f:
            template_gulp = settings.get("TEMPLATE_GULP", {}) # 导出settings中的gulp配置
            template_use_keys = settings.get("TEMPLATE_USE", {}).keys() # 导出settings中的plugins的名字
            for dist,items in template_gulp.items():
                # 有序遍历gulp的concat配置
                item_dist = dist
                for name in items:
                    if name in template_use_keys:
                        # 如果plugins中有该插件则在ini中写入该配置
                        s = find(name)
                        m = s[0] + s[1]
                        f.write("[template_use." + name + "]\r\n")
                        for i in m:
                            if not i.startswith('<!--'):
                                f.write("toplinks[] = " + app.get_file(i, 'static') + "\r\n")
                        f.write("dist = " + item_dist + "\r\n")
                    f.write("\r\n")

        gulp_dist = pkg.resource_filename(module, '/static');
        gulp_settings = filename
        gulp_path = pkg.resource_filename("uliweb_ui","")
        import os
        terminal_command = "cd "+gulp_path+ " && gulp  --dist " + gulp_dist + " --settings " + gulp_settings
        print ">>> {}".format(terminal_command)
        os.system(terminal_command)
Example #5
0
    def handle(self, options, global_options, *args):
        from uliweb.utils.pyini import Ini
        from uliweb.utils.common import pkg
        from uliweb.contrib.template.tags import find
        from uliweb.contrib.staticfiles import url_for_static
        from uliweb import json_dumps

        if not options.dest and not options.app:
            print('Error: Please use -d to specify output app')
            sys.exit(1)

        app = self.get_application(global_options)

        if options.app:
            settings_file = pkg.resource_filename(options.app, 'settings.ini')
            x = Ini(settings_file)

        else:
            x = app.settings

        if options.dest:
            filename = pkg.resource_filename(options.dest,
                                             '/static/jsmodules.js')
        else:
            filename = pkg.resource_filename(options.app,
                                             '/static/jsmodules.js')

        d = {}
        for name in x.get('TEMPLATE_USE', {}).keys():
            s = find(name)
            m = s[0] + s[1]
            d[name] = [
                url_for_static(i) for i in m if not i.startswith('<!--')
            ]

        print('jsmodules.js is saved in {} please check'.format(filename))
        with open(filename, 'wb') as f:
            f.write('var jsmodules = ')
            f.write(json_dumps(d))
Example #6
0
def init_static_combine():

    from uliweb import settings
    from hashlib import md5
    import os

    PLUGINS = settings.get_var("TEMPLATE_GULP")

    d = {}

    if settings.get_var('STATIC_COMBINE_CONFIG/enable', False):
        include_js = settings.get_var('STATIC_COMBINE_CONFIG/include_js',
                                      False)
        # for k, v in settings.get('STATIC_COMBINE', {}).items():
        #     key = '_cmb_' + md5(''.join(v)).hexdigest() + os.path.splitext(v[0])[1]
        #     d[key] = v
        from uliweb.contrib.template.tags import find
        for k, v in PLUGINS.items():
            js_list = []
            css_list = []
            for x in v:
                s = find(x)
                m = s[0] + s[1]
                for i in m:
                    if not include_js and (i.startswith('<!--')
                                           or i.endswith('.js')):
                        continue
                    if not i.startswith('<!--'):
                        e = os.path.splitext(i)[1]
                        if e == ".css":
                            css_list.append(i)
                        elif e == ".js":
                            js_list.append(i)
            if js_list:
                d[k + ".js"] = js_list
            if css_list:
                d[k + ".css"] = css_list
    return d