[Checkins] SVN: grok/trunk/grokblog/src/grokblog/ Split out entry
from blog.
Martijn Faassen
faassen at infrae.com
Fri Dec 1 14:45:18 EST 2006
Log message for revision 71365:
Split out entry from blog.
Changed:
U grok/trunk/grokblog/src/grokblog/blog.py
D grok/trunk/grokblog/src/grokblog/blog_templates/addentry.pt
D grok/trunk/grokblog/src/grokblog/blog_templates/entryedit.pt
D grok/trunk/grokblog/src/grokblog/blog_templates/entryindex.pt
D grok/trunk/grokblog/src/grokblog/blog_templates/entryitem.pt
A grok/trunk/grokblog/src/grokblog/entry.py
A grok/trunk/grokblog/src/grokblog/entry_templates/
A grok/trunk/grokblog/src/grokblog/entry_templates/add.pt
A grok/trunk/grokblog/src/grokblog/entry_templates/edit.pt
A grok/trunk/grokblog/src/grokblog/entry_templates/index.pt
A grok/trunk/grokblog/src/grokblog/entry_templates/item.pt
-=-
Modified: grok/trunk/grokblog/src/grokblog/blog.py
===================================================================
--- grok/trunk/grokblog/src/grokblog/blog.py 2006-12-01 18:03:58 UTC (rev 71364)
+++ grok/trunk/grokblog/src/grokblog/blog.py 2006-12-01 19:45:18 UTC (rev 71365)
@@ -1,10 +1,7 @@
import random
from datetime import datetime, timedelta
-from docutils.core import publish_parts
import grok
-from zope import interface, schema
-
class Blog(grok.Container, grok.Site):
def __init__(self):
super(Blog, self).__init__()
@@ -20,19 +17,6 @@
class Entries(grok.Container):
pass
-class IEntry(interface.Interface):
- published = schema.Datetime(title=u'Published')
- title = schema.TextLine(title=u'Title')
- body = schema.Text(title=u'Body')
-
-class Entry(grok.Model):
- interface.implements(IEntry)
-
- def __init__(self, title, body):
- self.title = title
- self.published = datetime.now()
- self.body = body
-
class Year(grok.Model):
def __init__(self, year):
self.year = year
@@ -130,74 +114,9 @@
def renderEntry(self, entry):
return renderRest(entry.body)
-class AddEntry(grok.View):
- grok.context(Blog)
- grok.name('add')
-
- def before(self):
- id = self.request.form.get('id')
- if not id:
- return
- title = self.request.form.get('title', '')
- body = self.request.form.get('body', '')
- self.context['entries'][id] = Entry(title, body)
- self.redirect(self.url(self.context))
-
class EntriesIndex(grok.View):
grok.context(Entries)
grok.name('index')
def render(self):
return "Entries: %s" % ' '.join(self.context.keys())
-
-rest_settings = {'file_insertion_enabled': False}
-
-def renderRest(source):
- return publish_parts(
- source, writer_name='html', settings_overrides=rest_settings
- )['html_body']
-
-class EntryIndex(grok.View):
- grok.context(IEntry)
- grok.name('index')
-
- def before(self):
- self.body = renderRest(self.context.body)
-
-class EntryEdit(grok.View):
- grok.context(IEntry)
- grok.name('edit')
-
- def before(self):
- title = self.request.form.get('title', '')
- if not title:
- return
- body = self.request.form.get('body', '')
- self.context.title = title
- self.context.body = body
- self.redirect(self.url(self.context))
-
-class EntryBody(grok.View):
- grok.context(IEntry)
- grok.name('body')
-
- def render(self):
- return renderRest(self.context.body)
-
-class EntryItem(grok.View):
- grok.context(IEntry)
- grok.name('item')
-
-class EntryRandomDate(grok.View):
- grok.context(IEntry)
- grok.name('random_date')
-
- def render(self):
- self.context.published = datetime(
- 2006,
- 11,
- random.randrange(1, 29),
- random.randrange(0, 24),
- random.randrange(0, 60),
- )
- return str(self.context.published)
Deleted: grok/trunk/grokblog/src/grokblog/blog_templates/addentry.pt
===================================================================
--- grok/trunk/grokblog/src/grokblog/blog_templates/addentry.pt 2006-12-01 18:03:58 UTC (rev 71364)
+++ grok/trunk/grokblog/src/grokblog/blog_templates/addentry.pt 2006-12-01 19:45:18 UTC (rev 71365)
@@ -1,15 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
- <head>
- <title>add entry</title>
- </head>
- <body>
- <h1>add entry</h1>
- <form tal:attributes="action python:view.url()" method="POST">
- id: <input type="text" name="id" value="" /><br />
- title: <input type="text" name="title" value="" /><br />
- body: <textarea name="body"></textarea><br />
- <input type="submit" value="Add Entry" />
- </form>
- </body>
-</html>
Deleted: grok/trunk/grokblog/src/grokblog/blog_templates/entryedit.pt
===================================================================
--- grok/trunk/grokblog/src/grokblog/blog_templates/entryedit.pt 2006-12-01 18:03:58 UTC (rev 71364)
+++ grok/trunk/grokblog/src/grokblog/blog_templates/entryedit.pt 2006-12-01 19:45:18 UTC (rev 71365)
@@ -1,17 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
- <head>
- <title>edit entry</title>
- </head>
- <body>
- <h1>edit entry</h1>
- <form tal:attributes="action python:view.url()" method="POST">
- title: <input type="text" name="title"
- tal:attributes="value context/title"
- /><br />
- body: <textarea name="body"
- tal:content="context/body"/><br />
- <input type="submit" value="Save changes..." />
- </form>
- </body>
-</html>
Deleted: grok/trunk/grokblog/src/grokblog/blog_templates/entryindex.pt
===================================================================
--- grok/trunk/grokblog/src/grokblog/blog_templates/entryindex.pt 2006-12-01 18:03:58 UTC (rev 71364)
+++ grok/trunk/grokblog/src/grokblog/blog_templates/entryindex.pt 2006-12-01 19:45:18 UTC (rev 71365)
@@ -1,14 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
- <head>
- <title tal:content="context/title"/>
- </head>
- <body>
- <h1>
- <tal:block content="context/title"/>
- (<span class="published" tal:content="context/published"/>)
- </h1>
- <a tal:attributes="href python:view.url('edit')">edit...</a>
- <p tal:content="structure context/@@body"/>
- </body>
-</html>
Deleted: grok/trunk/grokblog/src/grokblog/blog_templates/entryitem.pt
===================================================================
--- grok/trunk/grokblog/src/grokblog/blog_templates/entryitem.pt 2006-12-01 18:03:58 UTC (rev 71364)
+++ grok/trunk/grokblog/src/grokblog/blog_templates/entryitem.pt 2006-12-01 19:45:18 UTC (rev 71365)
@@ -1,9 +0,0 @@
-<div class="entry">
- <h2>
- <a tal:attributes="href python:view.url(context)">
- <tal:block content="context/title"/>
- </a>
- (<span class="published" tal:content="context/published"/>)
- </h2>
- <p tal:content="structure context/@@body"/>
-</div>
\ No newline at end of file
Added: grok/trunk/grokblog/src/grokblog/entry.py
===================================================================
--- grok/trunk/grokblog/src/grokblog/entry.py 2006-12-01 18:03:58 UTC (rev 71364)
+++ grok/trunk/grokblog/src/grokblog/entry.py 2006-12-01 19:45:18 UTC (rev 71365)
@@ -0,0 +1,78 @@
+from datetime import datetime
+from docutils.core import publish_parts
+
+import grok
+from zope import schema
+
+from blog import Blog
+
+class Entry(grok.Model):
+ class fields:
+ published = schema.Datetime(title=u'Published')
+ title = schema.TextLine(title=u'Title')
+ body = schema.Text(title=u'Body')
+
+ def __init__(self, title, body):
+ self.title = title
+ self.published = datetime.now()
+ self.body = body
+
+class Add(grok.View):
+ grok.context(Blog)
+ grok.name('add')
+
+ def before(self):
+ id = self.request.form.get('id')
+ if not id:
+ return
+ title = self.request.form.get('title', '')
+ body = self.request.form.get('body', '')
+ self.context['entries'][id] = Entry(title, body)
+ self.redirect(self.url(self.context))
+
+class Index(grok.View):
+ grok.name('index')
+
+ def before(self):
+ self.body = renderRest(self.context.body)
+
+class Edit(grok.View):
+ grok.name('edit')
+
+ def before(self):
+ title = self.request.form.get('title', '')
+ if not title:
+ return
+ body = self.request.form.get('body', '')
+ self.context.title = title
+ self.context.body = body
+ self.redirect(self.url(self.context))
+
+class Body(grok.View):
+ grok.name('body')
+
+ def render(self):
+ return renderRest(self.context.body)
+
+class Item(grok.View):
+ grok.name('item')
+
+class RandomDate(grok.View):
+ grok.name('random_date')
+
+ def render(self):
+ self.context.published = datetime(
+ 2006,
+ 11,
+ random.randrange(1, 29),
+ random.randrange(0, 24),
+ random.randrange(0, 60),
+ )
+ return str(self.context.published)
+
+rest_settings = {'file_insertion_enabled': False}
+
+def renderRest(source):
+ return publish_parts(
+ source, writer_name='html', settings_overrides=rest_settings
+ )['html_body']
Copied: grok/trunk/grokblog/src/grokblog/entry_templates/add.pt (from rev 71364, grok/trunk/grokblog/src/grokblog/blog_templates/addentry.pt)
Copied: grok/trunk/grokblog/src/grokblog/entry_templates/edit.pt (from rev 71364, grok/trunk/grokblog/src/grokblog/blog_templates/entryedit.pt)
Copied: grok/trunk/grokblog/src/grokblog/entry_templates/index.pt (from rev 71364, grok/trunk/grokblog/src/grokblog/blog_templates/entryindex.pt)
Copied: grok/trunk/grokblog/src/grokblog/entry_templates/item.pt (from rev 71364, grok/trunk/grokblog/src/grokblog/blog_templates/entryitem.pt)
More information about the Checkins
mailing list