def compress_code(self): if self.cache_key: self.cached_data = cache.get(self.cache_key) if not self.cached_data: css_header = "/* Processing CSS compression {0} */".format(datetime.now()) # set the current css data to prevent processing from overlapping cache.set(self.cache_key, "\n".join([css_header, self.data]), 60) # execute the compression in a separate thread compressor_thread = CodeCompressorThreadFactory.create('css', self.cache_key, self.data, self.job_name) compressor_thread.start() else: return self.cached_data # return CSS as-is return self.data or ""
def test_factory_css(self): from staticcomp import CodeCompressorThreadFactory from staticcomp.compressor import CodeCompressorThread code_thread = CodeCompressorThreadFactory.create('css', 'key', '/* css data */', 'job') # ensure thread class is correct self.assertIsInstance(code_thread, CodeCompressorThread)