Defining classes to support persistence
Before we can work with persistence, we need some objects that we want to save. There are several design considerations related to persistence, so we'll start with some simple class definitions. We'll look at a simple microblog and the posts on that blog. Here's a class definition for Post
:
import datetime class Post: def __init__( self, date, title, rst_text, tags ): self.date= date self.title= title self.rst_text= rst_text self.tags= tags def as_dict( self ): return dict( date= str(self.date), title= self.title, underline= "-"*len(self.title), rst_text= self.rst_text, tag_text= " ".join(self.tags), )
The instance variables are the attributes of each microblog post: a date, a title, some text, and some tags. Our attribute name provides us a hint that the text should be in RST markup, even though that's largely irrelevant to the rest of...