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())
Exemple #2
0
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)
Exemple #3
0
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')
Exemple #4
0
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')
Exemple #5
0
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)