def test_scripts(): # Prepare pycode = 'foo = 42; print(foo)' pyname = os.path.join(tempfile.gettempdir(), 'flexx_test.py') open(pyname, 'wb').write(pycode.encode()) jsname = pyname[:-3] + '.js' # Convert - plain file (no module) script2js(pyname) # Check result jscode = open(jsname, 'rt', encoding='utf-8').read() assert 'foo = 42;' in jscode assert 'define(' not in jscode # Convert - module script2js(pyname, 'mymodule') # Check result jscode = open(jsname, 'rt', encoding='utf-8').read() assert 'foo = 42;' in jscode assert 'define(' in jscode assert 'module.exports' in jscode assert 'root.mymodule' in jscode # Convert - no module, explicit file script2js(pyname, None, jsname) # Check result jscode = open(jsname, 'rt', encoding='utf-8').read() assert 'foo = 42;' in jscode assert 'define(' not in jscode
def test_scripts(): # Prepare pycode = "foo = 42; print(foo)" pyname = os.path.join(tempfile.gettempdir(), "flexx_test.py") with open(pyname, "wb") as f: f.write(pycode.encode()) jsname = pyname[:-3] + ".js" # Convert - plain file (no module) script2js(pyname) # Check result jscode = open(jsname, "rt", encoding="utf-8").read() assert "foo = 42;" in jscode assert "define(" not in jscode # Convert - module script2js(pyname, "mymodule") # Check result jscode = open(jsname, "rt", encoding="utf-8").read() assert "foo = 42;" in jscode assert "define(" in jscode assert "module.exports" in jscode assert "root.mymodule" in jscode # Convert - no module, explicit file script2js(pyname, None, jsname) # Check result jscode = open(jsname, "rt", encoding="utf-8").read() assert "foo = 42;" in jscode assert "define(" not in jscode
def test_scripts(): # Prepare pycode = 'foo = 42; print(foo)' pyname = os.path.join(tempfile.gettempdir(), 'flexx_test.py') with open(pyname, 'wb') as f: f.write(pycode.encode()) jsname = pyname[:-3] + '.js' # Convert - plain file (no module) script2js(pyname) # Check result jscode = open(jsname, 'rt', encoding='utf-8').read() assert 'foo = 42;' in jscode assert 'define(' not in jscode # Convert - module script2js(pyname, 'mymodule') # Check result jscode = open(jsname, 'rt', encoding='utf-8').read() assert 'foo = 42;' in jscode assert 'define(' in jscode assert 'module.exports' in jscode assert 'root.mymodule' in jscode # Convert - no module, explicit file script2js(pyname, None, jsname) # Check result jscode = open(jsname, 'rt', encoding='utf-8').read() assert 'foo = 42;' in jscode assert 'define(' not in jscode
def test_scripts(): # Prepare pycode = 'foo = 42; print(foo)' f = tempfile.NamedTemporaryFile('wt', suffix='.py') f.file.write(pycode) f.file.flush() jsname = f.name[:-3] + '.js' # Convert - plain file (no module) script2js(f.name) # Check result jscode = open(jsname, 'rt').read() assert 'foo = 42;' in jscode assert 'define(' not in jscode # Convert - module script2js(f.name, 'mymodule') # Check result jscode = open(jsname, 'rt').read() assert 'foo = 42;' in jscode assert 'define(' in jscode assert 'module.exports' in jscode assert 'root.mymodule' in jscode # Convert - no module, explicit file script2js(f.name, None, jsname) # Check result jscode = open(jsname, 'rt').read() assert 'foo = 42;' in jscode assert 'define(' not in jscode
def test_scripts(): # Prepare pycode = 'foo = 42; print(foo)' pyname = os.path.join(tempfile.gettempdir(), 'flexx_test.py') with open(pyname, 'wb') as f: f.write(pycode.encode()) jsname = pyname[:-3] + '.js' # Convert - plain file (no module) script2js(pyname) # Check result jscode = open(jsname, 'rb').read().decode() assert 'foo = 42;' in jscode assert 'define(' not in jscode # Convert - module light script2js(pyname, 'mymodule') # Check result jscode = open(jsname, 'rb').read().decode() assert 'foo = 42;' in jscode assert 'define(' not in jscode # Convert - module UMD script2js(pyname, 'mymodule+') # at the moment, this is the undocumented API # Check result jscode = open(jsname, 'rb').read().decode() assert 'foo = 42;' in jscode assert 'define(' in jscode assert 'module.exports' in jscode assert 'root.mymodule' in jscode # Convert - no module, explicit file script2js(pyname, None, jsname) # Check result jscode = open(jsname, 'rb').read().decode() assert 'foo = 42;' in jscode assert 'define(' not in jscode
PyScript creates AMD modules that can be used in the browser, in nodejs, and in combination with browserify and related tools. """ # This import is ignored by PyScript, it allows using these variable # names without triggering pyflakes (a static Python source analysis tool). from flexx.pyscript import undefined, window # noqa class Foo: a_constant = 1, 2, 3 def ham(self, x): self.x = x def eggs(self, y): self.y = self.x * y hasattr(y, str) class Bar(Foo): def bla(self, z): print(z) if __name__ == '__main__': from flexx.pyscript import script2js script2js(__file__, 'mymodule')