diff bitsyblog/blog.py @ 70:f6a6a4b072e7

complete overhaul to allow event handlers
author Jeff Hammel <jhammel@mozilla.com>
date Wed, 07 Jul 2010 16:18:19 -0700
parents bcc3a59713c3
children 0c98d1c2c6df
line wrap: on
line diff
--- a/bitsyblog/blog.py	Wed Jul 07 13:58:21 2010 -0700
+++ b/bitsyblog/blog.py	Wed Jul 07 16:18:19 2010 -0700
@@ -47,14 +47,6 @@
 
 class Blog(object):
     """abstract class for a users' blog"""
-    def __init__(self):
-        self.handlers = [] # handlers for blog post event
-        for entry_point in iter_entry_points('bitsyblog.listeners'):
-          try:
-              handler = entry_point.load()
-              self.handlers.append(handler)
-          except:
-              continue
 
     def __call__(self, user, permissions=('public',), number=None):
         return self.blog(user, permissions, number=number)
@@ -87,9 +79,7 @@
 
     def post(self, user, date, text, privacy):
         """post a new blog entry"""
-        entry = BlogEntry(date, body, privacy, user):
-        for handler in self.handlers:
-            handler(entry)
+        return BlogEntry(date, text, privacy, user):
 
     def delete(self, user, datestamp):
         """remove a blog entry"""
@@ -98,7 +88,6 @@
     """a blog that lives on the filesystem"""
 
     def __init__(self, directory):
-        Blog.__init__(self)
         self.directory = directory
 
     def location(self, user, permission, *path):
@@ -159,6 +148,7 @@
     def post(self, user, datestamp, body, privacy):
         blog = file(self.location(user, privacy, datestamp), 'w')
         print >> blog, body
+        return Blog.post(user, datestamp, body, privacy)
 
     def delete(self, user, datestamp):
         for permission in 'public', 'secret', 'private':