Added bugdir and comment modules to Sphinx docs
authorW. Trevor King <wking@drexel.edu>
Sat, 6 Feb 2010 18:44:05 +0000 (13:44 -0500)
committerW. Trevor King <wking@drexel.edu>
Sat, 6 Feb 2010 18:44:05 +0000 (13:44 -0500)
doc/libbe.bugdir.txt [new file with mode: 0644]
doc/libbe.comment.txt [new file with mode: 0644]
doc/libbe.txt
libbe/bug.py
libbe/bugdir.py
libbe/comment.py

diff --git a/doc/libbe.bugdir.txt b/doc/libbe.bugdir.txt
new file mode 100644 (file)
index 0000000..2464ea6
--- /dev/null
@@ -0,0 +1,7 @@
+*******************
+:mod:`libbe.bugdir`
+*******************
+
+.. automodule:: libbe.bugdir
+   :members:
+   :undoc-members:
diff --git a/doc/libbe.comment.txt b/doc/libbe.comment.txt
new file mode 100644 (file)
index 0000000..6e76f98
--- /dev/null
@@ -0,0 +1,7 @@
+********************
+:mod:`libbe.comment`
+********************
+
+.. automodule:: libbe.comment
+   :members:
+   :undoc-members:
index dd04df1815db7dea6a1a084ddcb9965069636c79..5d29434c5483425880c47c2ed301f998688b568a 100644 (file)
@@ -9,4 +9,6 @@
 .. toctree::
    :maxdepth: 2
 
+   libbe.bugdir.txt
    libbe.bug.txt
+   libbe.comment.txt
index a4b569fd742bdde5a84fc87e0bf59dbd18c959dd..dd68518612a9bace1ed0ed2d60ee7f171ca4df61 100644 (file)
@@ -16,7 +16,7 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-"""Define the Bug class for representing bugs.
+"""Define the :class:`Bug` class for representing bugs.
 """
 
 import copy
@@ -122,7 +122,9 @@ load_status(active_status_def, inactive_status_def)
 
 class Bug (settings_object.SavedSettingsObject):
     """A bug (or issue) is a place to store attributes and attach
-    comments.  In mailing-list terms, a bug is analogous to a thread.
+    :class:`libbe.comment.Comment`\s.  In mailing-list terms, a bug is
+    analogous to a thread.  Bugs are normally stored in
+    :class:`libbe.bugdir.BugDir`\s.
 
     >>> b = Bug()
     >>> print b.status
@@ -716,6 +718,7 @@ def cmp_severity(bug_1, bug_2):
     """
     Compare the severity levels of two bugs, with more severe bugs
     comparing as less.
+
     >>> bugA = Bug()
     >>> bugB = Bug()
     >>> bugA.severity = bugB.severity = "wishlist"
@@ -734,8 +737,9 @@ def cmp_severity(bug_1, bug_2):
 
 def cmp_status(bug_1, bug_2):
     """
-    Compare the status levels of two bugs, with more 'open' bugs
+    Compare the status levels of two bugs, with more "open" bugs
     comparing as less.
+
     >>> bugA = Bug()
     >>> bugB = Bug()
     >>> bugA.status = bugB.status = "open"
@@ -755,9 +759,10 @@ def cmp_status(bug_1, bug_2):
 
 def cmp_attr(bug_1, bug_2, attr, invert=False):
     """
-    Compare a general attribute between two bugs using the conventional
-    comparison rule for that attribute type.  If invert == True, sort
-    *against* that convention.
+    Compare a general attribute between two bugs using the
+    conventional comparison rule for that attribute type.  If
+    ``invert==True``, sort *against* that convention.
+
     >>> attr="severity"
     >>> bugA = Bug()
     >>> bugB = Bug()
index 3c3afa092d43c603e5613c9e06d7308f3c6c7179..fa8edb93ebc4a7c9a21d2eb11e06980117856cb5 100644 (file)
@@ -19,8 +19,7 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-"""
-Define the BugDir class for representing bug comments.
+"""Define the :class:`BugDir` class for storing a collection of bugs.
 """
 
 import copy
@@ -89,8 +88,10 @@ class DiskAccessRequired (Exception):
 
 
 class BugDir (list, settings_object.SavedSettingsObject):
-    """
-    TODO: simple bugdir manipulation examples...
+    """A BugDir is a container for :class:`libbe.bug.Bug`\s, with some
+    additional attributes.
+
+    See :class:`SimpleBugDir` for some bugdir manipulation exampes.
     """
 
     settings_properties = []
@@ -344,7 +345,8 @@ class RevisionedBugDir (BugDir):
 if libbe.TESTING == True:
     class SimpleBugDir (BugDir):
         """
