diff bitsyblog/bitsyblog.py @ 17:e5cbc53cacf8

now have stylesheets
author k0s <k0scist@gmail.com>
date Sun, 25 Oct 2009 18:35:48 -0400
parents 2bd6b2b543dc
children 8931c5b7e632
line wrap: on
line diff
--- a/bitsyblog/bitsyblog.py	Sun Oct 25 18:11:25 2009 -0400
+++ b/bitsyblog/bitsyblog.py	Sun Oct 25 18:35:48 2009 -0400
@@ -511,9 +511,8 @@
 
     def render(self, request, body, title=None, feedtitle=None):
         """layout the page in a unified way"""
-        stylesheets = ()
+        _title = [ self.site_name ]
         user = getattr(request, 'user', None)
-        _title = [ self.site_name ]
         if user:
             stylesheets = request.user['CSS']
             stylesheets = [ (("/%s" % self.user_url(request, user.name, 'css', css['filename'])),
@@ -533,6 +532,17 @@
         
         return markup.wrap(self.site_nav(request)+body, title, stylesheets, head_markup=head_markup)
 
+    def stylesheets(self, request):
+        user = getattr(request, 'user', None)
+        if user:
+            stylesheets = request.user['CSS']
+            stylesheets = [ (self.user_url(request, user.name, 'css', css['filename']),
+                             css['name']) for css in stylesheets ]
+        else:
+            stylesheets = [(self.link(request, "css/site.css"), "Default")]
+        return stylesheets
+        
+
     def site_nav(self, request):
         """returns HTML for site navigation"""
 
@@ -605,44 +615,6 @@
         print >> retval, '</div>'
         return retval.getvalue()
 
-#     def blog_entry(self, request, user, entry):
-#         """given the content string, return a marked-up blog entry"""
-#         # XXX no need to pass user
-
-#         # user preferences
-#         prefs = request.user.settings
-#         format = prefs.get('Date format', self.date_format)
-#         subject = prefs.get('Subject', self.subject)
-
-#         role = self.role(user, request)
-        
-#         subject = subject % { 'date' : entry.date.strftime(format) }
-#         subject = cgi.escape(subject)
-#         html = StringIO()
-#         blog_id = entry.datestamp()
-#         print >> html, '<div id="%s" class="blog-entry">' % blog_id
-#         print >> html, '<a name="%s" />' % blog_id
-#         print >> html, '<div class="subject">'
-#         print >> html, '<a href="/%s">%s</a>' % (self.user_url(request, user, blog_id), subject)
-#         if (entry.privacy == 'secret') and (role == 'friend'):
-#             print >> html, '<em>secret</em>'
-#         print >> html, '</div>'
-#         print >> html, self.cooker(entry.body)
-
-#         if role == 'author':
-#             print >> html, '<div><form action="/%s" method="post">' % self.user_url(request, entry.user, blog_id)
-#             print >> html, self.privacy_settings(entry.privacy)
-#             print >> html, '<input type="submit" name="submit" value="Change Privacy" />'
-#             print >> html, '</form></div>'
-#             if entry.privacy != 'public':
-#                 title = "You can give this URL so people may see this %s post without logging in" % entry.privacy
-#                 print >> html, '<div>'
-#                 print >> html, '<span title="%s">Mangled URL:</span>' % title
-#                 print >> html, markup.link(self.mangledurl(request, entry))
-#                 print >> html, '</div>'
-        
-#         print >> html, '</div>'
-#         return html.getvalue()
         
     def write_blog(self, user, blog, path, n_links, request):
         """return the user's blog in HTML"""
@@ -662,7 +634,7 @@
         data = request.environ['data']
         data['user'] = user
         data['role'] = self.role(user, request)
-        data['stylesheets'] = () # TODO
+        data['stylesheets'] = self.stylesheets(request)
         data['subject'] = request.user.settings.get('Subject', self.subject)
         data['date_format'] = request.user.settings.get('Date format', self.date_format)
         data['user_url'] = self.user_url
@@ -675,22 +647,10 @@
         # render the template
         template = self.loader.load('blog.html')
         return template.generate(**data).render()
-
-#         # XXX no need to pass path or user!
-#         retval = StringIO()
-#         print >> retval,  self.navigation(user, blog, path, n_links, 0)
-#         for entry in blog:
-#             print >> retval, self.blog_entry(request, user, entry)
-#         feedtitle=None
-#         if request.path_info.strip('/') == user:
-#             feedtitle = "%s's blog" % user
-#         title = None
-#         if len(blog) == 1:
-#             format = request.user.settings.get('Date format', self.date_format)
-#             title = blog[0].date.strftime(format)
-#         return self.render(request, retval.getvalue(), title=title, feedtitle=feedtitle)
                            
     def restructuredText(self, string):
+        """renders a string with restructured text"""
+
         origstring = string
         settings = { 'report_level': 5 }
         string = string.strip()