def output(self, _in, out, **kw): content = _in.read() transformer = JSXTransformer() js = transformer.transform_string(content) out.write(self._moduleIntro()) out.write(js) out.write(self._moduleOutro())
class JSXCompiler(FilterBase): def __init__(self, content, attrs=None, filter_type=None, charset=None, filename=None): super(JSXCompiler, self).__init__(content, filter_type, filename) self.transformer = JSXTransformer() def input(self, **kwargs): if self.filename: return self.transformer.transform(self.filename) else: return self.transformer.transform_string(self.content)
def jsx(filename: str) -> Response: # Figure out what our update time is to namespace on jsxfile = os.path.join(static_location, filename) mtime = os.path.getmtime(jsxfile) namespace = f'{mtime}.{jsxfile}' jsx = g.cache.get(namespace) if jsx is None: with open(jsxfile, 'rb') as f: transformer = JSXTransformer() jsx = transformer.transform_string(f.read().decode('utf-8')) # Set the cache to one year, since we namespace on this file's update time g.cache.set(namespace, jsx, timeout=86400 * 365) return Response(jsx, mimetype='application/javascript')
def jsx(filename: str) -> Response: # Figure out what our update time is to namespace on jsxfile = os.path.join(static_location, filename) mtime = os.path.getmtime(jsxfile) namespace = '{}.{}'.format(mtime, jsxfile) jsx = g.cache.get(namespace) if jsx is None: transformer = JSXTransformer() f = open(jsxfile, 'r') jsx = transformer.transform_string(f.read()) f.close() # Set the cache to one year, since we namespace on this file's update time g.cache.set(namespace, jsx, timeout=86400 * 365) return Response(jsx, mimetype='application/javascript')
class JSXCompiler(FilterBase): def __init__(self, content, attrs=None, filter_type=None, charset=None, filename=None): super(JSXCompiler, self).__init__(content, filter_type, filename) self.transformer = JSXTransformer() def input(self, **kwargs): if self.filename: return self.transformer.transform(self.filename) else: return self.transformer.transform_string(self.content)
def input(self, **kwargs): if REACT_DEBUG: print("Process INPUT with :: {}".format(kwargs)) try: t = JSXTransformer() rtn_str = t.transform_string(self.content) except Exception as e: """ Given the way this can work for on the fly compression we'll print it out here and then raise the error; that way when using GUNICORN we can still see the error """ print("Unable to process JSX :: {}".format(e)) raise return rtn_str
def input(self, _in, out, **kw): content = _in.read() transformer = JSXTransformer() js = transformer.transform_string(content) out.write(js)
def input(self, _in, out, **kw): content = _in.read() transformer = JSXTransformer() js = transformer.transform_string(content) out.write(js)