def compile_less(infile, outfile, verbosity=0): command = '%s %s %s > %s' % (BINARY, ARGUMENTS, compress_root(infile), compress_root(outfile)) if verbosity >= 1: print command command_output = os.popen(command).read() return
def render(self, context): js_name = self.resolve_name(context) try: js = settings.COMPRESS_JS[js_name] except KeyError: return '' # fail silently, do not return anything if an invalid group is specified if 'external_urls' in js: r = '' for url in js['external_urls']: r += render_js(js, url) return r if settings.COMPRESS: version = None if settings.COMPRESS_AUTO: u, version = needs_update(js['output_filename'], js['source_filenames']) if u: filter_js(js) elif not js.get('extra_context', {}).get('prefix', None): filename_base, filename = os.path.split(js['output_filename']) path_name = compress_root(filename_base) version = get_version_from_file(path_name, filename) return render_js(js, js['output_filename'], version) else: # output source files r = '' for source_file in js['source_filenames']: r += render_js(js, source_file) return r
def render(self, context): css_name = template.Variable(self.name).resolve(context) try: css = settings.COMPRESS_CSS[css_name] except KeyError: return '' # fail silently, do not return anything if an invalid group is specified if settings.COMPRESS: version = None if settings.COMPRESS_AUTO: u, version = needs_update(css['output_filename'], css['source_filenames']) if u: filter_css(css) else: filename_base, filename = os.path.split(css['output_filename']) path_name = compress_root(filename_base) version = get_version_from_file(path_name, filename) return render_css(css, css['output_filename'], version) else: # output source files r = '' for source_file in css['source_filenames']: r += render_css(css, source_file) return r
def render(self, context): js_name = template.Variable(self.name).resolve(context) try: js = settings.COMPRESS_JS[js_name] except KeyError: return '' # fail silently, do not return anything if an invalid group is specified if 'external_urls' in js: r = '' for url in js['external_urls']: r += render_js(js, url) return r if settings.COMPRESS: version = None if settings.COMPRESS_AUTO: u, version = needs_update(js['output_filename'], js['source_filenames']) if u: filter_js(js) else: filename_base, filename = os.path.split(js['output_filename']) path_name = compress_root(filename_base) version = get_version_from_file(path_name, filename) if settings.COMPRESS_VERSION else None return render_js(js, js['output_filename'], version) else: # output source files r = '' for source_file in js['source_filenames']: r += render_js(js, source_file) return r
def render(self, context): js_name = template.Variable(self.name).resolve(context) try: js = settings.COMPRESS_JS[js_name] except KeyError: return "" # fail silently, do not return anything if an invalid group is specified if "external_urls" in js: r = "" for url in js["external_urls"]: r += render_js(js, url) return r request = context["request"] if settings.COMPRESS: version = None if settings.COMPRESS_AUTO: u, version = needs_update(js["output_filename"], js["source_filenames"]) if u: filter_js(js) elif not js.get("extra_context", {}).get("prefix", None): filename_base, filename = os.path.split(js["output_filename"]) path_name = compress_root(filename_base) version = get_version_from_file(path_name, filename) return render_js(js, js["output_filename"], request, version) else: # output source files r = "" for source_file in js["source_filenames"]: r += render_js(js, source_file, request) return r
def get_version(self, source_files): # Return the modification time for the newest source file return str(max([int(os.stat(compress_root(f)).st_mtime) for f in source_files]))
def needs_update(self, output_file, source_files, version): output_file_name = get_output_filename(output_file, version) compressed_file_full = compress_root(output_file_name) return (int(os.stat(compressed_file_full).st_mtime) < int(version)), version