Modified: bloodhound/trunk/trac/contrib/sourceforge2trac.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/contrib/sourceforge2trac.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/contrib/sourceforge2trac.py (original) +++ bloodhound/trunk/trac/contrib/sourceforge2trac.py Tue Feb 11 01:52:30 2014 @@ -123,9 +123,9 @@ class FlatXML(object): for c in el: if len(c.getchildren()) == 0: if c.text != None and len(c.text.strip()) != 0: - self.__setattr__(c.tag, c.text) + self.__setattr__(c.tag, c.text) else: - self.__setattr__(c.tag, []) + self.__setattr__(c.tag, []) else: #if c.getchildren()[0].tag == c.tag[:-1]: # c is a set of elements self.__setattr__(c.tag, [FlatXML(x) for x in c.getchildren()]) @@ -552,137 +552,137 @@ def importData(f, env, opt): trac.setMilestoneList([]) for tracker in project.trackers: - # id 100 means no component selected - component_lookup = dict(project.get_categories(noowner=True) + - [("100", None)]) - for t in tracker.tracker_items: - i = trac.addTicket(type=tracker.name, - time=int(t.submit_date), - changetime=int(t.submit_date), - component=component_lookup[t.category_id], - priority=t.priority, - owner=t.assignee \ - if t.assignee not in user_map \ - else user_map[t.assignee], - reporter=t.submitter \ - if t.submitter not in user_map \ - else user_map[t.submitter], - cc=None, - # 100 means no group selected - version=dict(project.groups + - [("100", None)])[t.group_id], - milestone=None, - status=dict(project.statuses)[t.status_id], - resolution=dict(resolutions)[t.resolution_id] \ - if hasattr(t, "resolution_id") else None, - summary=t.summary, - description=t.details, - keywords='sf' + t.id) - - print 'Imported %s as #%d' % (t.id, i) - - if len(t.attachments): - attmsg = "SourceForge attachments:\n" - for a in t.attachments: - attmsg = attmsg + " * [%s %s] (%s) - added by '%s' %s [[BR]] "\ - % (a.url+t.id, a.filename, a.filesize+" bytes", - user_map.get(a.submitter, a.submitter), - time.strftime("%Y-%m-%d %H:%M:%S", - time.localtime(int(a.date)))) - attmsg = attmsg + "''%s ''\n" % (a.description or '') - # empty description is as empty list - trac.addTicketComment(ticket=i, - time=time.strftime("%Y-%m-%d %H:%M:%S", - time.localtime(int(t.submit_date))), - author=None, value=attmsg) - print ' added information about %d attachments for #%d' % \ - (len(t.attachments), i) + # id 100 means no component selected + component_lookup = dict(project.get_categories(noowner=True) + + [("100", None)]) + for t in tracker.tracker_items: + i = trac.addTicket(type=tracker.name, + time=int(t.submit_date), + changetime=int(t.submit_date), + component=component_lookup[t.category_id], + priority=t.priority, + owner=t.assignee \ + if t.assignee not in user_map \ + else user_map[t.assignee], + reporter=t.submitter \ + if t.submitter not in user_map \ + else user_map[t.submitter], + cc=None, + # 100 means no group selected + version=dict(project.groups + + [("100", None)])[t.group_id], + milestone=None, + status=dict(project.statuses)[t.status_id], + resolution=dict(resolutions)[t.resolution_id] \ + if hasattr(t, "resolution_id") else None, + summary=t.summary, + description=t.details, + keywords='sf' + t.id) + + print 'Imported %s as #%d' % (t.id, i) + + if len(t.attachments): + attmsg = "SourceForge attachments:\n" + for a in t.attachments: + attmsg = attmsg + " * [%s %s] (%s) - added by '%s' %s [[BR]] "\ + % (a.url+t.id, a.filename, a.filesize+" bytes", + user_map.get(a.submitter, a.submitter), + time.strftime("%Y-%m-%d %H:%M:%S", + time.localtime(int(a.date)))) + attmsg = attmsg + "''%s ''\n" % (a.description or '') + # empty description is as empty list + trac.addTicketComment(ticket=i, + time=time.strftime("%Y-%m-%d %H:%M:%S", + time.localtime(int(t.submit_date))), + author=None, value=attmsg) + print ' added information about %d attachments for #%d' % \ + (len(t.attachments), i) + + for msg in t.followups: + """ + <followup> + <id>3280792</id> + <submitter>goblinhack</submitter> + <date>1231087739</date> + <details>done</details> + </followup> + """ + trac.addTicketComment(ticket=i, + time=msg.date, + author=msg.submitter, + value=msg.details) + if t.followups: + print ' imported %d messages for #%d' % (len(t.followups), i) - for msg in t.followups: + # Import history """ - <followup> - <id>3280792</id> - <submitter>goblinhack</submitter> - <date>1231087739</date> - <details>done</details> - </followup> + <history_entry> + <id>4452195</id> + <field_name>resolution_id</field_name> + <old_value>100</old_value> + <date>1176043865</date> + <updator>goblinhack</updator> + </history_entry> """ - trac.addTicketComment(ticket=i, - time=msg.date, - author=msg.submitter, - value=msg.details) - if t.followups: - print ' imported %d messages for #%d' % (len(t.followups), i) + revision = t.__dict__.copy() - # Import history - """ - <history_entry> - <id>4452195</id> - <field_name>resolution_id</field_name> - <old_value>100</old_value> - <date>1176043865</date> - <updator>goblinhack</updator> - </history_entry> - """ - revision = t.__dict__.copy() - - # iterate the history in reverse order and update ticket revision from - # current (last) to initial - changes = 0 - for h in sorted(t.history_entries, reverse=True): - """ - Processed fields (field - notes): - IP - no target field, just skip - summary - priority - close_date - assigned_to - - Fields not processed (field: explanation): - File Added - TODO - resolution_id - need to update used_resolutions - status_id - artifact_group_id - category_id - group_id - """ - f = None - if h.field_name in ("IP",): - changes += 1 - continue - elif h.field_name in ("summary", "priority"): - f = h.field_name - oldvalue = h.old_value - newvalue = revision.get(h.field_name, None) - elif h.field_name == 'assigned_to': - f = "owner" - newvalue = revision['assignee'] - if h.old_value == '100': # was not assigned - revision['assignee'] = None - oldvalue = None - else: - username = project.users[h.old_value] - if username in user_map: username = user_map[username] - revision['assignee'] = oldvalue = username - elif h.field_name == 'close_date' and revision['close_date'] != 0: - f = 'status' - oldvalue = 'assigned' - newvalue = 'closed' - - if f: - changes += 1 - trac.addTicketChange(ticket=i, - time=h.date, - author=h.updator, - field=f, - oldvalue=oldvalue, - newvalue=newvalue) - - if h.field_name != 'assigned_to': - revision[h.field_name] = h.old_value - if changes: - print ' processed %d out of %d history items for #%d' % \ - (changes, len(t.history_entries), i) + # iterate the history in reverse order and update ticket revision from + # current (last) to initial + changes = 0 + for h in sorted(t.history_entries, reverse=True): + """ + Processed fields (field - notes): + IP - no target field, just skip + summary + priority + close_date + assigned_to + + Fields not processed (field: explanation): + File Added - TODO + resolution_id - need to update used_resolutions + status_id + artifact_group_id + category_id + group_id + """ + f = None + if h.field_name in ("IP",): + changes += 1 + continue + elif h.field_name in ("summary", "priority"): + f = h.field_name + oldvalue = h.old_value + newvalue = revision.get(h.field_name, None) + elif h.field_name == 'assigned_to': + f = "owner" + newvalue = revision['assignee'] + if h.old_value == '100': # was not assigned + revision['assignee'] = None + oldvalue = None + else: + username = project.users[h.old_value] + if username in user_map: username = user_map[username] + revision['assignee'] = oldvalue = username + elif h.field_name == 'close_date' and revision['close_date'] != 0: + f = 'status' + oldvalue = 'assigned' + newvalue = 'closed' + + if f: + changes += 1 + trac.addTicketChange(ticket=i, + time=h.date, + author=h.updator, + field=f, + oldvalue=oldvalue, + newvalue=newvalue) + + if h.field_name != 'assigned_to': + revision[h.field_name] = h.old_value + if changes: + print ' processed %d out of %d history items for #%d' % \ + (changes, len(t.history_entries), i) def main():
Modified: bloodhound/trunk/trac/doc/utils/runepydoc.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/doc/utils/runepydoc.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/doc/utils/runepydoc.py (original) +++ bloodhound/trunk/trac/doc/utils/runepydoc.py Tue Feb 11 01:52:30 2014 @@ -52,4 +52,3 @@ _DocumentPseudoWriter.get_transforms = p # Run epydoc cli() - Modified: bloodhound/trunk/trac/sample-plugins/permissions/public_wiki_policy.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/sample-plugins/permissions/public_wiki_policy.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/sample-plugins/permissions/public_wiki_policy.py (original) +++ bloodhound/trunk/trac/sample-plugins/permissions/public_wiki_policy.py Tue Feb 11 01:52:30 2014 @@ -60,4 +60,3 @@ class PublicWikiPolicy(Component): if action.startswith('WIKI_'): return True # this policy ''may'' grant permissions on some wiki pages - Modified: bloodhound/trunk/trac/sample-plugins/revision_links.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/sample-plugins/revision_links.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/sample-plugins/revision_links.py (original) +++ bloodhound/trunk/trac/sample-plugins/revision_links.py Tue Feb 11 01:52:30 2014 @@ -53,4 +53,3 @@ class RevisionLinks(Component): pass return tag.a(label, class_="missing changeset", rel="nofollow", href=formatter.href.changeset(rev)) - Modified: bloodhound/trunk/trac/trac/attachment.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/attachment.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/attachment.py (original) +++ bloodhound/trunk/trac/trac/attachment.py Tue Feb 11 01:52:30 2014 @@ -1113,4 +1113,3 @@ class AttachmentAdmin(Component): finally: if destination is not None: output.close() - Modified: bloodhound/trunk/trac/trac/db/pool.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/db/pool.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/db/pool.py (original) +++ bloodhound/trunk/trac/trac/db/pool.py Tue Feb 11 01:52:30 2014 @@ -214,4 +214,3 @@ class ConnectionPool(object): def shutdown(self, tid=None): _backend.shutdown(tid) - Modified: bloodhound/trunk/trac/trac/db/postgres_backend.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/db/postgres_backend.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/db/postgres_backend.py (original) +++ bloodhound/trunk/trac/trac/db/postgres_backend.py Tue Feb 11 01:52:30 2014 @@ -260,4 +260,3 @@ class PostgreSQLConnection(ConnectionWra def cursor(self): return IterableCursor(self.cnx.cursor(), self.log) - Modified: bloodhound/trunk/trac/trac/db/tests/__init__.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/db/tests/__init__.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/db/tests/__init__.py (original) +++ bloodhound/trunk/trac/trac/db/tests/__init__.py Tue Feb 11 01:52:30 2014 @@ -15,4 +15,3 @@ def suite(): if __name__ == '__main__': unittest.main(defaultTest='suite') - Modified: bloodhound/trunk/trac/trac/db/tests/functional.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/db/tests/functional.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/db/tests/functional.py (original) +++ bloodhound/trunk/trac/trac/db/tests/functional.py Tue Feb 11 01:52:30 2014 @@ -26,4 +26,3 @@ def functionalSuite(suite=None): if __name__ == '__main__': unittest.main(defaultTest='functionalSuite') - Modified: bloodhound/trunk/trac/trac/env.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/env.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/env.py (original) +++ bloodhound/trunk/trac/trac/env.py Tue Feb 11 01:52:30 2014 @@ -19,7 +19,7 @@ from __future__ import with_statement import os.path -import pkg_resources +import pkg_resources import setuptools import sys from urlparse import urlsplit Modified: bloodhound/trunk/trac/trac/hooks.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/hooks.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/hooks.py (original) +++ bloodhound/trunk/trac/trac/hooks.py Tue Feb 11 01:52:30 2014 @@ -91,7 +91,7 @@ def request_factory(env): class BootstrapHandlerBase(object): """Objects responsible for loading the target environment and - request objects used in subsequent dispatching. + request objects used in subsequent dispatching. """ def open_environment(self, environ, start_response): """Load and initialize target Trac environment involved in request @@ -108,14 +108,14 @@ class BootstrapHandlerBase(object): || trac.base_url || TRAC_BASE_URL || Trac base URL hint || A new entry named 'trac.env_name' identifying environment SHOULD be - added (e.g. used by tracd to choose authentication realms). + added (e.g. used by tracd to choose authentication realms). As a side-effect the WSGI environment dict (i.e. `environ`) may be modified in many different ways to prepare it for subsequent dispatching. This method may handle the request (e.g. render environment index page) - in case environment lookup yields void results. In that case it MUST - invoke WSGI `write` callable returned by `start_response` and raise + in case environment lookup yields void results. In that case it MUST + invoke WSGI `write` callable returned by `start_response` and raise `trac.web.api.RequestDone` exception. :param environ: WSGI environment dict @@ -124,9 +124,9 @@ class BootstrapHandlerBase(object): :throws RequestDone: if the request is fully processed while loading target environment e.g. environment index page :throws EnvironmentError: if it is impossible to find a way to locate - target environment e.g. TRAC_ENV and + target environment e.g. TRAC_ENV and TRAC_ENV_PARENT_DIR both missing - :throws Exception: any other exception will be processed by the caller + :throws Exception: any other exception will be processed by the caller in order to send a generic error message back to the HTTP client """ @@ -135,7 +135,7 @@ class BootstrapHandlerBase(object): def default_probe_environment(self, environ): """By default it will invoke `open_environment` and discard the resulting environment object. This approach is generic but not - efficient. Should be overridden whenever possible. + efficient. Should be overridden whenever possible. """ # If the expected configuration keys aren't found in the WSGI environment, # try looking them up in the process environment variables @@ -151,7 +151,7 @@ class BootstrapHandlerBase(object): os.getenv('TRAC_BASE_URL')) try: - self.open_environment(environ, + self.open_environment(environ, lambda status, headers: (lambda data: None)) except Exception: # Handle all exceptions; else potential HTTP protocol violation @@ -159,21 +159,21 @@ class BootstrapHandlerBase(object): def probe_environment(self, environ): """This method is aimed at providing a lightweight version of - `open_environment` by solely applying upon `environ` the side effects + `open_environment` by solely applying upon `environ` the side effects needed to dispatch the request in environment context. By default it will invoke `open_environment` and discard the resulting environment object. Specialized versions will have the chance to implement more efficient strategies in case environment - instantiation may be avoided. + instantiation may be avoided. :return: None """ self.default_probe_environment(environ) - + def create_request(self, env, environ, start_response): """Instantiate request object used in subsequent request dispatching - + :param env: target Trac environment returned by `open_environment` :param environ: WSGI environment dict :param start_response: WSGI callback for starting the response @@ -183,10 +183,10 @@ class BootstrapHandlerBase(object): class DefaultBootstrapHandler(BootstrapHandlerBase): """Default bootstrap handler - + - Load environment based on URL path. - Instantiate RequestWithSession - + Notice: This class is a straightforward refactoring of factories implementation. """ @@ -204,7 +204,7 @@ class DefaultBootstrapHandler(BootstrapH # environment path_info = environ.get('PATH_INFO', '').lstrip('/').split('/') env_name = path_info.pop(0) - + if not env_name: # No specific environment requested, so render an environment # index page @@ -214,7 +214,7 @@ class DefaultBootstrapHandler(BootstrapH environ['trac.env_name'] = env_name errmsg = None - + # To make the matching patterns of request handlers work, we append # the environment name to the `SCRIPT_NAME` variable, and keep only # the remaining path in the `PATH_INFO` variable. @@ -224,24 +224,24 @@ class DefaultBootstrapHandler(BootstrapH # (as Href expects unicode parameters) environ['SCRIPT_NAME'] = Href(script_name)(env_name) environ['PATH_INFO'] = '/' + '/'.join(path_info) - + if env_parent_dir: env_path = os.path.join(env_parent_dir, env_name) else: env_path = get_environments(environ).get(env_name) - + if not env_path or not os.path.isdir(env_path): errmsg = 'Environment not found' except UnicodeDecodeError: errmsg = 'Invalid URL encoding (was %r)' % script_name - + if errmsg: write = start_response('404 Not Found', [('Content-Type', 'text/plain'), ('Content-Length', str(len(errmsg)))]) write(errmsg) raise RequestDone - + if not env_path: raise EnvironmentError('The environment options "TRAC_ENV" or ' '"TRAC_ENV_PARENT_DIR" or the mod_python ' @@ -249,7 +249,7 @@ class DefaultBootstrapHandler(BootstrapH 'missing. Trac requires one of these options ' 'to locate the Trac environment(s).') run_once = environ['wsgi.run_once'] - + env = None self.global_env = global_env = None try: Modified: bloodhound/trunk/trac/trac/perm.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/perm.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/perm.py (original) +++ bloodhound/trunk/trac/trac/perm.py Tue Feb 11 01:52:30 2014 @@ -462,7 +462,7 @@ class PermissionSystem(Component): resource = None elif resource.neighborhood is not None: try: - compmgr = manager_for_neighborhood(self.env, + compmgr = manager_for_neighborhood(self.env, resource.neighborhood) except ResourceNotFound: #FIXME: raise ? Modified: bloodhound/trunk/trac/trac/resource.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/resource.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/resource.py (original) +++ bloodhound/trunk/trac/trac/resource.py Tue Feb 11 01:52:30 2014 @@ -97,7 +97,7 @@ class IExternalResourceConnector(Interfa """ def manager_exists(neighborhood): - """Check whether the component manager identified by + """Check whether the component manager identified by the given `neighborhood` exists physically. :param neighborhood: manager identifier (i.e. `Neighborhood`) @@ -109,7 +109,7 @@ class IExternalResourceConnector(Interfa class Neighborhood(object): - """Neighborhoods are the topmost level in the resources hierarchy. + """Neighborhoods are the topmost level in the resources hierarchy. They represent resources managed by a component manager, thereby identifying the later. As such, resource neighborhoods serve to the purpose of specifying absolute references to resources hosted beyond @@ -302,7 +302,7 @@ class Resource(object): if self.neighborhood is None: return '<Resource %r>' % (', '.join(path)) else: - return '<Resource %r in Neighborhood %s:%s>' % (', '.join(path), + return '<Resource %r in Neighborhood %s:%s>' % (', '.join(path), self.neighborhood._realm, self.neighborhood._id) @@ -532,18 +532,18 @@ class ResourceSystem(Component): if default is not None: return default else: - raise ResourceNotFound('Unexpected neighborhood %s' % + raise ResourceNotFound('Unexpected neighborhood %s' % (neighborhood,)) c = self.get_resource_connector(neighborhood._realm) if c is None: - raise ResourceNotFound('Missing connector for neighborhood %s' % + raise ResourceNotFound('Missing connector for neighborhood %s' % (neighborhood,)) return c.load_manager(neighborhood) def neighborhood_prefix(self, neighborhood): return '' if neighborhood is None \ else '[%s:%s] ' % (neighborhood._realm, - neighborhood._id or '') + neighborhood._id or '') # -- Utilities to trigger resources event notifications @@ -571,7 +571,7 @@ class ResourceSystem(Component): def manager_for_neighborhood(compmgr, neighborhood): """Instantiate a given component manager identified by target neighborhood. - + :param compmgr: Source component manager. :param neighborhood: Target neighborhood :throws ResourceNotFound: if there is no connector for neighborhood @@ -670,7 +670,7 @@ def get_resource_description(env, resour manager = rsys.get_resource_manager(resource.realm) if manager and hasattr(manager, 'get_resource_description'): return manager.get_resource_description(resource, format, **kwargs) - nbhprefix = rsys.neighborhood_prefix(resource.neighborhood) + nbhprefix = rsys.neighborhood_prefix(resource.neighborhood) name = u'%s%s:%s' % (nbhprefix, resource.realm, resource.id) if format == 'summary': Modified: bloodhound/trunk/trac/trac/search/__init__.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/search/__init__.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/search/__init__.py (original) +++ bloodhound/trunk/trac/trac/search/__init__.py Tue Feb 11 01:52:30 2014 @@ -1 +1 @@ -from trac.search.api import * \ No newline at end of file +from trac.search.api import * Modified: bloodhound/trunk/trac/trac/tests/core.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/tests/core.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/tests/core.py (original) +++ bloodhound/trunk/trac/trac/tests/core.py Tue Feb 11 01:52:30 2014 @@ -336,12 +336,12 @@ class ComponentTestCase(unittest.TestCas mgr = ManagerComponent('Test', 42) yamc = YetAnotherManagerComponent('y', 'z') - assert yamc[ManagerComponent] is None - assert mgr[YetAnotherManagerComponent] is None - assert yamc[ComponentManager] is None - assert self.compmgr[YetAnotherManagerComponent] is None - assert mgr[ComponentManager] is None - assert self.compmgr[ManagerComponent] is None + assert yamc[ManagerComponent] is None + assert mgr[YetAnotherManagerComponent] is None + assert yamc[ComponentManager] is None + assert self.compmgr[YetAnotherManagerComponent] is None + assert mgr[ComponentManager] is None + assert self.compmgr[ManagerComponent] is None self.assertTrue(any(c.__class__ is YetAnotherManagerComponent for c in ComponentA(yamc).tests)) Modified: bloodhound/trunk/trac/trac/tests/functional/compat.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/tests/functional/compat.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/tests/functional/compat.py (original) +++ bloodhound/trunk/trac/trac/tests/functional/compat.py Tue Feb 11 01:52:30 2014 @@ -15,4 +15,3 @@ def rmtree(root): os.chmod(path, 0666) fn(path) return shutil.rmtree(root, onerror=_handle_error) - Modified: bloodhound/trunk/trac/trac/tests/functional/svntestenv.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/tests/functional/svntestenv.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/tests/functional/svntestenv.py (original) +++ bloodhound/trunk/trac/trac/tests/functional/svntestenv.py Tue Feb 11 01:52:30 2014 @@ -76,4 +76,3 @@ class SvnFunctionalTestEnvironment(Funct args = e.args + (output, ) raise Exception(*args) return int(revision) - Modified: bloodhound/trunk/trac/trac/tests/resource.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/tests/resource.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/tests/resource.py (original) +++ bloodhound/trunk/trac/trac/tests/resource.py Tue Feb 11 01:52:30 2014 @@ -51,7 +51,7 @@ class NeighborhoodTestCase(unittest.Test # Plain equalities self.assertEqual(resource.Neighborhood(), resource.Neighborhood()) self.assertEqual(resource.Neighborhood(None), resource.Neighborhood()) - self.assertEqual(resource.Neighborhood('realm'), + self.assertEqual(resource.Neighborhood('realm'), resource.Neighborhood('realm')) self.assertEqual(resource.Neighborhood('realm', 'id'), resource.Neighborhood('realm', 'id')) @@ -67,7 +67,7 @@ class NeighborhoodTestCase(unittest.Test # Plain equalities self.assertEqual(nbh(resource.Resource()), nbh(resource.Resource())) self.assertEqual(nbh(resource.Resource(None)), nbh(resource.Resource())) - self.assertEqual(nbh(resource.Resource('wiki')), + self.assertEqual(nbh(resource.Resource('wiki')), nbh(resource.Resource('wiki'))) self.assertEqual(nbh(resource.Resource('wiki', 'WikiStart')), nbh(resource.Resource('wiki', 'WikiStart'))) @@ -78,11 +78,11 @@ class NeighborhoodTestCase(unittest.Test nbh(resource.Resource('wiki', 'WikiStart', 43))) self.assertNotEqual(nbh(resource.Resource('wiki', 'WikiStart', 0)), nbh(resource.Resource('wiki', 'WikiStart', None))) - self.assertNotEqual(nbh1(resource.Resource()), + self.assertNotEqual(nbh1(resource.Resource()), nbh(resource.Resource())) - self.assertNotEqual(nbh1(resource.Resource(None)), + self.assertNotEqual(nbh1(resource.Resource(None)), nbh(resource.Resource())) - self.assertNotEqual(nbh1(resource.Resource('wiki')), + self.assertNotEqual(nbh1(resource.Resource('wiki')), nbh(resource.Resource('wiki'))) self.assertNotEqual(nbh1(resource.Resource('wiki', 'WikiStart')), nbh(resource.Resource('wiki', 'WikiStart'))) @@ -110,15 +110,15 @@ class NeighborhoodTestCase(unittest.Test src.parent = resource.Resource('wiki', 'WikiStart') src.parent.parent = resource.Resource('x', 'y') - self.assertTrue(all(r.neighborhood is nbh + self.assertTrue(all(r.neighborhood is nbh for r in enum_parents(nbh(src)))) - self.assertTrue(all(r.neighborhood is None + self.assertTrue(all(r.neighborhood is None for r in enum_parents(src))) src = nbh1(src) - self.assertTrue(all(r.neighborhood is nbh + self.assertTrue(all(r.neighborhood is nbh for r in enum_parents(nbh(src)))) - self.assertTrue(all(r.neighborhood is nbh1 + self.assertTrue(all(r.neighborhood is nbh1 for r in enum_parents(src))) Modified: bloodhound/trunk/trac/trac/tests/wikisyntax.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/tests/wikisyntax.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/tests/wikisyntax.py (original) +++ bloodhound/trunk/trac/trac/tests/wikisyntax.py Tue Feb 11 01:52:30 2014 @@ -188,4 +188,3 @@ def suite(): if __name__ == '__main__': unittest.main(defaultTest='suite') - Modified: bloodhound/trunk/trac/trac/ticket/api.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/ticket/api.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/ticket/api.py (original) +++ bloodhound/trunk/trac/trac/ticket/api.py Tue Feb 11 01:52:30 2014 @@ -165,13 +165,13 @@ class ITicketFieldProvider(Interface): """Returns a list of select fields, each as a tuple of (rank, field) where field is a dictionary that defines: - * name: the field name + * name: the field name * pk: the primary key of the field table * label: the label to display, preferably wrapped with N_() * cls: the model describing the field the following keys can also usefully be defined: * optional: a boolean specifying that the select can be empty - + The rank is expected to be an integer to specify the sorting of the select and radio fields. This is not intended to allow for the extent of configurability of the custom fields but allows a plugin to mix in @@ -342,11 +342,11 @@ class TicketSystem(Component): # Default select and radio fields selects = [] - [selects.extend(field_provider.get_select_fields()) + [selects.extend(field_provider.get_select_fields()) for field_provider in self.ticket_field_providers] [select.update({'type': 'select'}) for n, select in selects] radios = [] - [radios.extend(field_provider.get_radio_fields()) + [radios.extend(field_provider.get_radio_fields()) for field_provider in self.ticket_field_providers] [radio.update({'type': 'radio', 'optional': True}) for n, radio in radios] @@ -644,17 +644,17 @@ class TicketSystem(Component): def get_select_fields(self): """Default select and radio fields""" from trac.ticket import model - selects = [(10, {'name': 'type', 'label': N_('Type'), + selects = [(10, {'name': 'type', 'label': N_('Type'), 'cls': model.Type}), - (30, {'name':'priority', 'label': N_('Priority'), + (30, {'name':'priority', 'label': N_('Priority'), 'cls': model.Priority}), - (40, {'name': 'milestone', 'label': N_('Milestone'), + (40, {'name': 'milestone', 'label': N_('Milestone'), 'cls': model.Milestone, 'optional': True}), - (50, {'name': 'component', 'label': N_('Component'), + (50, {'name': 'component', 'label': N_('Component'), 'cls': model.Component}), - (60, {'name': 'version', 'label': N_('Version'), + (60, {'name': 'version', 'label': N_('Version'), 'cls': model.Version, 'optional': True}), - (70, {'name': 'severity', 'label': N_('Severity'), + (70, {'name': 'severity', 'label': N_('Severity'), 'cls': model.Severity})] return selects @@ -663,6 +663,6 @@ class TicketSystem(Component): from trac.ticket import model radios = [(20, {'name': 'status', 'label': N_('Status'), 'cls': model.Status}), - (80, {'name': 'resolution', 'label': N_('Resolution'), + (80, {'name': 'resolution', 'label': N_('Resolution'), 'cls': model.Resolution})] return radios Modified: bloodhound/trunk/trac/trac/ticket/model.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/ticket/model.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/ticket/model.py (original) +++ bloodhound/trunk/trac/trac/ticket/model.py Tue Feb 11 01:52:30 2014 @@ -244,7 +244,7 @@ class Ticket(object): rows = db("""SELECT id FROM ticket WHERE uid=%s""", (tkt_id,)) if len(rows) != 1: # One row SHOULD always be retrieved, but if it does not - # then insertion MUST fail since the cause may be a bug in + # then insertion MUST fail since the cause may be a bug in # BH SQL translator executing previous INSERT without # product prefix properly setup. # By raising the error the transaction should be rolled back Modified: bloodhound/trunk/trac/trac/ticket/report.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/ticket/report.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/ticket/report.py (original) +++ bloodhound/trunk/trac/trac/ticket/report.py Tue Feb 11 01:52:30 2014 @@ -436,13 +436,13 @@ class ReportModule(Component): offset) if len(res) == 2: - e, sql = res - data['message'] = \ - tag_("Report execution failed: %(error)s %(sql)s", - error=tag.pre(exception_to_unicode(e)), - sql=tag(tag.hr(), - tag.pre(sql, style="white-space: pre"))) - return 'report_view.html', data, None + e, sql = res + data['message'] = \ + tag_("Report execution failed: %(error)s %(sql)s", + error=tag.pre(exception_to_unicode(e)), + sql=tag(tag.hr(), + tag.pre(sql, style="white-space: pre"))) + return 'report_view.html', data, None cols, results, num_items, missing_args, limit_offset = res need_paginator = limit > 0 and limit_offset Modified: bloodhound/trunk/trac/trac/ticket/tests/batch.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/ticket/tests/batch.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/ticket/tests/batch.py (original) +++ bloodhound/trunk/trac/trac/ticket/tests/batch.py Tue Feb 11 01:52:30 2014 @@ -13,7 +13,7 @@ class BatchModifyTestCase(unittest.TestC def setUp(self): self.env = EnvironmentStub(default_data=True, enable=[default_workflow.ConfigurableTicketWorkflow, - web_ui.TicketModule, + web_ui.TicketModule, api.TicketSystem]) self.req = Mock(href=self.env.href, authname='anonymous', tz=utc) self.req.session = {} Modified: bloodhound/trunk/trac/trac/ticket/tests/wikisyntax.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/ticket/tests/wikisyntax.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/ticket/tests/wikisyntax.py (original) +++ bloodhound/trunk/trac/trac/ticket/tests/wikisyntax.py Tue Feb 11 01:52:30 2014 @@ -401,4 +401,3 @@ def suite(): if __name__ == '__main__': unittest.main(defaultTest='suite') - Modified: bloodhound/trunk/trac/trac/ticket/web_ui.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/ticket/web_ui.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/ticket/web_ui.py (original) +++ bloodhound/trunk/trac/trac/ticket/web_ui.py Tue Feb 11 01:52:30 2014 @@ -307,7 +307,7 @@ class TicketModule(Component): ev = produce_event(data, status, fields, comment, cid) if ev: - yield (ev, data[1]) + yield (ev, data[1]) status, fields, comment, cid = 'edit', {}, '', None data = (id, t, author, type, summary, None) if field == 'comment': Modified: bloodhound/trunk/trac/trac/timeline/api.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/timeline/api.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/timeline/api.py (original) +++ bloodhound/trunk/trac/trac/timeline/api.py Tue Feb 11 01:52:30 2014 @@ -69,5 +69,3 @@ class ITimelineEventProvider(Interface): the 'url' :param event: the event tuple, as returned by `get_timeline_events` """ - - Modified: bloodhound/trunk/trac/trac/upgrades/db18.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/upgrades/db18.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/upgrades/db18.py (original) +++ bloodhound/trunk/trac/trac/upgrades/db18.py Tue Feb 11 01:52:30 2014 @@ -61,4 +61,3 @@ def do_upgrade(env, ver, cursor): cursor.execute("DROP TABLE session_old") cursor.execute("DROP TABLE ticket_change_old") - Modified: bloodhound/trunk/trac/trac/upgrades/db6.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/upgrades/db6.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/upgrades/db6.py (original) +++ bloodhound/trunk/trac/trac/upgrades/db6.py Tue Feb 11 01:52:30 2014 @@ -9,4 +9,3 @@ CREATE TABLE ticket_custom ( def do_upgrade(env, ver, cursor): cursor.execute(sql) - Modified: bloodhound/trunk/trac/trac/util/dist.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/util/dist.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/util/dist.py (original) +++ bloodhound/trunk/trac/trac/util/dist.py Tue Feb 11 01:52:30 2014 @@ -17,4 +17,3 @@ try: from trac.dist import extract_javascript_script except ImportError: pass - Modified: bloodhound/trunk/trac/trac/versioncontrol/tests/svn_authz.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/versioncontrol/tests/svn_authz.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/versioncontrol/tests/svn_authz.py (original) +++ bloodhound/trunk/trac/trac/versioncontrol/tests/svn_authz.py Tue Feb 11 01:52:30 2014 @@ -398,4 +398,3 @@ def suite(): if __name__ == '__main__': runner = unittest.TextTestRunner() runner.run(suite()) - Modified: bloodhound/trunk/trac/trac/web/chrome.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/web/chrome.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/web/chrome.py (original) +++ bloodhound/trunk/trac/trac/web/chrome.py Tue Feb 11 01:52:30 2014 @@ -1170,4 +1170,3 @@ class Chrome(Component): def _stream_location(self, stream): for kind, data, pos in stream: return pos - Modified: bloodhound/trunk/trac/trac/web/main.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/web/main.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/web/main.py (original) +++ bloodhound/trunk/trac/trac/web/main.py Tue Feb 11 01:52:30 2014 @@ -387,7 +387,7 @@ def dispatch_request(environ, start_resp environ.get('wsgi.errors')) # Determine the environment - + env = env_error = None try: env = bootstrap.open_environment(environ, start_response) @@ -404,7 +404,7 @@ def dispatch_request(environ, start_resp try: if env.base_url_for_redirect: environ['trac.base_url'] = env.base_url - + # Web front-end type and version information if not hasattr(env, 'webfrontend'): mod_wsgi_version = environ.get('mod_wsgi.version') Modified: bloodhound/trunk/trac/trac/wiki/tests/wikisyntax.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/wiki/tests/wikisyntax.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/trac/wiki/tests/wikisyntax.py (original) +++ bloodhound/trunk/trac/trac/wiki/tests/wikisyntax.py Tue Feb 11 01:52:30 2014 @@ -675,7 +675,7 @@ def wiki_setup(tc): This is the InterMapTxt ---- {{{ -MeatBall http://www.usemod.com/cgi-bin/mb.pl? # $1 in MeatBall... +MeatBall http://www.usemod.com/cgi-bin/mb.pl? # $1 in MeatBall... tsvn tsvn: complex http://server/$1/page/$2?format=txt # resource $2 in $1 over http://unused/? # Overridden in trac.ini Modified: bloodhound/trunk/trac/tracopt/versioncontrol/svn/svn_fs.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/trac/tracopt/versioncontrol/svn/svn_fs.py?rev=1566948&r1=1566947&r2=1566948&view=diff ============================================================================== --- bloodhound/trunk/trac/tracopt/versioncontrol/svn/svn_fs.py (original) +++ bloodhound/trunk/trac/tracopt/versioncontrol/svn/svn_fs.py Tue Feb 11 01:52:30 2014 @@ -1093,4 +1093,3 @@ def DiffChangeEditor(): self.deltas.append((path, Node.FILE, Changeset.EDIT)) return DiffChangeEditor() -
