Esempio n. 1
0
def compile_and_cache_js(js_dirs, cache_dir, add_settings=False, app_name=None):
    """
    Return the cache_name of the compiled file
    
    It has been compiled and written to a cache file
    """    
    js_files = []
    
    for js_dir in js_dirs:
        js_files += list_media_in_dirs("js", js_dir)    
    
    if not app_name:
        app_name = "js"
    
    timestamp = latest_timestamp(js_files)
    
    cache_name = generate_cache_name("js", timestamp, app_name)    
    cache_fullpath = os.path.join(cache_dir, cache_name)
    
    if not os.path.isfile(cache_fullpath):
        if dirs.remove_old_files():
            unlink_cache(cache_dir, "js", app_name)
            
        cache_file = open(cache_fullpath, "w")  
        js_contents = compile_files(js_files)
        
        if add_settings:
            js_contents = "%s\n%s" % (get_js_settings(), js_contents)
        
        cache_file.write(minify.jsmin(js_contents))
        cache_file.close()
    
    return cache_name
    def handle(self, *args, **options):
        """
        Create the settings file, write to the main JS directory
        """
        if len(args) > 0:
            filename = args[0]
        else:
            filename = defaults.JS_SETTINGS_FILENAME

        if not filename.endswith(".js"):
            filename = "%s.js" % filename

        js_dir = get_main_js_dir()
        js_settings = get_js_settings()

        settings_file = open(os.path.join(js_dir, filename), "w")
        settings_file.write(js_settings)
        settings_file.close()
 def handle(self, *args, **options):
     """
     Create the settings file, write to the main JS directory
     """
     if len(args) > 0:
         filename = args[0]
     else:
         filename = defaults.JS_SETTINGS_FILENAME
     
     if not filename.endswith(".js"):
         filename = "%s.js" % filename
     
     js_dir = get_main_js_dir()
     js_settings = get_js_settings()
     
     settings_file = open(os.path.join(js_dir, filename), "w")
     settings_file.write(js_settings)
     settings_file.close()