def loadManager(): from prymatex.support.manager import PMXSupportPythonManager def loadCallback(message): print message manager = PMXSupportPythonManager() manager.addNamespace('prymatex', os.path.abspath('../prymatex/share')) userPath = os.path.abspath(os.path.join(os.path.expanduser('~'), '.prymatex')) print userPath manager.addNamespace('user', userPath) manager.loadSupport(loadCallback) return manager
class SupportTests(unittest.TestCase): def setUp(self): self.manager = PMXSupportPythonManager() self.manager.addNamespace('prymatex', os.path.abspath('./prymatex/share')) self.manager.addNamespace('user', os.path.abspath(os.path.join(os.path.expanduser('~'), '.prymatex'))) def loadCallback(message): pass #print message self.manager.loadSupport(loadCallback) def test_bundleitems(self): for bundleitem in self.manager.getAllActionItems(): sourcePath = bundleitem.currentSourcePath() dataHash = self.manager.readPlist(sourcePath) if bundleitem.dump() != dataHash: print("En:", sourcePath) print("Entra:", dataHash) print("Sale:", bundleitem.dump()) def test_preferences(self): for preference in self.manager.getAllPreferences(): sourcePath = preference.currentSourcePath() dataHash = self.manager.readPlist(sourcePath) if preference.dump() != dataHash: print("En:", sourcePath) print("Entra:", dataHash) print("Sale:", preference.dump()) # self.assertEqual(preference.dump(), dataHash, 'Lo que sale no es igual a lo que entra') def test_snippet(self): for actionItem in self.manager.getAllActionItems(): if actionItem.TYPE == "snippet": print(actionItem.content) def test_syntax(self): syntax = self.manager.getSyntaxByScopeName('source.python') file = open(os.path.abspath('./prymatex/gui/codeeditor/editor.py'), 'r') processor = DebugSyntaxProcessor(showOutput = False, hashOutput = True) text = file.read() start = time() for _ in range(1): syntax.parse(text, processor) print("Time:", (time() - start)/1 ) print("Hash:", processor.hashValue ) file.close() def test_adhoc_snippet(self): snippet = 'def pepe(${3:self${2/([^,])?.*/(?1:, )/}${2:arg}}):\n\t${4/.+/"""/}${4:docstring for pepe}${4/.+/"""\n/}${4/.+/\t/}${0:pass}' bundle = self.manager.getBundleItem('659D189C-EC3E-4C4E-9377-B7F5F5216CBD').bundle snippet = self.manager.buildAdHocSnippet(snippet, bundle = bundle) processor = DebugSnippetProcessor() snippet.execute(processor) print(processor.text)
print theme.namespaces themes = manager.findThemes(name='Diego') theme = themes.pop() manager.updateTheme(theme, name="Cacho") def test_preferences(manager): pythonScope = "source.python" htmlScope = "text.html" preferences = manager.getPreferences(htmlScope) for p in preferences: print p.bundle.name, p.scope, p.settings.hash settings = manager.getPreferenceSettings(htmlScope) for name in settings.KEYS: print name, getattr(settings, name) def loadCallback(message): pass if __name__ == "__main__": from prymatex.support.manager import PMXSupportPythonManager manager = PMXSupportPythonManager() manager.addNamespace('prymatex', os.path.abspath('./prymatex/share')) manager.addNamespace( 'user', os.path.abspath(os.path.join(os.path.expanduser('~'), '.prymatex'))) manager.loadSupport(loadCallback) test_preferences(manager)
for template in manager.TEMPLATES: manager.updateBundleItem(template) def test_themes(manager): for theme in manager.getAllThemes(): print theme.namespaces themes = manager.findThemes( name = 'Diego') theme = themes.pop() manager.updateTheme(theme, name = "Cacho") def test_preferences(manager): pythonScope = "source.python" htmlScope = "text.html" preferences = manager.getPreferences(htmlScope) for p in preferences: print p.bundle.name, p.scope, p.settings.hash settings = manager.getPreferenceSettings(htmlScope) for name in settings.KEYS: print name, getattr(settings, name) def loadCallback(message): pass if __name__ == "__main__": from prymatex.support.manager import PMXSupportPythonManager manager = PMXSupportPythonManager() manager.addNamespace('prymatex', os.path.abspath('./prymatex/share')) manager.addNamespace('user', os.path.abspath(os.path.join(os.path.expanduser('~'), '.prymatex'))) manager.loadSupport(loadCallback) test_preferences(manager)