From 4e379d71c1115ebbe30b2b2bfaf591cb04a33327 Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: Jun 04 2015 20:54:24 +0000 Subject: Merge pull request #9 from decause/develop Added Badges widget, into __init__.py, and on personal hubs --- diff --git a/hubs/models.py b/hubs/models.py index 6c4bacf..d5c257f 100644 --- a/hubs/models.py +++ b/hubs/models.py @@ -118,6 +118,11 @@ class Hub(BASE): 'text': 'TODO -- your feed goes here.', })) hub.widgets.append(widget) + widget = Widget(plugin='badges', index=2, + _config=json.dumps({ + 'username': username, + })) + hub.widgets.append(widget) @property def right_width(self): diff --git a/hubs/widgets/__init__.py b/hubs/widgets/__init__.py index 044849e..4d3dff9 100644 --- a/hubs/widgets/__init__.py +++ b/hubs/widgets/__init__.py @@ -4,6 +4,7 @@ from hubs.widgets import rules from hubs.widgets import sticky from hubs.widgets import about from hubs.widgets import avatar +from hubs.widgets import badges from hubs.widgets.base import AGPLv3, smartcache @@ -14,6 +15,7 @@ registry = { 'sticky': sticky, 'about': about, 'avatar': avatar, + 'badges': badges, } diff --git a/hubs/widgets/badges.py b/hubs/widgets/badges.py new file mode 100644 index 0000000..0f44294 --- /dev/null +++ b/hubs/widgets/badges.py @@ -0,0 +1,35 @@ +import requests + +from hubs.widgets.base import argument + +import jinja2 + + +import hubs.validators as validators + + +template = jinja2.Template(""" +{% for badge in assertions %} + +{%endfor%} +""") + +from hubs.widgets.chrome import panel +chrome = panel("Badges") + + +@argument(name="username", + default=None, + validator=validators.username, + help="A FAS username.") +def data(session, widget, username): + url = "https://badges.fedoraproject.org/user/{username}/json" + url = url.format(username=username) + response = requests.get(url) + import pprint; pprint.pprint(response.json()) + + return response.json() + + +def should_invalidate(message, session, widget): + raise NotImplementedError