X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plcquery.py;h=8643b814651a91860a47248b97b80d41075b15dc;hb=e2e493681014a07579fee2719a683b364a72fe0a;hp=235662eb0382aeb8e8982282075f4455a1e2e07a;hpb=45c45cc6ae12eb7863612ab833b0facbfb2c37bb;p=monitor.git diff --git a/plcquery.py b/plcquery.py index 235662e..8643b81 100755 --- a/plcquery.py +++ b/plcquery.py @@ -27,12 +27,22 @@ def parse_filter(filter): else: return None +def conv(s): + # strip non-ascii characters to prvent errors + r = "".join([x for x in s if ord(x) < 128]) + return r + def print_fields(obj, fields, format): if format: + for f in obj: + if type(obj[f]) in (str, unicode): + obj[f] = conv(obj[f]) + print format % obj else: for f in fields: if f in obj: + obj[f] = conv(obj[f]) print obj[f], print "" @@ -127,7 +137,7 @@ def main(): if len(sitelist) > 0: s = sitelist[0] if i['person_id'] in s['person_ids']: - i['name'] = s['name'] + i['name'] = conv(s['name']) print_fields(i, fields, config.format) else: n = api.GetPersons(f, fields)