From: Michael Tremer Date: Tue, 17 Mar 2015 22:01:32 +0000 (+0100) Subject: Merge branch 'master' of ssh://git.ipfire.org/pub/git/ipfire.org X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2ef236b837c7212eb97be4d4304d8f9f85daa061;p=ipfire.org.git Merge branch 'master' of ssh://git.ipfire.org/pub/git/ipfire.org Conflicts: webapp/ui_modules.py --- 2ef236b837c7212eb97be4d4304d8f9f85daa061 diff --cc webapp/ui_modules.py index 53b8df23,c1de1d0c..e7404911 --- a/webapp/ui_modules.py +++ b/webapp/ui_modules.py @@@ -13,9 -13,8 +13,6 @@@ import tornado.local import tornado.web import unicodedata - import backend - import backend.stasy -from tornado.database import Row -- class UIModule(tornado.web.UIModule): @property def accounts(self): @@@ -240,112 -346,9 +344,9 @@@ class TrackerPeerListModule(UIModule) peer["hostname"] = "" return self.render_string("modules/tracker-peerlist.html", - peers=[Row(p) for p in peers]) + peers=[backend.database.Row(p) for p in peers]) - class StasyTableModule(UIModule): - def _make_percentages(self, items): - total = sum(items.values()) - - for k in items.keys(): - items[k] *= 100 - items[k] /= total - - return items - - def render(self, items, sortby="key", reverse=False, percentage=False, flags=False, locale=False): - hundred_percent = 0 - for v in items.values(): - hundred_percent += v - - keys = [] - if sortby == "key": - keys = sorted(items.keys(), reverse=reverse) - elif sortby == "percentage": - keys = [k for k,v in sorted(items.items(), key=operator.itemgetter(1))] - if not reverse: - keys = reversed(keys) - else: - raise Exception, "Unknown sortby parameter was provided" - - if hundred_percent: - _items = [] - for k in keys: - if not percentage: - v = items[k] * 100 / hundred_percent - else: - v = items[k] * 100 - _items.append((k, v)) - items = _items - - if items and type(items[0][0]) == type(()) : - _ = self.locale.translate - _items = [] - for k, v in items: - k = _("%s to %s") % k - _items.append((k, v)) - items = _items - - if locale: - flags = False - locales = tornado.locale.LOCALE_NAMES - _items = [] - for k, v in items: - if k: - for code, locale in locales.items(): - if code.startswith(k): - k = locale["name"].split()[0] - _items.append((k, v)) - items = _items - - return self.render_string("modules/stasy-table.html", items=items, flags=flags) - - - class StasyCPUCoreTableModule(StasyTableModule): - def render(self, items): - items = self._make_percentages(items) - - items = items.items() - items.sort() - - return self.render_string("modules/stasy-table.html", items=items, - flags=None #XXX - ) - - - class StasyDeviceTableModule(UIModule): - def render(self, devices): - groups = {} - - for device in devices: - if not groups.has_key(device.cls): - groups[device.cls] = [] - - groups[device.cls].append(device) - - return self.render_string("modules/stasy-table-devices.html", - groups=groups.items()) - - - class StasyGeoTableModule(UIModule): - def render(self, items): - _ = self.locale.translate - - # Sort all items by value - items = sorted(items.items(), key=operator.itemgetter(1), reverse=True) - - countries = [] - for code, value in items: - country = backend.database.Row({ - "code" : code.lower(), - "name" : _(self.geoip.get_country_name(code)), - "value" : value * 100, - }) - countries.append(country) - - return self.render_string("modules/stasy-table-geo.html", countries=countries) - - class WishlistModule(UIModule): def render(self, wishes, short=False): return self.render_string("wishlist/modules/wishlist.html",