|
|
|
@ -55,10 +55,8 @@ def prettyColumnStr(*cols):
|
|
|
|
|
# перевести текст в юникод, заодно перевести числа в строку
|
|
|
|
|
noconvert = False
|
|
|
|
|
space = u' '
|
|
|
|
|
nospace = u''
|
|
|
|
|
for i in xrange(0,len(cols),2):
|
|
|
|
|
if type(cols[i]) == types.UnicodeType:
|
|
|
|
|
space = " "
|
|
|
|
|
noconvert = True
|
|
|
|
|
cols[i] = _toUNICODE(cols[i])
|
|
|
|
|
# флаг "есть еще текст для вывода"
|
|
|
|
|
repeat = True
|
|
|
|
@ -84,7 +82,7 @@ def prettyColumnStr(*cols):
|
|
|
|
|
cellspacing = space
|
|
|
|
|
else:
|
|
|
|
|
# разделитель не нужен
|
|
|
|
|
cellspacing = ""
|
|
|
|
|
cellspacing = nospace
|
|
|
|
|
|
|
|
|
|
# если перевод строки найден, то
|
|
|
|
|
if brfind != None:
|
|
|
|
@ -128,11 +126,7 @@ def prettyColumnStr(*cols):
|
|
|
|
|
partstr = partstr.ljust(cols[q+1], ' ')
|
|
|
|
|
cols[q] = ''
|
|
|
|
|
|
|
|
|
|
# добавить к возвращаемой строки полученную + пробел
|
|
|
|
|
if noconvert:
|
|
|
|
|
retstr+= partstr + cellspacing
|
|
|
|
|
else:
|
|
|
|
|
retstr+= partstr.encode('utf8') + cellspacing
|
|
|
|
|
|
|
|
|
|
# остальную часть строки оставить на следующую итерацию
|
|
|
|
|
# если от строки что то осаталось
|
|
|
|
@ -143,7 +137,7 @@ def prettyColumnStr(*cols):
|
|
|
|
|
q += 2
|
|
|
|
|
# колонки отображены
|
|
|
|
|
retstr += "\n"
|
|
|
|
|
return retstr
|
|
|
|
|
return retstr.encode('utf8')
|
|
|
|
|
|
|
|
|
|
def columnStr(*cols):
|
|
|
|
|
'''Вывод данных по колонкам, причем, если данные не вмещаются в указнаную
|
|
|
|
@ -254,10 +248,9 @@ def justify(s,width):
|
|
|
|
|
# переводим в юникод для правильного вычисления длины
|
|
|
|
|
try:
|
|
|
|
|
s = s.decode( 'utf-8' )
|
|
|
|
|
needConver = True
|
|
|
|
|
# пропуск если это не utf-8
|
|
|
|
|
except UnicodeEncodeError:
|
|
|
|
|
needConver = False
|
|
|
|
|
pass
|
|
|
|
|
# пока длина строки меньше указанной
|
|
|
|
|
while len(s) < width:
|
|
|
|
|
# находим очередной пробел
|
|
|
|
@ -270,10 +263,7 @@ def justify(s,width):
|
|
|
|
|
# оставить удвоенный пробел
|
|
|
|
|
pos += 3
|
|
|
|
|
# вернуть строку в utf8 если она пришла в utf8
|
|
|
|
|
if needConver:
|
|
|
|
|
return s.encode('utf-8')
|
|
|
|
|
else:
|
|
|
|
|
return s
|
|
|
|
|
|
|
|
|
|
def runOsCommand(cmd, inStr=None, ret_first=None):
|
|
|
|
|
"""Выполняет внешнюю программу
|
|
|
|
|