コード例 #1
0
 def packageRemove(self):
     if 0 <= self.selectedPackageIndex < len(self.packagesConfig["packages"]):
         packageInfo = self.packagesConfig["packages"][self.selectedPackageIndex]
         self.removePackageInfo(packageInfo["name"], packageInfo["version"])
         self.packagesConfigChanged = True
         PackageManager.rebuildRemappings()
         self.loadTreeViews()
コード例 #2
0
 def packageRemove(self):
     if 0 <= self.selectedPackageIndex < len(self.packagesConfig["packages"]):
         packageInfo = self.packagesConfig["packages"][self.selectedPackageIndex]
         self.removePackageInfo(packageInfo["name"], packageInfo["version"])
         self.packagesConfigChanged = True
         PackageManager.rebuildRemappings(self.cntlr)
         self.loadTreeViews()
コード例 #3
0
 def packageReload(self):
     if 0 <= self.selectedPackageIndex < len(
             self.packagesConfig["packages"]):
         packageInfo = self.packagesConfig["packages"][
             self.selectedPackageIndex]
         url = packageInfo.get("URL")
         if url:
             packageInfo = PackageManager.packageInfo(
                 self.cntlr,
                 url,
                 reload=True,
                 packageManifestName=packageInfo.get("manifestName"))
             if packageInfo:
                 self.addPackageInfo(packageInfo)
                 PackageManager.rebuildRemappings(self.cntlr)
                 self.loadTreeViews()
                 self.cntlr.showStatus(_("{0} reloaded").format(
                     packageInfo.get("name")),
                                       clearAfter=5000)
             else:
                 messagebox.showwarning(
                     _("Package error"),
                     _("File or package cannot be reloaded: \n\n{0}"
                       ).format(url),
                     parent=self)
コード例 #4
0
 def addPackageInfo(self, packageInfo):
     name = packageInfo["name"]
     version = packageInfo["version"]
     self.removePackageInfo(name, version)  # remove any prior entry for this package
     self.packageNamesWithNewerFileDates.discard(name) # no longer has an update available
     self.packagesConfig["packages"].append(packageInfo)
     PackageManager.rebuildRemappings()
     self.packagesConfigChanged = True
コード例 #5
0
 def addPackageInfo(self, packageInfo):
     name = packageInfo["name"]
     version = packageInfo["version"]
     self.removePackageInfo(name, version)  # remove any prior entry for this package
     self.packageNamesWithNewerFileDates.discard(name) # no longer has an update available
     self.packagesConfig["packages"].append(packageInfo)
     PackageManager.rebuildRemappings(self.cntlr)
     self.packagesConfigChanged = True
コード例 #6
0
 def packageMoveDown(self):
     if 0 <= self.selectedPackageIndex < len(self.packagesConfig["packages"]) - 1:
         packages = self.packagesConfig["packages"]
         packageInfo = packages[self.selectedPackageIndex]
         del packages[self.selectedPackageIndex]
         packages.insert(self.selectedPackageIndex + 1, packageInfo)
         self.packagesConfigChanged = True
         PackageManager.rebuildRemappings()
         self.loadTreeViews()
コード例 #7
0
 def loadPackagesFromDir(self, directory):
     packages = glob.glob(os.path.join(directory, "*.zip"))
     for p in packages:
         pi = PackageManager.addPackage(self, p)
         if pi:
             self.addToLog("Package added", messageCode="info", file=pi.get("URL"))
         else:
             self.addToLog("Failed to load package", messageCode="error", file=p)
     PackageManager.rebuildRemappings(self)
コード例 #8
0
 def packageMoveDown(self):
     if 0 <= self.selectedPackageIndex < len(self.packagesConfig["packages"]) - 1:
         packages = self.packagesConfig["packages"]
         packageInfo = packages[self.selectedPackageIndex]
         del packages[self.selectedPackageIndex]
         packages.insert(self.selectedPackageIndex + 1, packageInfo)
         self.packagesConfigChanged = True
         PackageManager.rebuildRemappings(self.cntlr)
         self.loadTreeViews()
コード例 #9
0
 def packageEnable(self):
     if 0 <= self.selectedPackageIndex < len(self.packagesConfig["packages"]):
         packageInfo = self.packagesConfig["packages"][self.selectedPackageIndex]
         if self.packageEnableButton['text'] == self.ENABLE:
             packageInfo["status"] = "enabled"
             self.packageEnableButton['text'] = self.DISABLE
         elif self.packageEnableButton['text'] == self.DISABLE:
             packageInfo["status"] = "disabled"
             self.packageEnableButton['text'] = self.ENABLE
         self.packagesConfigChanged = True
         PackageManager.rebuildRemappings()
         self.loadTreeViews()
