You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by tv...@apache.org on 2013/08/28 16:34:50 UTC

[09/50] git commit: [#3154] avoid doing an extra count() query or storing all items in memory

[#3154] avoid doing an extra count() query or storing all items in memory


Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/8072d30e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/8072d30e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/8072d30e

Branch: refs/heads/tv/6526
Commit: 8072d30ef1faf24b864894c04111d85da0f89f97
Parents: 818b395
Author: Dave Brondsema <db...@slashdotmedia.com>
Authored: Tue Aug 6 15:37:20 2013 +0000
Committer: Dave Brondsema <db...@slashdotmedia.com>
Committed: Thu Aug 22 20:04:44 2013 +0000

----------------------------------------------------------------------
 ForgeBlog/forgeblog/main.py                   | 5 ++---
 ForgeDiscussion/forgediscussion/forum_main.py | 7 +++----
 ForgeTracker/forgetracker/tracker_main.py     | 7 +++----
 ForgeWiki/forgewiki/wiki_main.py              | 7 +++----
 4 files changed, 11 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/8072d30e/ForgeBlog/forgeblog/main.py
----------------------------------------------------------------------
diff --git a/ForgeBlog/forgeblog/main.py b/ForgeBlog/forgeblog/main.py
index e6da34f..6f344cb 100644
--- a/ForgeBlog/forgeblog/main.py
+++ b/ForgeBlog/forgeblog/main.py
@@ -193,11 +193,10 @@ class ForgeBlogApp(Application):
     def bulk_export(self, f):
         f.write('{"posts": [')
         posts = BM.BlogPost.query.find(dict(app_config_id=self.config._id)).sort('timestamp', pymongo.DESCENDING)
-        count = len(posts)
         for i, post in enumerate(posts):
-            json.dump(post, f, cls=jsonify.GenericJSON, indent=2)
-            if i < (count - 1):
+            if i > 0:
                 f.write(',')
+            json.dump(post, f, cls=jsonify.GenericJSON, indent=2)
         f.write(']}')
 
 class RootController(BaseController, FeedController):

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/8072d30e/ForgeDiscussion/forgediscussion/forum_main.py
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/forum_main.py b/ForgeDiscussion/forgediscussion/forum_main.py
index bf1835d..a91508d 100644
--- a/ForgeDiscussion/forgediscussion/forum_main.py
+++ b/ForgeDiscussion/forgediscussion/forum_main.py
@@ -219,12 +219,11 @@ class ForgeDiscussionApp(Application):
 
     def bulk_export(self, f):
         f.write('{"forums": [')
-        forums = DM.Forum.query.find(dict(app_config_id=self.config._id)).sort('mod_date', pymongo.DESCENDING).all()
-        count = len(forums)
+        forums = DM.Forum.query.find(dict(app_config_id=self.config._id)).sort('mod_date', pymongo.DESCENDING)
         for i, forum in enumerate(forums):
-            json.dump(forum, f, cls=jsonify.GenericJSON, indent=2)
-            if i < (count - 1):
+            if i > 0:
                 f.write(',')
+            json.dump(forum, f, cls=jsonify.GenericJSON, indent=2)
         f.write(']}')
 
 class ForumAdminController(DefaultAdminController):

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/8072d30e/ForgeTracker/forgetracker/tracker_main.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py
index 4ee0e74..c8e728c 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -412,12 +412,11 @@ class ForgeTrackerApp(Application):
         f.write('{"tickets": [')
         tickets = TM.Ticket.query.find(dict(
             app_config_id=self.config._id,
-            deleted=False)).all()
-        count = len(tickets)
+            deleted=False))
         for i, ticket in enumerate(tickets):
-            json.dump(ticket, f, cls=jsonify.GenericJSON, indent=2)
-            if i < (count - 1):
+            if i > 0:
                 f.write(',')
+            json.dump(ticket, f, cls=jsonify.GenericJSON, indent=2)
         f.write('],\n"tracker_config":')
         json.dump(self.config, f, cls=jsonify.GenericJSON, indent=2)
         f.write(',\n"milestones":')

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/8072d30e/ForgeWiki/forgewiki/wiki_main.py
----------------------------------------------------------------------
diff --git a/ForgeWiki/forgewiki/wiki_main.py b/ForgeWiki/forgewiki/wiki_main.py
index f0b85a7..5fecbb2 100644
--- a/ForgeWiki/forgewiki/wiki_main.py
+++ b/ForgeWiki/forgewiki/wiki_main.py
@@ -291,12 +291,11 @@ The wiki uses [Markdown](%s) syntax.
         f.write('{"pages": [')
         pages = WM.Page.query.find(dict(
             app_config_id=self.config._id,
-            deleted=False)).all()
-        count = len(pages)
+            deleted=False))
         for i, page in enumerate(pages):
-            json.dump(page, f, cls=jsonify.GenericJSON, indent=2)
-            if i < (count - 1):
+            if i > 0:
                 f.write(',')
+            json.dump(page, f, cls=jsonify.GenericJSON, indent=2)
         f.write(']}')