def load(preferencesPath): prefXML = bDOM.link(preferencesPath) value = { 'exports': bDOM.extractTagTextByPath(prefXML, "exports"), 'dependencies': bDOM.extractTagTextByPath(prefXML, "dependencies"), 'scratch': bDOM.extractTagTextByPath(prefXML, "scratch"), 'domain': bDOM.extractTagTextByPath(prefXML, "domain"), 'author': bDOM.extractTagTextByPath(prefXML, "author"), 'email': bDOM.extractTagTextByPath(prefXML, "email"), 'company': bDOM.extractTagTextByPath(prefXML, "company"), 'untitled': bDOM.extractTagTextByPath(prefXML, "untitled"), 'base_url': bDOM.extractTagTextByPath(prefXML, "base_url"), } keyText = bDOM.extractTagTextByPath(prefXML, "key") if keyText: value['key'] = bRSA.Key(keyText) else: value['key'] = bRSA.Key(-512) # large enough to hash a sha512 bDOM.appendText(prefXML.documentElement, "\t") element = bDOM.appendElement(prefXML.documentElement, "key") bDOM.appendText(element, str(value['key'])) bDOM.appendText(prefXML.documentElement, "\n") prefFile = open(preferencesPath, 'w') prefXML.writexml(prefFile) prefFile.close() prefXML.unlink() return value
def load(preferencesPath): prefXML= bDOM.link(preferencesPath) value= { 'exports': bDOM.extractTagTextByPath(prefXML, "exports"), 'dependencies': bDOM.extractTagTextByPath(prefXML, "dependencies"), 'scratch': bDOM.extractTagTextByPath(prefXML, "scratch"), 'domain': bDOM.extractTagTextByPath(prefXML, "domain"), 'author': bDOM.extractTagTextByPath(prefXML, "author"), 'email': bDOM.extractTagTextByPath(prefXML, "email"), 'company': bDOM.extractTagTextByPath(prefXML, "company"), 'untitled': bDOM.extractTagTextByPath(prefXML, "untitled"), 'base_url': bDOM.extractTagTextByPath(prefXML, "base_url"), } keyText= bDOM.extractTagTextByPath(prefXML, "key") if keyText: value['key']= bRSA.Key(keyText) else: value['key']= bRSA.Key(-512) # large enough to hash a sha512 bDOM.appendText(prefXML.documentElement, "\t") element= bDOM.appendElement(prefXML.documentElement, "key") bDOM.appendText(element, str(value['key'])) bDOM.appendText(prefXML.documentElement, "\n") prefFile= open(preferencesPath, 'w') prefXML.writexml(prefFile) prefFile.close() prefXML.unlink() return value
def bumpVersion(self, bumpPhase= False): packageXML= bDOM.link(self.__path) version= bDOM.extractTagTextByPath(packageXML, 'version') if version != self.__contents['version']: print "WARNING: package version changed from ",self.__contents['version']," to ",version #print "version",version parts= bConstants.kVersionPattern.match(version) newVersion= parts.group(1)+"."+parts.group(2)+"." #print "newVersion",newVersion patchNumber= int(parts.group(3)) #print "patchNumber",patchNumber phase= parts.group(4) #print "phase",phase buildNumber= int(parts.group(5)) #print "buildNumber",buildNumber if bumpPhase and phase == bConstants.kBuildPhaseOrder[-1]: patchNumber+= 1 phase= bConstants.kBuildPhaseOrder[0] buildNumber= 0 elif bumpPhase and bConstants.kBuildPhaseOrder.find(phase) >= 0: phase= bConstants.kBuildPhaseOrder[bConstants.kBuildPhaseOrder.find(phase) + 1] buildNumber= 0 else: buildNumber+= 1 newVersion+= str(patchNumber)+phase+str(buildNumber) #print "newVersion",newVersion bDOM.setTagContentsByPath(packageXML, 'version', newVersion) #print "Updating ",self.__path packageFile= open(self.__path, 'w') packageXML.writexml(packageFile) packageFile.close() packageXML.unlink() self.__contents['version']= newVersion
def bumpVersion(self, bumpPhase=False): packageXML = bDOM.link(self.__path) version = bDOM.extractTagTextByPath(packageXML, 'version') if version != self.__contents['version']: print "WARNING: package version changed from ", self.__contents[ 'version'], " to ", version #print "version",version parts = bConstants.kVersionPattern.match(version) newVersion = parts.group(1) + "." + parts.group(2) + "." #print "newVersion",newVersion patchNumber = int(parts.group(3)) #print "patchNumber",patchNumber phase = parts.group(4) #print "phase",phase buildNumber = int(parts.group(5)) #print "buildNumber",buildNumber if bumpPhase and phase == bConstants.kBuildPhaseOrder[-1]: patchNumber += 1 phase = bConstants.kBuildPhaseOrder[0] buildNumber = 0 elif bumpPhase and bConstants.kBuildPhaseOrder.find(phase) >= 0: phase = bConstants.kBuildPhaseOrder[ bConstants.kBuildPhaseOrder.find(phase) + 1] buildNumber = 0 else: buildNumber += 1 newVersion += str(patchNumber) + phase + str(buildNumber) #print "newVersion",newVersion bDOM.setTagContentsByPath(packageXML, 'version', newVersion) #print "Updating ",self.__path packageFile = open(self.__path, 'w') packageXML.writexml(packageFile) packageFile.close() packageXML.unlink() self.__contents['version'] = newVersion
def __init__(self, contents): self.__path = None if os.path.isfile(contents): self.__path = contents packageXML = bDOM.link(contents) self.__contents = { 'name': bDOM.extractTagTextByPath(packageXML, "name"), 'domain': bDOM.extractTagTextByPath(packageXML, "domain"), 'author': bDOM.extractTagTextByPath(packageXML, "author"), 'email': bDOM.extractTagTextByPath(packageXML, "email"), 'version': bDOM.extractTagTextByPath(packageXML, "version"), 'company': bDOM.extractTagTextByPath(packageXML, "company"), 'changes': bDOM.extractTagTextByPath(packageXML, "changes"), 'todo': bDOM.extractTagTextByPath(packageXML, "todo"), 'changepat': bDOM.extractTagTextByPath(packageXML, "changepat"), 'filterExtensions': [], 'filterPaths': [], 'filterNames': [], 'errors': [], 'warnings': [], 'dependencies': [], 'previous': [], } parseXMLListOfExports(packageXML, "dependencies", "dependency", self.__contents['dependencies'], self.__contents['warnings']) parseXMLListOfExports(packageXML, "previous", "version", self.__contents['previous'], self.__contents['warnings']) if self.__contents['domain'] and self.__contents['name']: self.__contents['full_name'] = self.__contents[ 'domain'] + "_" + self.__contents['name'] else: self.__contents['full_name'] = None for filter in packageXML.getElementsByTagName('filter'): ext = filter.getAttribute('extension') if ext: self.__contents['filterExtensions'].append(ext) path = filter.getAttribute('path') if path: self.__contents['filterPaths'].append(path) name = filter.getAttribute('name') if name: self.__contents['filterNames'].append(name) packageXML.unlink()
def __init__(self, contents): self.__path= None if os.path.isfile(contents): self.__path= contents packageXML= bDOM.link(contents) self.__contents= { 'name': bDOM.extractTagTextByPath(packageXML, "name"), 'domain': bDOM.extractTagTextByPath(packageXML, "domain"), 'author': bDOM.extractTagTextByPath(packageXML, "author"), 'email': bDOM.extractTagTextByPath(packageXML, "email"), 'version': bDOM.extractTagTextByPath(packageXML, "version"), 'company': bDOM.extractTagTextByPath(packageXML, "company"), 'changes': bDOM.extractTagTextByPath(packageXML, "changes"), 'todo': bDOM.extractTagTextByPath(packageXML, "todo"), 'changepat': bDOM.extractTagTextByPath(packageXML, "changepat"), 'filterExtensions': [], 'filterPaths': [], 'filterNames': [], 'errors': [], 'warnings': [], 'dependencies': [], 'previous': [], } parseXMLListOfExports(packageXML, "dependencies", "dependency", self.__contents['dependencies'], self.__contents['warnings']) parseXMLListOfExports(packageXML, "previous", "version", self.__contents['previous'], self.__contents['warnings']) if self.__contents['domain'] and self.__contents['name']: self.__contents['full_name']= self.__contents['domain']+"_"+self.__contents['name'] else: self.__contents['full_name']= None for filter in packageXML.getElementsByTagName('filter'): ext= filter.getAttribute('extension') if ext: self.__contents['filterExtensions'].append(ext) path= filter.getAttribute('path') if path: self.__contents['filterPaths'].append(path) name= filter.getAttribute('name') if name: self.__contents['filterNames'].append(name) packageXML.unlink()