From: Michael Tremer Date: Sat, 23 Jan 2010 19:35:19 +0000 (+0100) Subject: Fix enconding of json data. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=befc2e59d2f62b178cacb20d03ec39cfa36ecdd2;p=ipfire.org.git Fix enconding of json data. --- diff --git a/www/webapp/banners.py b/www/webapp/banners.py index 0ad56e5a..ba21ab99 100644 --- a/www/webapp/banners.py +++ b/www/webapp/banners.py @@ -1,9 +1,8 @@ #!/usr/bin/python import random -import simplejson -from helpers import Item, _stringify +from helpers import Item, _stringify, json_loads class Banners(object): def __init__(self, filename=None): @@ -17,7 +16,7 @@ class Banners(object): data = f.read() f.close() - for item in simplejson.loads(data): + for item in json_loads(data): self.items.append(Item(**_stringify(item))) def get(self): diff --git a/www/webapp/helpers.py b/www/webapp/helpers.py index 62717cc4..d634fcb9 100644 --- a/www/webapp/helpers.py +++ b/www/webapp/helpers.py @@ -1,5 +1,6 @@ #!/usr/bin/python +import simplejson import subprocess class Item(object): @@ -15,7 +16,6 @@ class Item(object): def __setitem__(self, key, val): self.args[key] = val - def size(s): suffixes = ["B", "K", "M", "G", "T",] @@ -25,7 +25,10 @@ def size(s): idx += 1 return "%.0f%s" % (s, suffixes[idx]) - + +def json_loads(s): + return simplejson.loads(s.decode("utf-8")) + def _stringify(d): ret = {} for key in d.keys(): diff --git a/www/webapp/info.py b/www/webapp/info.py index 18754fa8..3ea75b0c 100644 --- a/www/webapp/info.py +++ b/www/webapp/info.py @@ -1,6 +1,6 @@ #!/usr/bin/python -import simplejson +from helpers import json_loads class Info(dict): def __init__(self, filename): @@ -8,7 +8,7 @@ class Info(dict): def load(self, filename): f = open(filename) - for key, val in simplejson.loads(f.read()).items(): + for key, val in json_loads(f.read()).items(): self[key] = val f.close() diff --git a/www/webapp/mirrors.py b/www/webapp/mirrors.py index 58ba28c8..df19627b 100644 --- a/www/webapp/mirrors.py +++ b/www/webapp/mirrors.py @@ -3,11 +3,10 @@ import tornado.httpclient import random -import simplejson import threading import time -from helpers import Item, _stringify, ping +from helpers import Item, _stringify, ping, json_loads class Mirrors(threading.Thread): def __init__(self, filename): @@ -25,7 +24,7 @@ class Mirrors(threading.Thread): data = f.read() f.close() - for item in simplejson.loads(data): + for item in json_loads(data): self.items.append(MirrorItem(**_stringify(item))) @property diff --git a/www/webapp/news.py b/www/webapp/news.py index d99d2ed8..9d170db6 100644 --- a/www/webapp/news.py +++ b/www/webapp/news.py @@ -1,8 +1,6 @@ #!/usr/bin/python -import simplejson - -from .helpers import Item, _stringify +from helpers import Item, _stringify, json_loads class News(object): def __init__(self, filename=None): @@ -18,7 +16,7 @@ class News(object): data = data.replace("\n", "").replace("\t", " ") - json = simplejson.loads(data) + json = json_loads(data) for key in sorted(json.keys()): self.items.append(NewsItem(**_stringify(json[key]))) diff --git a/www/webapp/releases.py b/www/webapp/releases.py index 5365ccff..12a4ecfb 100644 --- a/www/webapp/releases.py +++ b/www/webapp/releases.py @@ -1,8 +1,6 @@ #!/usr/bin/python -import simplejson - -from helpers import Item, _stringify +from helpers import Item, _stringify, json_loads class ReleaseItem(Item): options = { @@ -111,7 +109,7 @@ class Releases(object): data = f.read() f.close() - for item in simplejson.loads(data): + for item in json_loads(data): self.items.append(ReleaseItem(**_stringify(item))) @property