Add world function

master3.3
Mike Hiretsky 12 years ago
parent 8611e91893
commit 770196dfb2

@ -40,7 +40,7 @@ from utils.text import _toUNICODE, convertStrListDict
from utils.portage import isPkgInstalled
from utils.content import PkgContents
from utils.files import (getModeFile, removeDir, typeFile, scanDirectory,
pathJoin,process,STDOUT)
pathJoin,readFile,process,STDOUT)
from datavars import DataVarsError
from calculate.lib.cl_lang import setLocalTranslate
@ -2804,30 +2804,28 @@ class templateFunction(_error, _warning, _shareTemplate, _shareTermsFunction):
else:
return ""
def funcPkgw(self, funArgv, resS, localVars, textTemplateTmp, nameTemp):
"""Функция шаблона pkgw(), возвращает аргумент если программа установлена"""
# Название программы
nameProg = funArgv.replace(" ","")
origProg = nameProg
# Замена функции в тексте шаблона
replace = ""
if "/" in nameProg:
category, spl, nameProg = nameProg.partition("/")
def funcWorld(self, funArgv, resS, localVars, textTemplateTmp, nameTemp):
"""
Function for world generation
"""
# source file
fileName = funArgv.replace(" ","")
source = readFile(fileName)
replace = []
for line in filter(None,
filter(lambda x:not x.startswith('#'),
map(lambda x:x.strip(),
source.split('\n')))):
category, spl, nameProg = line.partition("/")
nameProg, spl, slot = nameProg.partition(":")
if not category in self.installCategory:
self.getInstallPkgGentoo(category=category)
self.installCategory.append(category)
replace = self.pkg(nameProg, slot=slot or None)
else:
if not self.flagAllPkgScan:
self.getInstallPkgGentoo()
templateFunction.flagAllPkgScan = True
nameProg,spl,slot = nameProg.partition(":")
replace = self.pkg(nameProg,
slot=slot)
if replace:
replace = origProg
textTemplateTmp = textTemplateTmp[:resS.start()] + replace +\
if self.pkg(nameProg, slot=slot or None):
replace.append(line)
textTemplateTmp = textTemplateTmp[:resS.start()] + "\n".join(replace) +\
textTemplateTmp[resS.end():]
return textTemplateTmp

Loading…
Cancel
Save