本文整理汇总了Python中misc.util.toString函数的典型用法代码示例。如果您正苦于以下问题:Python toString函数的具体用法?Python toString怎么用?Python toString使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了toString函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: tree
def tree(self, treegen=treegenerator, force=False):
cache = self.context["cache"]
console = self.context["console"]
tradeSpaceForSpeed = (
False
) # Caution: setting this to True seems to make builds slower, at least on some platforms!?
cacheId = "tree%s-%s-%s" % (treegen.tag, self.path, util.toString({}))
self.treeId = cacheId
# Lookup for unoptimized tree
tree, _ = cache.read(cacheId, self.path, memory=tradeSpaceForSpeed)
# Tree still undefined?, create it!
if tree == None or force:
console.debug("Parsing file: %s..." % self.id)
console.indent()
fileContent = filetool.read(self.path, self.encoding)
tokens = tokenizer.parseStream(fileContent, self.id)
console.outdent()
console.debug("Generating tree: %s..." % self.id)
console.indent()
tree = treegen.createSyntaxTree(tokens) # allow exceptions to propagate
# store unoptimized tree
# print "Caching %s" % cacheId
cache.write(cacheId, tree, memory=tradeSpaceForSpeed, writeToFile=True)
console.outdent()
return tree
示例2: getCode
def getCode(self, compOptions, treegen=treegenerator, featuremap={}):
# source versions
if not compOptions.optimize:
compiled = filetool.read(self.path)
# assure trailing \n (e.g. to utilise ASI)
if compiled[-1:] != "\n":
compiled += '\n'
# compiled versions
else:
optimize = compOptions.optimize
variants = compOptions.variantset
format_ = compOptions.format
classVariants = self.classVariants()
# relevantVariants is the intersection between the variant set of this job
# and the variant keys actually used in the class
relevantVariants = self.projectClassVariantsToCurrent(classVariants, variants)
variantsId = util.toString(relevantVariants)
optimizeId = self._optimizeId(optimize)
cache = self.context["cache"]
cacheId = "compiled-%s-%s-%s-%s" % (self.path, variantsId, optimizeId, format_)
compiled, _ = cache.read(cacheId, self.path)
if compiled == None:
tree = self.optimize(None, optimize, variants, featuremap)
compiled = self.serializeTree(tree, optimize, format_)
if not "statics" in optimize:
cache.write(cacheId, compiled)
return compiled
示例3: getAssets
def getAssets(self, assetMacros={}):
# Memoizing needs assetMacros in the key, otherwise you get wrong
# results with multiple builds in one generator run.
macroskey = util.toString(assetMacros)
macroskey = sha_construct(macroskey).hexdigest()
if macroskey not in self._assetRegex:
# prepare a regex encompassing all asset hints, asset macros resolved
classAssets = self.getHints()['assetDeps'][:]
iresult = [] # [AssetHint]
for res in classAssets:
# expand file glob into regexp
res = re.sub(r'\*', ".*", res)
# expand macros
if res.find('${')>-1:
expres = self._expandMacrosInMeta(assetMacros, res)
else:
expres = [res]
# collect resulting asset objects
for e in expres:
assethint = AssetHint(res)
assethint.clazz = self
assethint.expanded = e
assethint.regex = re.compile(e)
if assethint not in iresult:
iresult.append(assethint)
self._assetRegex[macroskey] = iresult
return self._assetRegex[macroskey]
示例4: messageStrings
def messageStrings(self, variants):
# this duplicates codef from Locale.getTranslation
classVariants = self.classVariants()
relevantVariants = self.projectClassVariantsToCurrent(classVariants, variants)
variantsId = util.toString(relevantVariants)
cacheId = "messages-%s" % (variantsId,)
cached = True
console = self.context['console']
#messages, _ = cache.readmulti(cacheId, self.path)
classInfo, cacheModTime = self._getClassCache()
messages = classInfo[cacheId] if cacheId in classInfo else None
if messages != None:
return messages, cached
console.debug("Looking for message strings: %s..." % self.id)
console.indent()
cached = False
tree = self.tree()
try:
messages = self._findTranslationBlocks(tree, [])
except NameError, detail:
raise RuntimeError("Could not extract message strings from %s!\n%s" % (self.id, detail))
示例5: tree
def tree(self, treegen=treegenerator, force=False):
cache = self.context['cache']
console = self.context['console']
tradeSpaceForSpeed = False # Caution: setting this to True seems to make builds slower, at least on some platforms!?
cacheId = "tree%s-%s-%s" % (treegen.tag, self.path, util.toString({}))
self.treeId = cacheId
# Lookup for unoptimized tree
tree, _ = cache.read(cacheId, self.path, memory=tradeSpaceForSpeed)
# Tree still undefined?, create it!
if tree == None or force:
console.debug("Parsing file: %s..." % self.id)
console.indent()
# Tokenize
fileContent = filetool.read(self.path, self.encoding)
fileId = self.path if self.path else self.id
try:
tokens = tokenizer.Tokenizer().parseStream(fileContent, self.id)
except SyntaxException, e:
# add file info
e.args = (e.args[0] + "\nFile: %s" % fileId,) + e.args[1:]
raise e
# Parse
try:
tree = treegen.createFileTree(tokens, fileId)
except SyntaxException, e:
# add file info
e.args = (e.args[0] + "\nFile: %s" % fileId,) + e.args[1:]
raise
示例6: getCompiledSize
def getCompiledSize(self, fileId, variants, optimize=None, recompile=True):
if optimize == None:
optimize = self._optimize # use object setting as default
fileEntry = self._classes[fileId]
filePath = fileEntry["path"]
variantsId = util.toString(variants)
if optimize:
optimizeId = self.generateOptimizeId(optimize)
cacheId = "compiledsize-%s-%s-%s" % (filePath, variantsId, optimizeId)
else:
cacheId = "compiledsize-%s-%s" % (filePath, variantsId)
size = self._cache.readmulti(cacheId, filePath)
if size != None:
return size
if recompile == False:
return -1
self._console.debug("Computing compiled size: %s..." % fileId)
#tree = self._treeLoader.getTree(fileId, variants)
#compiled = self.compileTree(tree)
compiled = self.getCompiled(fileId, variants, optimize, format=True) # TODO: format=True is a hack here, since it is most likely
size = len(compiled)
self._cache.writemulti(cacheId, size)
return size
示例7: getTreeCacheId
def getTreeCacheId(optimize=[], variantSet={}):
classVariants = self.classVariants()
relevantVariants = self.projectClassVariantsToCurrent(classVariants, variantSet)
return "tree%s-%s-%s-%s" % (
treegenerator.tag, # TODO: hard-coded treegen.tag
self.path,
self._optimizeId(optimize),
util.toString(relevantVariants),
)
示例8: checkCache
def checkCache(self, fileId, variants, optimize, format=False):
filePath = self._classes[fileId]["path"]
variantsId = util.toString(variants)
optimizeId = self.generateOptimizeId(optimize)
cacheId = "compiled-%s-%s-%s-%s" % (filePath, variantsId, optimizeId, format)
compiled = self._cache.read(cacheId, filePath)
return cacheId, compiled
示例9: tree
def tree(self, variantSet={}):
context = self.context
cache = context['cache']
tradeSpaceForSpeed = False # Caution: setting this to True seems to make builds slower, at least on some platforms!?
# Construct the right cache id
unoptCacheId = "tree-%s-%s" % (self.path, util.toString({}))
classVariants = []
tree = None
classVariants = self.classVariants(generate=False) # just check the cache
if classVariants == None:
tree = self._getSourceTree(unoptCacheId, tradeSpaceForSpeed)
classVariants= self._variantsFromTree(tree)
relevantVariants = self.projectClassVariantsToCurrent(classVariants, variantSet)
cacheId = "tree-%s-%s" % (self.path, util.toString(relevantVariants))
# Get the right tree to return
if cacheId == unoptCacheId and tree: # early return optimization
return tree
opttree, cacheMod = cache.read(cacheId, self.path, memory=tradeSpaceForSpeed)
if not opttree:
# start from source tree
if tree:
opttree = tree
else:
opttree = self._getSourceTree(unoptCacheId, tradeSpaceForSpeed)
# do we have to optimze?
if cacheId == unoptCacheId:
return opttree
else:
context["console"].debug("Selecting variants: %s..." % self.id)
context["console"].indent()
variantoptimizer.search(opttree, variantSet, self.id)
context["console"].outdent()
# store optimized tree
#print "Caching %s" % cacheId
cache.write(cacheId, opttree, memory=tradeSpaceForSpeed, writeToFile=True)
return opttree
示例10: _checkCache
def _checkCache(self, fileId, variants, optimize, format=False):
filePath = self._classes[fileId].path
classVariants = self._classes[fileId].classVariants()
relevantVariants = Class.projectClassVariantsToCurrent(classVariants, variants)
variantsId = util.toString(relevantVariants)
optimizeId = self.generateOptimizeId(optimize)
cacheId = "compiled-%s-%s-%s-%s" % (filePath, variantsId, optimizeId, format)
compiled, _ = self._cache.read(cacheId, filePath)
return cacheId, compiled
示例11: _getCompiled
def _getCompiled(self, compOptions):
##
# Interface to ecmascript.backend
def serializeCondensed(tree, format_=False):
result = [u'']
result = Packer().serializeNode(tree, None, result, format_)
return u''.join(result)
def serializeFormatted(tree):
# provide minimal pretty options
def options(): pass
pretty.defaultOptions(options)
options.prettypCommentsBlockAdd = False # turn off comment filling
result = [u'']
result = pretty.prettyNode(tree, options, result)
return u''.join(result)
# ----------------------------------------------------------------------
optimize = compOptions.optimize
variants = compOptions.variantset
format_ = compOptions.format
classVariants = self.classVariants()
relevantVariants = self.projectClassVariantsToCurrent(classVariants, variants)
variantsId = util.toString(relevantVariants)
optimizeId = self._optimizeId(optimize)
cache = self.context["cache"]
# Caution: Sharing cache id with TreeCompiler
cacheId = "compiled-%s-%s-%s-%s" % (self.path, variantsId, optimizeId, format_)
compiled, _ = cache.read(cacheId, self.path)
if compiled == None:
tree = self.tree(variants)
tree = self.optimize(tree, optimize)
if optimize == ["comments"]:
compiled = serializeFormatted(tree)
if compiled[-1:] != "\n": # assure trailing \n
compiled += '\n'
else:
compiled = serializeCondensed(tree, format_)
cache.write(cacheId, compiled)
return compiled
示例12: getTree
def getTree(self, fileId, variants=None):
fileEntry = self._classes[fileId]
filePath = fileEntry["path"]
if variants:
cacheId = "tree-%s-%s" % (filePath, util.toString(variants))
else:
cacheId = "tree-%s" % filePath
tradeSpaceForSpeed = False # Caution: setting this to True seems to make builds slower, at least on some platforms!?
tree = self._cache.read(cacheId, filePath, memory=tradeSpaceForSpeed)
if tree != None:
return tree
# Lookup for unoptimized tree
if variants != None:
tree = self._cache.read("tree-%s" % fileId, filePath, memory=tradeSpaceForSpeed)
# Tree still undefined?, create it!
if tree == None:
self._console.debug("Parsing file: %s..." % fileId)
self._console.indent()
fileContent = filetool.read(fileEntry["path"], fileEntry["encoding"])
tokens = tokenizer.parseStream(fileContent, fileId)
self._console.outdent()
self._console.debug("Generating tree: %s..." % fileId)
self._console.indent()
tree = treegenerator.createSyntaxTree(tokens) # allow exceptions to propagate
# store unoptimized tree
self._cache.write("tree-%s" % fileId, tree, memory=tradeSpaceForSpeed, writeToFile=True)
self._console.outdent()
# Call variant optimizer
if variants != None:
self._console.debug("Selecting variants: %s..." % fileId)
self._console.indent()
variantoptimizer.search(tree, variants, fileId)
self._console.outdent()
# store optimized tree
self._cache.write(cacheId, tree, memory=tradeSpaceForSpeed, writeToFile=True)
return tree
示例13: sortClassesRecurser
def sortClassesRecurser(classId, classListSorted, path):
if classId in classListSorted:
return
# reading dependencies
if classId == "qx.core.Environment":
envObj = self._classesObj["qx.core.Environment"]
envTreeId = "tree-%s-%s" % (envObj.path, util.toString({})) # TODO: {} is a temp. hack
self._cache.remove(
envTreeId
) # clear pot. memcache, so already (string) optimized tree is not optimized again (e.g. with Demobrowser)
deps, cached = self.getCombinedDeps(classId, variants, buildType)
if self._console.getLevel() is "info":
self._console.dot("%s" % "." if cached else "*")
# path is needed for recursion detection
if not classId in path:
path.append(classId)
# process loadtime requirements
for dep in deps["load"]:
dep_name = dep.name
if dep_name in classList and not dep_name in classListSorted:
if dep_name in path:
self._console.warn("Detected circular dependency between: %s and %s" % (classId, dep_name))
self._console.indent()
self._console.debug("currently explored dependency path: %r" % path)
self._console.outdent()
raise RuntimeError("Circular class dependencies")
else:
sortClassesRecurser(dep_name, classListSorted, path)
if not classId in classListSorted:
# remove element from path
path.remove(classId)
# print "Add: %s" % classId
classListSorted.append(classId)
return
示例14: getTree
def getTree(self, fileId, variants=None):
fileEntry = self._classes[fileId]
filePath = fileEntry["path"]
if variants:
cacheId = "tree-%s-%s" % (filePath, util.toString(variants))
else:
cacheId = "tree-%s" % filePath
tree = self._cache.read(cacheId, filePath)
if tree != None:
return tree
# Lookup for unoptimized tree
if variants != None:
tree = self._cache.read("tree-%s" % fileId, filePath)
# Tree still undefined?, create it!
if tree == None:
self._console.debug("Parsing file: %s..." % fileId)
self._console.indent()
fileContent = filetool.read(fileEntry["path"], fileEntry["encoding"])
tokens = tokenizer.parseStream(fileContent, fileId)
self._console.outdent()
self._console.debug("Generating tree: %s..." % fileId)
self._console.indent()
try:
tree = treegenerator.createSyntaxTree(tokens)
except treegenerator.SyntaxException, detail:
self._console.error("%s" % detail)
sys.exit(1)
self._console.outdent()
self._console.debug("Selecting variants: %s..." % fileId)
self._console.indent()
示例15: getTranslation
def getTranslation(self, fileId, variants):
fileEntry = self._classes[fileId]
filePath = fileEntry["path"]
variantsId = util.toString(variants)
cacheId = "translation-%s-%s" % (filePath, variantsId)
translation = self._cache.readmulti(cacheId, filePath)
if translation != None:
return translation
self._console.debug("Looking for translation strings: %s..." % fileId)
self._console.indent()
tree = self._treeLoader.getTree(fileId, variants)
try:
translation = self._findTranslationBlocks(tree, [])
except NameError, detail:
self._console.error("Could not extract translation from %s!" % fileId)
self._console.error("%s" % detail)
sys.exit(1)