|
|
|
@ -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
|
|
|
|
|
|
|
|
|
|