You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by rj...@apache.org on 2013/06/19 02:06:21 UTC
svn commit: r1494398 - in
/bloodhound/trunk/bloodhound_multiproduct/multiproduct: hooks.py web_ui.py
Author: rjollos
Date: Wed Jun 19 00:06:21 2013
New Revision: 1494398
URL: http://svn.apache.org/r1494398
Log:
PEP-0008 whitespace changes and remove unused imports ahead of #561.
Modified:
bloodhound/trunk/bloodhound_multiproduct/multiproduct/hooks.py
bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py
Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/hooks.py
URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/hooks.py?rev=1494398&r1=1494397&r2=1494398&view=diff
==============================================================================
--- bloodhound/trunk/bloodhound_multiproduct/multiproduct/hooks.py (original)
+++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/hooks.py Wed Jun 19 00:06:21 2013
@@ -23,15 +23,16 @@ import multiproduct.versioncontrol
import re
+from trac.core import TracError
from trac.hooks import EnvironmentFactoryBase, RequestFactoryBase
-from trac.web.main import RequestWithSession
-from trac.web.href import Href
from trac.perm import PermissionCache
-from trac.core import TracError
+from trac.web.href import Href
+from trac.web.main import RequestWithSession
PRODUCT_RE = re.compile(r'^/products(?:/(?P<pid>[^/]*)(?P<pathinfo>.*))?')
REDIRECT_DEFAULT_RE = re.compile(r'^/(?P<section>milestone|roadmap|query|report|newticket|ticket|qct|timeline|(raw-|zip-)?attachment|diff|batchmodify|search)(?P<pathinfo>.*)')
+
class MultiProductEnvironmentFactory(EnvironmentFactoryBase):
def open_environment(self, environ, env_path, global_env, use_cache=False):
env = pid = None
@@ -58,7 +59,8 @@ class MultiProductEnvironmentFactory(Env
if pid:
env = create_product_env(pid,
- environ['SCRIPT_NAME'] + '/products/' + pid,
+ environ['SCRIPT_NAME'] + '/products/' +
+ pid,
m.group('pathinfo') or '')
else:
redirect = REDIRECT_DEFAULT_RE.match(path_info)
@@ -71,6 +73,7 @@ class MultiProductEnvironmentFactory(Env
environ['PATH_INFO'])
return env
+
class ProductizedHref(Href):
PATHS_NO_TRANSFORM = ['chrome',
'login',
@@ -85,6 +88,7 @@ class ProductizedHref(Href):
'css/',
'img/',
]
+
def __init__(self, global_href, base):
self.super = super(ProductizedHref, self)
self.super.__init__(base)
@@ -98,15 +102,17 @@ class ProductizedHref(Href):
return self._global_href(*args, **kwargs)
return self.super.__call__(*args, **kwargs)
+
class ProductRequestWithSession(RequestWithSession):
def __init__(self, env, environ, start_response):
super(ProductRequestWithSession, self).__init__(environ, start_response)
self.base_url = env.base_url
if isinstance(env, multiproduct.env.ProductEnvironment):
self.href = ProductizedHref(env.parent.href, env.href.base)
- self.abs_href = ProductizedHref(env.parent.abs_href, env.abs_href.base)
+ self.abs_href = ProductizedHref(env.parent.abs_href,
+ env.abs_href.base)
class ProductRequestFactory(RequestFactoryBase):
def create_request(self, env, environ, start_response):
- return ProductRequestWithSession(env, environ, start_response)
\ No newline at end of file
+ return ProductRequestWithSession(env, environ, start_response)
Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py
URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py?rev=1494398&r1=1494397&r2=1494398&view=diff
==============================================================================
--- bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py (original)
+++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py Wed Jun 19 00:06:21 2013
@@ -20,21 +20,19 @@
Provides request filtering to capture product related paths
"""
-import re
-from genshi.builder import tag
-from genshi.core import Attrs, QName
-
-from trac.core import Component, implements, TracError
+from trac.core import Component, TracError, implements
from trac.resource import Neighborhood, Resource, ResourceNotFound
from trac.util.translation import _
-from trac.web.api import IRequestHandler, HTTPNotFound
-from trac.web.chrome import (add_link, add_notice, add_warning, prevnext_nav,
- Chrome, INavigationContributor, web_context)
+from trac.web.api import HTTPNotFound, IRequestHandler
+from trac.web.chrome import (
+ Chrome, INavigationContributor, add_link, add_notice, add_warning,
+ prevnext_nav, web_context
+)
+from multiproduct.hooks import PRODUCT_RE
from multiproduct.model import Product
-from multiproduct.hooks import PRODUCT_RE
class ProductModule(Component):
"""Base Product behaviour"""
@@ -56,7 +54,7 @@ class ProductModule(Component):
path_info = req.args.get('pathinfo')
if path_info and path_info != '/':
- raise HTTPNotFound(_('Unable to render product page. Wrong setup ?'))
+ raise HTTPNotFound(_('Unable to render product page. Wrong setup?'))
pid = req.args.get('productid', None)
if pid:
@@ -79,7 +77,7 @@ class ProductModule(Component):
'context': web_context(req, product.resource)}
if req.method == 'POST':
- if req.args.has_key('cancel'):
+ if 'cancel' in req.args:
req.redirect(req.href.products(product.prefix))
elif action == 'edit':
return self._do_save(req, product)
@@ -108,7 +106,7 @@ class ProductModule(Component):
chrome.add_jquery_ui(req)
chrome.add_wiki_toolbars(req)
data = {'product': product,
- 'context' : web_context(req, product.resource)}
+ 'context': web_context(req, product.resource)}
return 'product_edit.html', data, None
def _do_save(self, req, product):
@@ -117,13 +115,13 @@ class ProductModule(Component):
name = req.args.get('name')
prefix = req.args.get('prefix')
- description = req.args.get('description','')
+ description = req.args.get('description', '')
owner = req.args.get('owner') or req.authname
- keys = {'prefix':prefix}
- field_data = {'name':name,
- 'description':description,
- 'owner':owner,
+ keys = {'prefix': prefix}
+ field_data = {'name': name,
+ 'description': description,
+ 'owner': owner,
}
warnings = []
@@ -133,7 +131,7 @@ class ProductModule(Component):
if product._exists:
if name != product.name and Product.select(self.env,
- where={'name':name}):
+ where={'name': name}):
warn(_('A product with name "%(name)s" already exists, please '
'choose a different name.', name=name))
elif not name:
@@ -148,12 +146,12 @@ class ProductModule(Component):
if not prefix:
warn(_('You must provide a prefix for the product.'))
- elif Product.select(self.env, where={'prefix':prefix}):
+ elif Product.select(self.env, where={'prefix': prefix}):
warn(_('Product "%(id)s" already exists, please choose another '
'prefix.', id=prefix))
if not name:
warn(_('You must provide a name for the product.'))
- elif Product.select(self.env, where={'name':name}):
+ elif Product.select(self.env, where={'name': name}):
warn(_('A product with name "%(name)s" already exists, please '
'choose a different name.', name=name))
@@ -171,7 +169,6 @@ class ProductModule(Component):
return self._render_editor(req, product)
req.redirect(req.href.products(prefix))
-
# helper methods for INavigationContributor implementations
@classmethod
def get_product_path(cls, env, req, itempath):
@@ -189,8 +186,9 @@ class ProductModule(Component):
href_fcn = req.href.products
product_list = []
for product in Product.select(env):
- if 'PRODUCT_VIEW' in req.perm(Neighborhood('product', product.prefix).
+ if 'PRODUCT_VIEW' in req.perm(Neighborhood('product',
+ product.prefix).
child(product.resource)):
product_list.append((product.prefix, product.name,
- href_fcn(product.prefix)))
+ href_fcn(product.prefix)))
return product_list