本文整理汇总了Python中misc.ExtMap.ExtMap.get方法的典型用法代码示例。如果您正苦于以下问题:Python ExtMap.get方法的具体用法?Python ExtMap.get怎么用?Python ExtMap.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类misc.ExtMap.ExtMap
的用法示例。
在下文中一共展示了ExtMap.get方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: runFix
# 需要导入模块: from misc.ExtMap import ExtMap [as 别名]
# 或者: from misc.ExtMap.ExtMap import get [as 别名]
def runFix(jobconf, classesObj):
def fixPng():
return
def removeBOM(fpath):
content = open(fpath, "rb").read()
if content.startswith(codecs.BOM_UTF8):
console.debug("removing BOM: %s" % filePath)
open(fpath, "wb").write(content[len(codecs.BOM_UTF8):])
return
# - Main ---------------------------------------------------------------
if not isinstance(jobconf.get("fix-files", False), types.DictType):
return
console = Context.console
classes = classesObj.keys()
fixsettings = ExtMap(jobconf.get("fix-files"))
# Fixing JS source files
console.info("Fixing whitespace in source files...")
console.indent()
console.info("Fixing files: ", False)
numClasses = len(classes)
eolStyle = fixsettings.get("eol-style", "LF")
tabWidth = fixsettings.get("tab-width", 2)
for pos, classId in enumerate(classes):
console.progress(pos+1, numClasses)
classEntry = classesObj[classId]
filePath = classEntry.path
fileEncoding = classEntry.encoding
fileContent = filetool.read(filePath, fileEncoding)
# Caveat: as filetool.read already calls any2Unix, converting to LF will
# not work as the file content appears unchanged to this function
if eolStyle == "CR":
fixedContent = textutil.any2Mac(fileContent)
elif eolStyle == "CRLF":
fixedContent = textutil.any2Dos(fileContent)
else:
fixedContent = textutil.any2Unix(fileContent)
fixedContent = textutil.normalizeWhiteSpace(textutil.removeTrailingSpaces(textutil.tab2Space(fixedContent, tabWidth)))
if fixedContent != fileContent:
console.debug("modifying file: %s" % filePath)
filetool.save(filePath, fixedContent, fileEncoding)
# this has to go separate, as it requires binary operation
removeBOM(filePath)
console.outdent()
# Fixing PNG files -- currently just a stub!
if fixsettings.get("fix-png", False):
console.info("Fixing PNGs...")
console.indent()
fixPng()
console.outdent()
return
示例2: runPrettyPrinting
# 需要导入模块: from misc.ExtMap import ExtMap [as 别名]
# 或者: from misc.ExtMap.ExtMap import get [as 别名]
def runPrettyPrinting(self, classesObj):
if not isinstance(self._job.get("pretty-print", False), types.DictType):
return
self._console.info("Pretty-printing code...")
self._console.indent()
ppsettings = ExtMap(self._job.get("pretty-print")) # get the pretty-print config settings
# init options
def options(): pass
pretty.defaultOptions(options)
# modify according to config
if 'general/indent-string' in ppsettings:
options.prettypIndentString = ppsettings.get('general/indent-string')
if 'comments/block/add' in ppsettings:
options.prettypCommentsBlockAdd = ppsettings.get('comments/trailing/keep-column')
if 'comments/trailing/keep-column' in ppsettings:
options.prettypCommentsTrailingKeepColumn = ppsettings.get('comments/trailing/keep-column')
if 'comments/trailing/comment-cols' in ppsettings:
options.prettypCommentsTrailingCommentCols = ppsettings.get('comments/trailing/comment-cols')
if 'comments/trailing/padding' in ppsettings:
options.prettypCommentsInlinePadding = ppsettings.get('comments/trailing/padding')
if 'code/align-with-curlies' in ppsettings:
options.prettypAlignBlockWithCurlies = ppsettings.get('code/align-with-curlies')
if 'code/open-curly/newline-before' in ppsettings:
options.prettypOpenCurlyNewlineBefore = ppsettings.get('code/open-curly/newline-before')
if 'code/open-curly/indent-before' in ppsettings:
options.prettypOpenCurlyIndentBefore = ppsettings.get('code/open-curly/indent-before')
self._console.info("Pretty-printing files: ", False)
numClasses = len(classesObj)
for pos, classId in enumerate(classesObj):
self._console.progress(pos+1, numClasses)
tree = classesObj[classId].tree()
result = [u'']
result = pretty.prettyNode(tree, options, result)
compiled = u''.join(result)
filetool.save(self._classes[classId].path, compiled)
self._console.outdent()
return
示例3: runLogDependencies
# 需要导入模块: from misc.ExtMap import ExtMap [as 别名]
# 或者: from misc.ExtMap.ExtMap import get [as 别名]
def runLogDependencies(jobconf, script):
##
# A generator to yield all using dependencies of classes in packages;
def lookupUsingDeps(packages, includeTransitives, forceFreshDeps=False):
##
# has classId been yielded?
def hasVisibleDeps(classId):
# judged from the contents of its deps arrays
load_names = [x.name for x in classDeps["load"]]
run_names = [x.name for x in classDeps["run"]]
return set(load_names).union(run_names).difference(ignored_names)
for packageId, package in enumerate(packages):
for classObj in package.classes:
classId = classObj.id
classDeps, _ = classObj.getCombinedDeps(script.classesAll, variants, script.jobconfig, projectClassNames=False, force=forceFreshDeps, tree=classObj._tmp_tree)
ignored_names = [x.name for x in classDeps["ignore"]]
loads = classDeps["load"]
runs = classDeps["run"]
# strip transitive dependencies
if not includeTransitives:
loads1, loads = loads[:], []
for dep in loads1:
# if the .requestor is different from classId, it must have been
# included through a transitive analysis
if dep.requestor == classId:
loads.append(dep)
# project class names
loads1, loads = loads[:], []
for dep in loads1:
if dep.name not in (x.name for x in loads):
loads.append(dep)
runs1, runs = runs[:], []
for dep in runs1:
if dep.name not in (x.name for x in runs):
runs.append(dep)
# yield dependencies
for dep in loads:
if dep.name not in ignored_names:
yield (packageId, classId, dep.name, 'load')
load_names = [x.name for x in loads]
for dep in runs:
if dep.name not in ignored_names and dep.name not in load_names:
yield (packageId, classId, dep.name, 'run')
if not hasVisibleDeps(classId):
# yield two empty relations, so that classId is at least visible to consumer
yield (packageId, classId, None, 'load')
yield (packageId, classId, None, 'run')
return
##
# A generator to yield all used-by dependencies of classes in packages;
# will report used-by relations of a specific class in sequence
def lookupUsedByDeps(packages, includeTransitives, forceFreshDeps=False):
depsMap = {}
# build up depsMap {"classId" : ("packageId", [<load_deps>,...], [<run_deps>, ...]) }
for packageId, package in enumerate(packages):
for classObj in package.classes:
classId = classObj.id
if classId not in depsMap:
depsMap[classId] = (packageId, [], [])
classDeps, _ = classObj.getCombinedDeps(script.classesAll, variants, script.jobconfig, projectClassNames=False, force=forceFreshDeps)
ignored_names = [x.name for x in classDeps["ignore"]]
loads = classDeps["load"]
runs = classDeps["run"]
# strip transitive dependencies
if not includeTransitives:
loads1, loads = loads[:], []
for dep in loads1:
# if the .requestor is different from classId, it must be included
# through a transitive analysis
if dep.requestor == classId:
loads.append(dep)
# project class names
loads1, loads = loads[:], []
for dep in loads1:
if dep.name not in (x.name for x in loads):
loads.append(dep)
runs1, runs = runs[:], []
for dep in runs1:
if dep.name not in (x.name for x in runs):
runs.append(dep)
# collect dependencies
for dep in loads:
if dep.name not in ignored_names:
if dep.name not in depsMap:
#.........这里部分代码省略.........
示例4: getFeature
# 需要导入模块: from misc.ExtMap import ExtMap [as 别名]
# 或者: from misc.ExtMap.ExtMap import get [as 别名]
def getFeature(self, feature, default=None):
dataMap = ExtMap(self._data)
return dataMap.get(feature, default)
示例5: runCompiled
# 需要导入模块: from misc.ExtMap import ExtMap [as 别名]
# 或者: from misc.ExtMap.ExtMap import get [as 别名]
def runCompiled(self, script, treeCompiler):
def getAppName(memo={}):
if not 'appname' in memo:
appname = self._job.get("let/APPLICATION")
if not appname:
raise RuntimeError, "Need an application name in config (key let/APPLICATION)"
else:
memo['appname'] = appname
return memo['appname']
def getOutputFile():
filePath = compConf.get("paths/file")
if not filePath:
filePath = os.path.join("build", "script", getAppName() + ".js")
return filePath
def getFileUri(scriptUri):
appfile = os.path.basename(fileRelPath)
fileUri = os.path.join(scriptUri, appfile) # make complete with file name
fileUri = Path.posifyPath(fileUri)
return fileUri
def generateBootScript(bootPackage=""):
def packagesOfFiles(fileUri, packages):
# returns list of lists, each containing destination file name of the corresp. part
# npackages = [['script/gui-0.js'], ['script/gui-1.js'],...]
npackages = []
file = os.path.basename(fileUri)
for packageId in range(len(packages)):
packageFileName = self._resolveFileName(file, variants, settings, packageId)
npackages.append((packageFileName,))
return npackages
self._console.info("Generating boot script...")
bootBlocks = []
# For resource list
resourceUri = compConf.get('uris/resource', 'resource')
resourceUri = Path.posifyPath(resourceUri)
globalCodes = self.generateGlobalCodes(libs, translationMaps, settings, variants, format, resourceUri, scriptUri)
filesPackages = packagesOfFiles(fileUri, packages)
bootBlocks.append(self.generateBootCode(parts, filesPackages, boot, variants, settings, bootPackage, globalCodes, "build", format))
if format:
bootContent = "\n\n".join(bootBlocks)
else:
bootContent = "".join(bootBlocks)
return bootContent
def writePackages(compiledPackages, startId=0):
for packageId, content in enumerate(compiledPackages):
writePackage(content, startId + packageId)
return
def writePackage(content, packageId=""):
# Construct file name
resolvedFilePath = self._resolveFileName(filePath, variants, settings, packageId)
# Save result file
filetool.save(resolvedFilePath, content)
if compConf.get("paths/gzip"):
filetool.gzip(resolvedFilePath, content)
self._console.debug("Done: %s" % self._computeContentSize(content))
self._console.debug("")
return
# ----------------------------------------------------------------------
if not self._job.get("compile-dist", False):
return
packages = script.packages
parts = script.parts
boot = script.boot
variants = script.variants
classList = script.classes
self._treeCompiler = treeCompiler
self._classList = classList
compConf = ExtMap(self._job.get("compile-dist"))
# Read in base file name
fileRelPath = getOutputFile()
filePath = self._config.absPath(fileRelPath)
# Read in uri prefixes
scriptUri = compConf.get('uris/script', 'script')
scriptUri = Path.posifyPath(scriptUri)
fileUri = getFileUri(scriptUri)
# Read in compiler options
#.........这里部分代码省略.........