Add filesnum.

master3.3
Mike Hiretsky 12 years ago
parent 505dd29971
commit 45f7ca827d

@ -264,7 +264,7 @@ class Variable:
Using for replace value before set
"""
def convert(value):
if value:
if value and value.lower() != "auto":
return "on" if self.isTrue(value) else "off"
else:
return value

@ -23,6 +23,7 @@ from shutil import copytree, rmtree
from calculate.lib import cl_overriding
import re
import sys
from itertools import *
try:
from magic import open as type_file, MAGIC_NONE as MAGIC_NONE
@ -364,10 +365,15 @@ class processProgress(process):
finally:
self.cacheresult = "\n".join(self.cacheresult)
def countFiles(dirpath):
def countFiles(dirpath,onefilesystem=True):
num = 1
for dirpath,dirnames,filenames in os.walk(dirpath):
num += len(set(dirnames) | set(filenames))
if onefilesystem:
mountDirs = filter(lambda x:path.ismount(path.join(dirpath,x)),
dirnames)
for dirname in mountDirs:
dirnames.remove(dirname)
return num

@ -20,6 +20,7 @@ import re
import platform
from calculate.lib.datavars import Variable,ReadonlyVariable,SimpleDataVars
from calculate.lib.utils.portage import isPkgInstalled
from calculate.lib.utils.files import countFiles
import calculate.lib.cl_template as cl_template
class Linux:
@ -188,12 +189,20 @@ class VariableOsLinuxBuild(Variable,Linux):
Build of system
"""
class VariableOsLinuxFilesnum(Variable,Linux):
systemRoot = "/"
def get(self):
"""Get files count"""
return str(countFiles(self.systemRoot))
class LinuxDataVars(SimpleDataVars):
def __init__(self,systemRoot="/"):
SimpleDataVars.__init__(self,
VariableOsLinuxShortname(systemRoot=systemRoot),
VariableOsLinuxName(),
VariableOsLinuxSubname(),
VariableOsLinuxFilesnum(systemRoot=systemRoot),
VariableOsLinuxSystem(),
VariableOsLinuxVer(systemRoot=systemRoot),
VariableOsLinuxBuild(systemRoot=systemRoot))

Loading…
Cancel
Save