summaryrefslogtreecommitdiff
path: root/foundry/controllers
diff options
context:
space:
mode:
authorMike Crute <mcrute@gmail.com>2015-07-28 21:15:06 -0700
committerMike Crute <mcrute@gmail.com>2015-07-28 21:15:06 -0700
commit6da717bf333dc82c67d7aece3fd36f97090040f8 (patch)
tree056bb5e2ef5642d836425c2ac85212d3328364bb /foundry/controllers
downloadfoundry-6da717bf333dc82c67d7aece3fd36f97090040f8.tar.bz2
foundry-6da717bf333dc82c67d7aece3fd36f97090040f8.tar.xz
foundry-6da717bf333dc82c67d7aece3fd36f97090040f8.zip
Initial importHEADmaster
Diffstat (limited to 'foundry/controllers')
-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()))