def compile(filenames, target): alljsx = '' for filename in filenames: lines = open(filename, 'r').readlines() for line in lines: alljsx += line from react import jsx transformer = jsx.JSXTransformer() js = transformer.transform_string(alljsx) open(target, 'w').write(js) print('all written')
def collectstatic(args): try: from react import jsx except ImportError: print('Please install PyReact package:') print(' >>> pip install PyReact') exit(1) transformer = jsx.JSXTransformer() for fn in next(os.walk('namuhub/static/jsx'))[2]: transformer.transform('namuhub/static/jsx/{}'.format(fn), js_path='namuhub/static/js/{}'.format(fn)) exit(0)
def render(self, context): transformer = jsx.JSXTransformer() output1 = self.nodelist1.render(context) output2B = self.nodelist2.render(context) milog.debug("Compilando JSX ") try: output2 = transformer.transform_string(output2B) except Exception as inst: milog.error("Error al compilar JSX %s", inst) output2 = 'alert("error JSX");' return "<script>(function(" + ",".join( self.includes) + "){ " + output1 + output2 + " })(" + ",".join( map(_cMc, self.includes)) + ");</script>"
def __init__(self, template, template_args, path): self.transformer = jsx.JSXTransformer() self.template = template self.args = template_args self.path = path
TITLE = "Flask/React/D3" scripts = [ "./bower_components/jquery/dist/jquery.min.js", "./bower_components/d3/d3.min.js", "./bower_components/require/build/require.min.js", "./bower_components/react/react.js", "./bower_components/react-bootstrap/react-bootstrap.min.js", ] css = [ "./bower_components/bootstrap/dist/css/bootstrap.min.css", "./css/main.css" ] transformer = jsx.JSXTransformer() jsx_input = "./static/scripts/jsx/" jsx_output = "./static/scripts/js/" for f in glob.glob(jsx_input + "*.js"): transformer.transform(f, js_path=jsx_output + f.split('/')[-1]) app = Flask(__name__) @app.route('/', methods=["GET"]) @app.route('/index', methods=["GET"]) def index(): _scripts = [ "./scripts/js/navbar.js", "./scripts/js/App.js", "./scripts/js/Chart.js", "./scripts/js/d3Chart.js",