Projects/worblehat-old
Projects
/
worblehat-old
Archived
12
0
Fork 0
This repository has been archived on 2024-07-04. You can view files and clone it, but cannot push or open issues or pull requests.
worblehat-old/cli/util.py

66 lines
1.3 KiB
Python
Raw Normal View History

def make_result_dict(cursor, row):
d = {}
for i in xrange(len(row)):
d[cursor.description[i][0]] = row[i]
return d
def fetchone_dict(cursor):
row = cursor.fetchone()
if row != None:
return make_result_dict(cursor, row)
return None
def fetchall_dict(cursor):
return map(lambda r: make_result_dict(cursor, r),
cursor.fetchall())
def first(lst):
return lst[0]
def second(lst):
return lst[1]
def count(predicate, lst):
c = 0
for elem in lst:
if predicate(elem):
c = c+1
return c
def find(predicate, lst):
for elem in lst:
if predicate(elem):
return elem
return None
def unique(lst):
newlst = []
for elem in lst:
if elem not in newlst:
newlst.append(elem)
return newlst
def mapcond(fun, predicate, lst):
def mapfun(x):
if predicate(x):
return fun(x)
return x
return map(mapfun, lst)
def maptup(fun, lst):
return tuple(map(fun, lst))
def translate(value, translations):
return translations.get(value, value)
def p(s):
encoded = s
if isinstance(s, unicode):
encoded = s.encode('utf8')
print encoded
def cut_str(string, length, ellipsis='...'):
if len(string) < length:
return string
return string[0:length-len(ellipsis)]+ellipsis