Anonymous avatar Anonymous committed 962bdda

Make ditz class an issue iterator.

Comments (0)

Files changed (1)

     def __init__(self, issuedir = "issues"):
         self.issuedir = issuedir
 
-        # Read the project file.
         path = os.path.join(issuedir, Project.filename)
         if os.path.exists(path):
             self.project = self._read(path)
         else:
             raise DitzError("'%s' is not a Ditz issue directory" % issuedir)
 
-        # Read the issues.
-        self.issues = []
-        match = os.path.join(issuedir, Issue.template % "*")
+    def __iter__(self):
+        match = os.path.join(self.issuedir, Issue.template % "*")
         for path in glob.glob(match):
-            issue = self._read(path)
-            self.issues.append(issue)
+            yield self._read(path)
 
     def _read(self, path):
         fp = open(path)
     ditz = Ditz()
 
     print ditz.project.name
+
+    print "Releases:"
+    for release in ditz.project.releases:
+        date = release.release_time 
+        print "   %s [%s]" % (release.name,
+                              date if date else "unreleased")
+
     print "Issues:"
-    for issue in ditz.issues:
+    for issue in ditz:
         print "   %s [%s]" % (issue.title, issue.type)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.