-        For testing.  Set memory=True for a memory-only bugdir.
+        For testing.  Set ``memory=True`` for a memory-only bugdir.
+
         >>> bugdir = SimpleBugDir()
         >>> uuids = list(bugdir.uuids())
         >>> uuids.sort()
index dd245de558bfa69f0002cbf42f20c7f6c17ed833..003bf71a818abe8a6dfb4a387e2e56b985e2ccb7 100644 (file)
@@ -16,8 +16,7 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-"""
-Define the Comment class for representing bug comments.
+"""Define the :class:`Comment` class for representing bug comments.
 """
 
 import base64
@@ -101,7 +100,10 @@ def save_comments(bug):
 
 
 class Comment (Tree, settings_object.SavedSettingsObject):
-    """
+    """Comments are a notes that attach to :class:`libbe.bug.Bug`\s in
+    threaded trees.  In mailing-list terms, a comment is analogous to
+    a single part of an email.
+
     >>> c = Comment()
     >>> c.uuid != None
     True
@@ -194,19 +196,19 @@ class Comment (Tree, settings_object.SavedSettingsObject):
     def __init__(self, bug=None, uuid=None, from_storage=False,
                  in_reply_to=None, body=None, content_type=None):
         """
-        Set from_storage=True to load an old comment.
-        Set from_storage=False to create a new comment.
+        Set ``from_storage=True`` to load an old comment.
+        Set ``from_storage=False`` to create a new comment.
 
-        The uuid option is required when from_storage==True.
+        The ``uuid`` option is required when ``from_storage==True``.
 
         The in_reply_to, body, and content_type options are only used
-        if from_storage==False (the default).  When
-        from_storage==True, they are loaded from the bug database.
-        content_type decides if the body should be run through
-        libbe.util.id.short_to_long_text() before saving.  See
-        ._set_comment_body() for details.
+        if ``from_storage==False`` (the default).  When
+        ``from_storage==True``, they are loaded from the bug database.
+        ``content_type`` decides if the body should be run through
+        :func:`util.id.short_to_long_text` before saving.  See
+        :meth:`_set_comment_body` for details.
 
-        in_reply_to should be the uuid string of the parent comment.
+        ``in_reply_to`` should be the uuid string of the parent comment.
         """
         Tree.__init__(self)
         settings_object.SavedSettingsObject.__init__(self)
@@ -267,6 +269,7 @@ class Comment (Tree, settings_object.SavedSettingsObject):
     def safe_in_reply_to(self):
         """
         Return self.in_reply_to, except...
+
           * if no comment matches that id, in which case return None.
           * if that id matches another comments .alt_id, in which case
             return the matching comments .uuid.
@@ -337,7 +340,7 @@ class Comment (Tree, settings_object.SavedSettingsObject):
         return istring + sep.join(lines).rstrip('\n')
 
     def from_xml(self, xml_string, verbose=True):
-        """
+        u"""
         Note: If alt-id is not given, translates any <uuid> fields to
         <alt-id> fields.
         >>> commA = Comment(bug=None, body="Some\\ninsightful\\nremarks\\n")
@@ -412,6 +415,7 @@ class Comment (Tree, settings_object.SavedSettingsObject):
         """
         Merge info from other into this comment.  Overrides any
         attributes in self that are listed in other.explicit_attrs.
+
         >>> commA = Comment(bug=None, body='Some insightful remarks')
         >>> commA.uuid = '0123'
         >>> commA.date = 'Thu, 01 Jan 1970 00:00:00 +0000'
@@ -621,7 +625,7 @@ class Comment (Tree, settings_object.SavedSettingsObject):
         """
         Save any loaded contents to storage.
 
-        However, if self.storage.is_writeable() == True, then any
+        However, if ``self.storage.is_writeable() == True``, then any
         changes are automatically written to storage as soon as they
         happen, so calling this method will just waste time (unless
         something else has been messing with your stored files).
@@ -666,8 +670,8 @@ class Comment (Tree, settings_object.SavedSettingsObject):
         return reply
 
     def comment_from_uuid(self, uuid, match_alt_id=True):
-        """
-        Use a uuid to look up a comment.
+        """Use a uuid to look up a comment.
+
         >>> a = Comment(bug=None, uuid="a")
         >>> b = a.new_reply()
         >>> b.uuid = "b"
@@ -708,6 +712,7 @@ def cmp_attr(comment_1, comment_2, attr, invert=False):
     Compare a general attribute between two comments using the conventional
     comparison rule for that attribute type.  If invert == True, sort
     *against* that convention.
+
     >>> attr="author"
     >>> commentA = Comment()
     >>> commentB = Comment()