You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by jo...@apache.org on 2013/07/24 00:36:42 UTC

[26/27] git commit: [#6456] Refactored ProjectImporterDispatcher to Allura to remove dependency on FI

[#6456] Refactored ProjectImporterDispatcher to Allura to remove dependency on FI

Signed-off-by: Cory Johns <cj...@slashdotmedia.com>


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

Branch: refs/heads/cj/6456
Commit: 64a669300ad1a04102856b67dae7b96ff3ee058a
Parents: 61d0ca5
Author: Cory Johns <cj...@slashdotmedia.com>
Authored: Tue Jul 23 18:26:48 2013 +0000
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Tue Jul 23 22:35:03 2013 +0000

----------------------------------------------------------------------
 Allura/allura/controllers/project.py  | 14 ++++++++++++--
 ForgeImporters/forgeimporters/base.py | 15 ++++-----------
 2 files changed, 16 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/64a66930/Allura/allura/controllers/project.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/project.py b/Allura/allura/controllers/project.py
index 91d5a4f..1150abd 100644
--- a/Allura/allura/controllers/project.py
+++ b/Allura/allura/controllers/project.py
@@ -20,6 +20,7 @@ import logging
 from datetime import datetime, timedelta
 from urllib import unquote
 from itertools import chain, islice
+from pkg_resources import iter_entry_points
 
 from bson import ObjectId
 from tg import expose, flash, redirect, validate, request, response, config
@@ -47,7 +48,6 @@ from allura.lib.widgets import forms as ff
 from allura.lib.widgets import form_fields as ffw
 from allura.lib.widgets import project_list as plw
 from allura.lib import plugin, exceptions
-from forgeimporters.base import ProjectImporterDispatcher
 from .auth import AuthController
 from .search import SearchController, ProjectBrowseController
 from .static import NewForgeController
@@ -74,7 +74,7 @@ class NeighborhoodController(object):
         self.browse = NeighborhoodProjectBrowseController(neighborhood=self.neighborhood)
         self._admin = NeighborhoodAdminController(self.neighborhood)
         self._moderate = NeighborhoodModerateController(self.neighborhood)
-        self.import_project = ProjectImporterDispatcher(self.neighborhood)
+        self.import_project = ProjectImporterController(self.neighborhood)
 
     def _check_security(self):
         require_access(self.neighborhood, 'read')
@@ -918,3 +918,13 @@ class GrantController(object):
         with h.push_context(self.project._id):
             g.post_event('project_updated')
         redirect(request.referer)
+
+class ProjectImporterController(object):
+    def __init__(self, neighborhood, *a, **kw):
+        super(ProjectImporterController, self).__init__(*a, **kw)
+        self.neighborhood = neighborhood
+
+    @expose()
+    def _lookup(self, source, *rest):
+        for ep in iter_entry_points('allura.project_importers', source):
+            return ep.load()(self.neighborhood), rest

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/64a66930/ForgeImporters/forgeimporters/base.py
----------------------------------------------------------------------
diff --git a/ForgeImporters/forgeimporters/base.py b/ForgeImporters/forgeimporters/base.py
index 777eb8a..bf22f8a 100644
--- a/ForgeImporters/forgeimporters/base.py
+++ b/ForgeImporters/forgeimporters/base.py
@@ -25,18 +25,9 @@ from ming.utils import LazyProperty
 from allura.controllers import BaseController
 
 
-class ProjectImporterDispatcher(BaseController):
-    def __init__(self, neighborhood, *a, **kw):
-        super(ProjectImporterDispatcher, self).__init__(*a, **kw)
-        self.neighborhood = neighborhood
-
-    @expose()
-    def _lookup(self, source, *rest):
-        for ep in iter_entry_points('allura.project_importers', source):
-            return ep.load()(self.neighborhood), rest
-
-
 class ProjectImporter(BaseController):
+    """
+    """
     source = None
 
     @LazyProperty
@@ -73,6 +64,8 @@ class ProjectImporter(BaseController):
 
 
 class ToolImporter(object):
+    """
+    """
     target_app = None  # app or list of apps
     source = None  # string description of source, must match project importer
     controller = None