コード例 #10
0
 def enableDisableAll(self, doEnable):
     for iPkg in range(len(self.packagesConfig["packages"])):
         packageInfo = self.packagesConfig["packages"][iPkg]
         if doEnable:
             packageInfo["status"] = "enabled"
             self.packageEnableButton['text'] = self.DISABLE
         else:
             packageInfo["status"] = "disabled"
             self.packageEnableButton['text'] = self.ENABLE
     self.packagesConfigChanged = True
     PackageManager.rebuildRemappings(self.cntlr)
     self.loadTreeViews()
コード例 #11
0
 def packageEnable(self):
     if 0 <= self.selectedPackageIndex < len(self.packagesConfig["packages"]):
         packageInfo = self.packagesConfig["packages"][self.selectedPackageIndex]
         if self.packageEnableButton['text'] == self.ENABLE:
             packageInfo["status"] = "enabled"
             self.packageEnableButton['text'] = self.DISABLE
         elif self.packageEnableButton['text'] == self.DISABLE:
             packageInfo["status"] = "disabled"
             self.packageEnableButton['text'] = self.ENABLE
         self.packagesConfigChanged = True
         PackageManager.rebuildRemappings(self.cntlr)
         self.loadTreeViews()
コード例 #12
0
 def enableDisableAll(self, doEnable):
     for iPkg in range(len(self.packagesConfig["packages"])):
         packageInfo = self.packagesConfig["packages"][iPkg]
         if doEnable:
             packageInfo["status"] = "enabled"
             self.packageEnableButton['text'] = self.DISABLE
         else:
             packageInfo["status"] = "disabled"
             self.packageEnableButton['text'] = self.ENABLE
     self.packagesConfigChanged = True
     PackageManager.rebuildRemappings(self.cntlr)
     self.loadTreeViews()
コード例 #13
0
 def load(self,
          filesource,
          nextaction=None,
          taxonomyPackages=None,
          **kwargs):
     """Load an entry point modelDocument object(s), which in turn load documents they discover 
     (for the case of instance, taxonomies, and versioning reports), but defer loading instances 
     for test case and RSS feeds.  
     
     The modelXbrl that is loaded is 'stacked', by this class, so that any modelXbrl operations such as validate, 
     and close, operate on the most recently loaded modelXbrl, and compareDTSes operates on the two 
     most recently loaded modelXbrl's.
     
     :param filesource: may be a FileSource object, with the entry point selected, or string file name (or web URL). 
     :type filesource: FileSource or str
     :param nextAction: status line text string, if any, to show upon completion
     :type nextAction: str
     :param taxonomyPackages: array of URLs of taxonomy packages required for load operation
     """
     if taxonomyPackages:
         resetPackageMappings = False
         for pkgUrl in taxonomyPackages:
             if PackageManager.addPackage(self.cntlr, pkgUrl):
                 resetPackageMappings = True
         if resetPackageMappings:
             PackageManager.rebuildRemappings(self.cntlr)
     try:
         if filesource.url.startswith(
                 "urn:uuid:"):  # request for an open modelXbrl
             for modelXbrl in self.loadedModelXbrls:
                 if not modelXbrl.isClosed and modelXbrl.uuid == filesource.url:
                     return modelXbrl
             raise IOError(
                 _("Open file handle is not open: {0}").format(
                     filesource.url))
     except AttributeError:
         pass  # filesource may be a string, which has no url attribute
     self.filesource = filesource
     modelXbrl = None  # loaded modelXbrl
     for customLoader in pluginClassMethods("ModelManager.Load"):
         modelXbrl = customLoader(self, filesource)
         if modelXbrl is not None:
             break  # custom loader did the loading
     if modelXbrl is None:  # use default xbrl loader
         modelXbrl = ModelXbrl.load(self, filesource, nextaction, **kwargs)
     self.modelXbrl = modelXbrl
     self.loadedModelXbrls.append(self.modelXbrl)
     return self.modelXbrl
コード例 #14
0
 def packageReload(self):
     if 0 <= self.selectedPackageIndex < len(self.packagesConfig["packages"]):
         packageInfo = self.packagesConfig["packages"][self.selectedPackageIndex]
         url = packageInfo.get("URL")
         if url:
             packageInfo = PackageManager.packageInfo(url, reload=True, packageManifestName=packageInfo.get("manifestName"))
             if packageInfo:
                 self.addPackageInfo(packageInfo)
                 PackageManager.rebuildRemappings()
                 self.loadTreeViews()
                 self.cntlr.showStatus(_("{0} reloaded").format(packageInfo.get("name")), clearAfter=5000)
             else:
                 messagebox.showwarning(_("Package error"),
                                        _("File or package cannot be reloaded: \n\n{0}")
                                        .format(url),
                                        parent=self)