def export_xml(cls): from mosaicode.system import System as System System() ports = System.get_ports() for port in ports: print "Exporting port " + port PortPersistence.save(ports[port])
class TestPortPersistence(TestCase): def setUp(self): """Do the test basic setup.""" self.portpersistence = PortPersistence() # ----------------------------------------------------------------------x def test_load(self): # TESTANDO COM NOME DE ARQUIVO = None file_name = "" self.assertIsNone(self.portpersistence.load(file_name)) # TESTANDO COM NOME DE ARQUIVO INEXISTENTE file_name = "/home/lucas/mosaicode/extensions/teste.py" self.assertIsNone(self.portpersistence.load(file_name)) # TESTANDO COM NOME DE ARQUIVO FALSO (INCOMPATÍVEL) file_name = "/home/lucas/mosaicode/extensions/a.py" self.assertIsNone(self.portpersistence.load(file_name)) # TESTANDO COM NOME DE ARQUIVO FALSO DE XML file_name = "/home/lucas/mosaicode/extensions/mosaicode.model.portmodel.xml" self.assertIsNone(self.portpersistence.load(file_name)) # TESTANDO COM ARQUIVO COM port.type = "" file_name = "/home/lucas/mosaicode/extensions/mosaicode.model.port_teste.xml" self.assertIsNone(self.portpersistence.load(file_name)) # TESTANDO COM NOME DE ARQUIVO VERDADEIRO file_name = "/home/lucas/mosaicode/extensions/ports/mosaicode.model.port.xml" self.assertIsNotNone(self.portpersistence.load(file_name)) # ----------------------------------------------------------------------x def test_save(self): port = Port() self.assertTrue(self.portpersistence.save(port)) port.type = "teste_portpersistence" self.assertTrue(self.portpersistence.save(port)) # NÃO TRABALHA COM None # port = None # self.assertFalse(self.portpersistence.save(port)) # ----------------------------------------------------------------------x def test_save_python(self): port = Port() self.assertTrue(self.portpersistence.save_python(port)) port.type = "teste_portpersistence" self.assertTrue(self.portpersistence.save_python(port))
def add_port(cls, port): # first, save it PortPersistence.save(port)
def add_port(cls, port): from mosaicode.system import System as System System() path = os.path.join(System.get_user_dir(), "extensions") path = os.path.join(path, port.language, "ports") PortPersistence.save(port, path)
def export_extensions(self): from mosaicode.system import System as System System() result = True folder = "extension-" + datetime.datetime.now().strftime("%Y-%m-%d") # Export ports ports = System.get_ports() for key in ports: path = System.get_user_dir() path = os.path.join(path, folder, ports[key].language, 'ports') result = result and PortPersistence.save(ports[key], path) # Export Blocks blocks = System.get_blocks() result = True for key in blocks: path = System.get_user_dir() path = os.path.join(path, folder, blocks[key].language, 'blocks', blocks[key].extension, blocks[key].group) result = result and BlockPersistence.save(blocks[key], path) # Export Code Templates code_templates = System.get_code_templates() result = True for key in code_templates: path = System.get_user_dir() path = os.path.join(path, folder, code_templates[key].language, 'codetemplates') result = result and CodeTemplatePersistence.save( code_templates[key], path) # Export examples path = System.get_user_dir() path = os.path.join(path, "extensions") examples = System.get_examples() for example in examples: relpath = os.path.relpath(example, path) path = System.get_user_dir() path = os.path.join(path, folder, relpath) os.makedirs(os.path.dirname(path), exist_ok=True) shutil.copy2(example, path) # Create a zip file to the extension path = System.get_user_dir() path = os.path.join(path, folder+".zip") zip_file = zipfile.ZipFile(path, 'w') path = System.get_user_dir() path = os.path.join(path, folder) for folderName, subfolders, filenames in os.walk(path): for filename in filenames: filePath = os.path.join(folderName, filename) #create complete filepath of file in directory # Add file to zip zip_file.write(filePath, os.path.relpath(filePath, path)) zip_file.close() path = System.get_user_dir() path = os.path.join(path, folder) shutil.rmtree(path) # create a publish file filename = "resource.txt" path = System.get_user_dir() path = os.path.join(path, filename) f = open(path, "w") f.write(folder + ".zip") f.close() if result: MessageDialog( "Success", "File " + folder + ".zip created successfully!", self.main_window).run() else: MessageDialog( "Error", "Could not export extension", self.main_window).run() return result
def add_port(cls, port): # first, save it PortPersistence.save(port) # Then add it to system from mosaicode.system import System System.ports[port.type] = port