summaryrefslogtreecommitdiff
path: root/foundry/controllers/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'foundry/controllers/__init__.py')
-rw-r--r--foundry/controllers/__init__.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/foundry/controllers/__init__.py b/foundry/controllers/__init__.py
new file mode 100644
index 0000000..b17b3e9
--- /dev/null
+++ b/foundry/controllers/__init__.py
@@ -0,0 +1,33 @@
1from webob import Response
2from datetime import datetime
3from foundry import interfaces
4from foundry.di import inject, Injected
5
6
7class Changeset(object):
8
9 def __init__(self, changeset):
10 self.changeset = changeset
11
12 def __getattr__(self, key):
13 return getattr(self.changeset, key)
14
15 def date(self):
16 return datetime.fromtimestamp(float(self.changeset.date()[0]))
17
18
19class ChangelogController(object):
20
21 @inject(repo=interfaces.RepositoryProvider,
22 renderer=interfaces.TemplateRenderer)
23 def __init__(self, repo=Injected, renderer=Injected):
24 self.repo = repo.get('/Users/mcrute')
25 self.renderer = renderer
26
27 def __call__(self, request):
28 def _repo_iter():
29 for rev in self.repo:
30 yield Changeset(self.repo[rev])
31
32 return Response(self.renderer.render('changelog.tpl',
33 repo=_repo_iter()))