def Init(self,uScriptName,oFnScript=None): """ Initializes the script """ self.bIsInit = True self.uScriptName = uScriptName if oFnScript is None: oFnScriptPy = cFileName(Globals.oScripts.dScriptPathList[self.uScriptName]) + u'script.py' oFnScript = cFileName(oFnScriptPy) self.oFnScript = cFileName(oFnScript) self.oPathMyCode = Globals.oScripts.dScriptPathList[self.uScriptName] self.oPathMy = Globals.oDefinitionPathes.oPathDefinitionScriptSettings+self.uScriptName self.oResultParser = cScriptResultParser(self) self.oFnAction = cFileName(self.oPathMyCode+"actions")+"customactions.xml" if not self.oPathMy.Exists(): self.oPathMy.Create() self.oScriptConfig = cScriptConfig(self) self.oScriptConfig.Init() Globals.oLanguage.LoadXmlFile("SCRIPT", uScriptName) self.oFnConfig = cFileName(self.oPathMy) +'config.ini' oRepManagerEntry=cRepManagerEntry(oFnScript) if oRepManagerEntry.ParseFromSourceFile(): self.iMyVersion = oRepManagerEntry.oRepEntry.iVersion self.iOrcaVersion = oRepManagerEntry.oRepEntry.iMinOrcaVersion Globals.oNotifications.RegisterNotification("on_stopapp",self.DeInit,"Script:"+self.uScriptName) Globals.oNotifications.RegisterNotification("on_pause",self.OnPause,"Script:"+self.uScriptName) Globals.oNotifications.RegisterNotification("on_resume",self.OnResume,"Script:"+self.uScriptName) self.ShowDebug(u'Init')
def ParseSettings(self): """ Parses the settings for a definition """ self.oRepManEntry = cRepManagerEntry("") self.oRepManEntry.ParseFromXML(self.oET_Root) self.uDefDescription = self.oRepManEntry.oRepEntry.uName self.uDefPublicTitle = self.uDefDescription if self.uAlias != "" and self.uAlias != self.uName: self.uDefPublicTitle = "%s [%s]" % (self.uAlias, self.uDefPublicTitle) if self.bImportSettings: self.ParseXMLSettings() return
def ScanDefinitionNames(): """ Parses the Definition description to give definition names """ if len(this.dDefinitionReps) == 0: for uDefinitionName in Globals.aDefinitionList: if Globals.dDefinitionPathes.get(uDefinitionName) is None: oDefinitionPathes = cDefinitionPathes(uDefinitionName) Globals.dDefinitionPathes[uDefinitionName] = oDefinitionPathes oRepManagerEntry = cRepManagerEntry( Globals.dDefinitionPathes[uDefinitionName].oFnDefinition) if oRepManagerEntry.ParseFromXML(): this.dDefinitionReps[ uDefinitionName] = oRepManagerEntry.oRepEntry.uName
def GetSkins(self): """ Gets all skins reps """ del self.aFiles[:] del self.oRepManagerEntries[:] for uSkinName in Globals.aSkinList: oFn = cFileName().ImportFullPath( '%s/skins/%s/skin.xml' % (Globals.oPathRoot.string, uSkinName)) oRepManagerEntry = cRepManagerEntry(oFn) if oRepManagerEntry.ParseFromXML(): if not oRepManagerEntry.oRepEntry.bSkip: self.oRepManagerEntries.append(oRepManagerEntry) else: Logger.warning( 'Skin not ready for Repository Manager, skipped: ' + oFn) self.SaveRepositoryXML('skins', 'Orca Genuine Skins')
def GetScripts(self): """ Gets all scripts reps """ del self.aFiles[:] del self.oRepManagerEntries[:] for uScriptName in Globals.oScripts.dScriptPathList: oFn = cFileName( Globals.oScripts.dScriptPathList[uScriptName]) + 'script.py' oRepManagerEntry = cRepManagerEntry(oFn) if oRepManagerEntry.ParseFromSourceFile(): if not oRepManagerEntry.oRepEntry.bSkip: self.oRepManagerEntries.append(oRepManagerEntry) else: Logger.warning( 'Script not ready for Repository Manager, skipped: ' + oFn) self.SaveRepositoryXML('scripts', 'Orca Genuine Scripts')
def GetSounds(self): """ Gets all sounds reps """ del self.aFiles[:] del self.oRepManagerEntries[:] for uSound in Globals.oSound.aSoundsList: oFnSound = cFileName(Globals.oPathSoundsRoot + uSound) + "sounds.xml" oRepManagerEntry = cRepManagerEntry(oFnSound) if oRepManagerEntry.ParseFromXML(): if not oRepManagerEntry.oRepEntry.bSkip: self.oRepManagerEntries.append(oRepManagerEntry) else: Logger.warning( 'Soundset not ready for Repository Manager, skipped: ' + oFnSound) self.SaveRepositoryXML('sounds', 'Orca Genuine Sounds')
def GetFonts(self): """ Gets all others reps """ del self.aFiles[:] del self.oRepManagerEntries[:] aFontsFolders = Globals.oPathFonts.GetFolderList(bFullPath=True) for uFontFolder in aFontsFolders: oFnFontDefinition = cFileName(cPath(uFontFolder)) + "fonts.xml" oRepManagerEntry = cRepManagerEntry(oFnFontDefinition) if oRepManagerEntry.ParseFromXML(): if not oRepManagerEntry.oRepEntry.bSkip: self.oRepManagerEntries.append(oRepManagerEntry) else: Logger.warning( 'Font not ready for Repository Manager, skipped: ' + oFnFontDefinition) self.SaveRepositoryXML('fonts', 'Font Resources')
def GetInterfaces(self): """ Gets all interface reps """ del self.aFiles[:] del self.oRepManagerEntries[:] for uInterFaceName in Globals.oInterFaces.oInterfaceList: oFn = cFileName().ImportFullPath( '%s/interfaces/%s/interface.py' % (Globals.oPathRoot.string, uInterFaceName)) oRepManagerEntry = cRepManagerEntry(oFn) if oRepManagerEntry.ParseFromSourceFile(): if not oRepManagerEntry.oRepEntry.bSkip: self.oRepManagerEntries.append(oRepManagerEntry) else: Logger.warning( 'Interface not ready for Repository Manager, skipped: ' + oFn) self.SaveRepositoryXML('interfaces', 'Orca Genuine Interfaces')
def GetLanguages(self): """ Gets all Language reps """ del self.aFiles[:] del self.oRepManagerEntries[:] for uLanguage in Globals.aLanguageList: oFn = cFileName().ImportFullPath( '%s/languages/%s/strings.xml' % (Globals.oPathRoot.string, uLanguage)) oRepManagerEntry = cRepManagerEntry(oFn) if oRepManagerEntry.ParseFromXML(): if not oRepManagerEntry.oRepEntry.bSkip: self.oRepManagerEntries.append(oRepManagerEntry) else: Logger.warning( 'Language not ready for Repository Manager, skipped: ' + oFn) self.SaveRepositoryXML('languages', 'Orca Genuine Language Files')
def GetDefinitions(self): """ Gets all definition reps """ del self.aFiles[:] del self.oRepManagerEntries[:] for uDefinitionName in Globals.aDefinitionList: oFnFile = cFileName().ImportFullPath( '%s/definitions/%s/definition.xml' % (Globals.oPathRoot.string, uDefinitionName)) oRepManagerEntry = cRepManagerEntry(oFnFile) if oRepManagerEntry.ParseFromXML(): if not oRepManagerEntry.oRepEntry.bSkip: self.oRepManagerEntries.append(oRepManagerEntry) else: Logger.warning( 'Definition not ready for Repository Manager, skipped: ' + oFnFile) self.SaveRepositoryXML('definitions', 'Orca Genuine Definitions')
def GetCodesets(self): """ Gets all codeset reps """ del self.aFiles[:] del self.oRepManagerEntries[:] self.aFiles = Globals.oPathCodesets.GetFileList(bSubDirs=True, bFullPath=True) for uFn in self.aFiles: if uFn.lower().endswith('.xml'): oRepManagerEntry = cRepManagerEntry(uFn) if oRepManagerEntry.ParseFromXML(): if not oRepManagerEntry.oRepEntry.bSkip: self.oRepManagerEntries.append(oRepManagerEntry) else: Logger.warning( 'Codeset not ready for Repository Manager, skipped: ' + uFn) self.SaveRepositoryXML('codesets', 'Orca Genuine Codesets')
def GetOthers(self): """ Gets all others reps """ del self.aFiles[:] del self.oRepManagerEntries[:] self.aFiles = ( self.oPathRepSource + 'repositories/orca-remote/repositories/others').GetFileList( bSubDirs=False, bFullPath=True) for uFn in self.aFiles: oRepManagerEntry = cRepManagerEntry(uFn) if oRepManagerEntry.ParseFromXML(): if not oRepManagerEntry.oRepEntry.bSkip: self.oRepManagerEntries.append(oRepManagerEntry) else: Logger.warning( 'Resource not ready for Repository Manager, skipped: ' + uFn) self.SaveRepositoryXML('others', 'Various ORCA resources')
def GetDefinitionFileNameByName(uDefinitionName): """ gets the definition file name if the definition description is available """ try: aDefinitionList = Globals.oPathDefinitionRoot.GetFolderList() for uDir in aDefinitionList: if not uDir == 'shared_documents': oFn = cFileName(Globals.oPathDefinitionRoot + uDir) + u"definition.xml" oRepManEntry = cRepManagerEntry(oFn) oRepManEntry.ParseFromXML() uDefName = oRepManEntry.oRepEntry.uName if uDefName == uDefinitionName: return uDir return '' except Exception as e: LogError( u'GetDefinitionFileNameByName: Error:Load Definition XmlFile:', e)
def Init(self, uInterFaceName, oFnInterFace=None): """ Initialisizes the Interface :param string uInterFaceName: unicode : Name of the interface :param cFileName oFnInterFace: The Filename of the interface """ self.bIsInit = True self.uInterFaceName = uInterFaceName if oFnInterFace is None: oFnInterFacePy = cFileName(Globals.oPathInterface + uInterFaceName) + u'interface.py' oFnInterFace = cFileName(oFnInterFacePy) self.oFnInterFace = cFileName(oFnInterFace) self.oPathMyCode = Globals.oPathInterface + self.uInterFaceName self.oPathMy = Globals.oDefinitionPathes.oPathDefinitionInterfaceSettings + self.uInterFaceName if not self.oPathMy.Exists(): self.oPathMy.Create() self.oInterFaceConfig = cInterFaceConfig(self) self.oInterFaceConfig.Init() self.oInterFaceConfigDiscover = cInterFaceConfigDiscover(self) self.oInterFaceConfigDiscover.Init() Globals.oLanguage.LoadXmlFile("INTERFACE", uInterFaceName) oRepManagerEntry = cRepManagerEntry(oFnInterFace) if oRepManagerEntry.ParseFromSourceFile(): self.iMyVersion = oRepManagerEntry.oRepEntry.iVersion self.iOrcaVersion = oRepManagerEntry.oRepEntry.iMinOrcaVersion #OrcaVersion defines for what Orca Version the Interface has been developed Globals.oNotifications.RegisterNotification( "on_stopapp", self.DeInit, "Interface:" + self.uInterFaceName) Globals.oNotifications.RegisterNotification( "on_pause", self.OnPause, "Interface:" + self.uInterFaceName) Globals.oNotifications.RegisterNotification( "on_resume", self.OnResume, "Interface:" + self.uInterFaceName) self.ShowDebug(u'Init')
def GetWizardTemplates(self): """ Gets all wizard reps """ del self.aFiles[:] del self.oRepManagerEntries[:] aDirs = (Globals.oPathRoot + u'wizard templates').GetFolderList() for uDirName in aDirs: aDirsSub = (Globals.oPathRoot + (u'wizard templates/' + uDirName)).GetFolderList() for uDirsSub in aDirsSub: oFn = cFileName(Globals.oPathRoot + (u'wizard templates/' + uDirName + "/" + uDirsSub)) + (uDirsSub + ".xml") oRepManagerEntry = cRepManagerEntry(oFn) if oRepManagerEntry.ParseFromXML(): if not oRepManagerEntry.oRepEntry.bSkip: self.oRepManagerEntries.append(oRepManagerEntry) else: Logger.warning( 'Wizard Template not ready for Repository Manager, skipped: ' + oFn) self.SaveRepositoryXML('wizard templates', 'Wizard Templates')