Hello community, here is the log from the commit of package python-Routes for openSUSE:Factory checked in at 2015-08-10 09:16:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-Routes (Old) and /work/SRC/openSUSE:Factory/.python-Routes.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Routes" Changes: -------- --- /work/SRC/openSUSE:Factory/python-Routes/python-Routes.changes 2015-04-23 08:04:34.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python-Routes.new/python-Routes.changes 2015-08-10 09:16:41.000000000 +0200 @@ -1,0 +2,8 @@ +Fri Aug 7 08:03:53 UTC 2015 - h...@urpla.net + +- update to 2.2: + * Fix Python 3 support. Patch by Victor Stinner. + +- spell python-WebTest and python-WebOb correctly + +------------------------------------------------------------------- Old: ---- Routes-2.1.tar.gz New: ---- Routes-2.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-Routes.spec ++++++ --- /var/tmp/diff_new_pack.zXoqw2/_old 2015-08-10 09:16:42.000000000 +0200 +++ /var/tmp/diff_new_pack.zXoqw2/_new 2015-08-10 09:16:42.000000000 +0200 @@ -17,7 +17,7 @@ Name: python-Routes -Version: 2.1 +Version: 2.2 Release: 0 Url: http://routes.groovie.org/ Summary: Routing Recognition and Generation Tools @@ -28,11 +28,11 @@ BuildRequires: python-devel BuildRequires: python-setuptools # for testing +BuildRequires: python-WebOb +BuildRequires: python-WebTest BuildRequires: python-coverage BuildRequires: python-nose BuildRequires: python-repoze.lru >= 0.3 -BuildRequires: python-webob -BuildRequires: python-webtest Requires: python-repoze.lru >= 0.3 Provides: python-routes = %{version} ++++++ Routes-2.1.tar.gz -> Routes-2.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/CHANGELOG.rst new/Routes-2.2/CHANGELOG.rst --- old/Routes-2.1/CHANGELOG.rst 2015-01-18 00:17:56.000000000 +0100 +++ new/Routes-2.2/CHANGELOG.rst 2015-07-22 06:42:41.000000000 +0200 @@ -1,6 +1,10 @@ Routes Changelog %%%%%%%%%%%%%%%% +Release 2.2 (July 21, 2015) +=========================== +* Fix Python 3 support. Patch by Victor Stinner. + Release 2.1 (January 17, 2015) ============================== * Fix 3 other route matching groups in route.py to use anonymous groups for diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/LICENSE.txt new/Routes-2.2/LICENSE.txt --- old/Routes-2.1/LICENSE.txt 2015-01-17 18:46:49.000000000 +0100 +++ new/Routes-2.2/LICENSE.txt 2015-07-22 06:40:34.000000000 +0200 @@ -1,4 +1,4 @@ -Copyright (c) 2005-2012 Ben Bangert <b...@groovie.org> +Copyright (c) 2005-2015 Ben Bangert <b...@groovie.org> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/PKG-INFO new/Routes-2.2/PKG-INFO --- old/Routes-2.1/PKG-INFO 2015-01-18 00:20:51.000000000 +0100 +++ new/Routes-2.2/PKG-INFO 2015-07-22 06:44:43.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: Routes -Version: 2.1 +Version: 2.2 Summary: Routing Recognition and Generation Tools Home-page: http://routes.readthedocs.org/ Author: Ben Bangert @@ -24,6 +24,10 @@ Routes Changelog %%%%%%%%%%%%%%%% + Release 2.2 (July 21, 2015) + =========================== + * Fix Python 3 support. Patch by Victor Stinner. + Release 2.1 (January 17, 2015) ============================== * Fix 3 other route matching groups in route.py to use anonymous groups for diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/Routes.egg-info/PKG-INFO new/Routes-2.2/Routes.egg-info/PKG-INFO --- old/Routes-2.1/Routes.egg-info/PKG-INFO 2015-01-18 00:20:48.000000000 +0100 +++ new/Routes-2.2/Routes.egg-info/PKG-INFO 2015-07-22 06:44:43.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: Routes -Version: 2.1 +Version: 2.2 Summary: Routing Recognition and Generation Tools Home-page: http://routes.readthedocs.org/ Author: Ben Bangert @@ -24,6 +24,10 @@ Routes Changelog %%%%%%%%%%%%%%%% + Release 2.2 (July 21, 2015) + =========================== + * Fix Python 3 support. Patch by Victor Stinner. + Release 2.1 (January 17, 2015) ============================== * Fix 3 other route matching groups in route.py to use anonymous groups for diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/Routes.egg-info/requires.txt new/Routes-2.2/Routes.egg-info/requires.txt --- old/Routes-2.1/Routes.egg-info/requires.txt 2015-01-18 00:20:48.000000000 +0100 +++ new/Routes-2.2/Routes.egg-info/requires.txt 2015-07-22 06:44:43.000000000 +0200 @@ -1 +1,2 @@ -repoze.lru>=0.3 +six +repoze.lru>=0.3 \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/docs/conf.py new/Routes-2.2/docs/conf.py --- old/Routes-2.1/docs/conf.py 2015-01-17 18:46:49.000000000 +0100 +++ new/Routes-2.2/docs/conf.py 2015-07-22 06:41:30.000000000 +0200 @@ -36,7 +36,7 @@ # General substitutions. project = 'Routes' -copyright = '2010-2012, Ben Bangert, Mike Orr' +copyright = '2005-2015, Ben Bangert, Mike Orr' # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. @@ -91,7 +91,7 @@ # typographically correct entities. #html_use_smartypants = True - +html_theme = 'classic' html_theme_options = { "bgcolor": "#fff", "footertextcolor": "#666", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/docs/generating.rst new/Routes-2.2/docs/generating.rst --- old/Routes-2.1/docs/generating.rst 2015-01-17 18:46:49.000000000 +0100 +++ new/Routes-2.2/docs/generating.rst 2015-07-22 06:40:34.000000000 +0200 @@ -24,8 +24,8 @@ m.connect("archives", "/archives/{id}", controller="archives", action="view", id=1) - url("blog", id=123) => "/blog/123" - url("blog") => "/blog/1" + url("archives", id=123) => "/archives/123" + url("archives") => "/archives/1" (The extra variable is *not* used for matching unless minimization is enabled.) @@ -128,7 +128,7 @@ This example provides a convenient way to link to a search:: map.connect("google", "http://google.com/", _static=True) - url("google", q="search term") => "/http://google.com/?q=search+term") + url("google", q="search term") => "http://google.com/?q=search+term") This example generates a URL to a static image in a Pylons public directory. Pylons serves the public directory in a way that bypasses Routes, so there's no diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/docs/index.rst new/Routes-2.2/docs/index.rst --- old/Routes-2.1/docs/index.rst 2015-01-17 19:50:09.000000000 +0100 +++ new/Routes-2.2/docs/index.rst 2015-07-22 06:41:30.000000000 +0200 @@ -49,7 +49,7 @@ ============ Bug's can be reported on the `github issue tracker -<https://github.com/bbangert/routes/issues`_. Note that routes is in maintenance +<https://github.com/bbangert/routes/issues>`_. Note that routes is in maintenance mode so bug reports are unlikely to be worked on, pull requests will be applied if submitted with tests. @@ -65,6 +65,7 @@ restful uni_redirect_rest changes + todo .. toctree:: :maxdepth: 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/docs/introduction.rst new/Routes-2.2/docs/introduction.rst --- old/Routes-2.1/docs/introduction.rst 2015-01-17 18:46:49.000000000 +0100 +++ new/Routes-2.2/docs/introduction.rst 2015-07-22 06:40:34.000000000 +0200 @@ -11,7 +11,7 @@ bookmarks. Likewise, if you want to reorganize your URLs and make a section into a subsection, you have to change your carefully-tested logic code. -Routes takes a different approach. You determine your URL hierarchy and and +Routes takes a different approach. You determine your URL hierarchy and actions separately, and then link them together in whichever ways you decide. If you change your mind about a particular URL, just change one line in your route map and never touch your action logic. You can even have multiple URLs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/docs/porting.rst new/Routes-2.2/docs/porting.rst --- old/Routes-2.1/docs/porting.rst 2015-01-17 18:46:49.000000000 +0100 +++ new/Routes-2.2/docs/porting.rst 2015-07-22 06:40:34.000000000 +0200 @@ -37,7 +37,7 @@ matching an incoming URL, it is assumed that the URL path is the only string being matched. All query args should be stripped before matching:: - m.connect('articles/{year}/{month}', controller='blog', action='view', year=None) + m.connect('/articles/{year}/{month}', controller='blog', action='view', year=None) m.match('/articles/2003/10') # {'controller':'blog', 'action':'view', 'year':'2003', 'month':'10'} @@ -46,7 +46,7 @@ differentiate between where the argument came from you can use routematch which will return the Route object that has all these details:: - m.connect('articles/{year}/{month}', controller='blog', action='view', year=None) + m.connect('/articles/{year}/{month}', controller='blog', action='view', year=None) result = m.routematch('/articles/2003/10') # result is a tuple of the match dict and the Route object diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/docs/setting_up.rst new/Routes-2.2/docs/setting_up.rst --- old/Routes-2.1/docs/setting_up.rst 2015-01-17 18:46:49.000000000 +0100 +++ new/Routes-2.2/docs/setting_up.rst 2015-07-22 06:40:34.000000000 +0200 @@ -84,7 +84,7 @@ Another example:: - m.connect("archives/{year}/{month}/{day}", controller="archives", + m.connect("/archives/{year}/{month}/{day}", controller="archives", action="view", year=2004, requirements=dict(year=R"\d{2,4}", month=R"\d{1,2}")) @@ -344,6 +344,7 @@ gives the parent a list of routes to add to its mapper. These can be added with the ``.extend`` method, optionally providing a path prefix:: + from routes.route import Route routes = [ Route("index", "/index.html", controller="home", action="index"), ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/routes/mapper.py new/Routes-2.2/routes/mapper.py --- old/Routes-2.1/routes/mapper.py 2015-01-17 23:15:14.000000000 +0100 +++ new/Routes-2.2/routes/mapper.py 2015-07-22 06:40:34.000000000 +0200 @@ -3,6 +3,7 @@ import threading from repoze.lru import LRUCache +import six from routes import request_config from routes.util import ( @@ -153,7 +154,7 @@ def connect(self, *args, **kwargs): newkargs = {} newargs = args - for key, value in self.kwargs.items(): + for key, value in six.iteritems(self.kwargs): if key == 'path_prefix': if len(args) > 1: newargs = (args[0], self.kwargs[key] + args[1]) @@ -547,8 +548,8 @@ # Setup the lists of all controllers/actions we'll add each route # to. We include the '*' in the case that a generate contains a # controller/action that has no hardcodes - controllerlist = controllerlist.keys() + ['*'] - actionlist = actionlist.keys() + ['*'] + controllerlist = list(controllerlist.keys()) + ['*'] + actionlist = list(actionlist.keys()) + ['*'] # Go through our list again, assemble the controllers/actions we'll # add each route to. If its hardcoded, we only add it to that dict key. @@ -562,7 +563,7 @@ if 'controller' in route.hardcoded: clist = [route.defaults['controller']] if 'action' in route.hardcoded: - alist = [unicode(route.defaults['action'])] + alist = [six.text_type(route.defaults['action'])] for controller in clist: for action in alist: actiondict = gendict.setdefault(controller, {}) @@ -592,7 +593,7 @@ else: clist = self.controller_scan - for key, val in self.maxkeys.iteritems(): + for key, val in six.iteritems(self.maxkeys): for route in val: route.makeregexp(clist) @@ -758,8 +759,8 @@ # If the URL didn't depend on the SCRIPT_NAME, we'll cache it # keyed by just by kargs; otherwise we need to cache it with # both SCRIPT_NAME and kargs: - cache_key = unicode(args).encode('utf8') + \ - unicode(kargs).encode('utf8') + cache_key = six.text_type(args).encode('utf8') + \ + six.text_type(kargs).encode('utf8') if self.urlcache is not None: cache_key_script_name = '%s:%s' % (script_name, cache_key) @@ -782,7 +783,7 @@ keys = frozenset(kargs.keys()) cacheset = False - cachekey = unicode(keys) + cachekey = six.text_type(keys) cachelist = sortcache.get(cachekey) if args: keylist = args @@ -1047,7 +1048,7 @@ def swap(dct, newdct): """Swap the keys and values in the dict, and uppercase the values from the dict during the swap.""" - for key, val in dct.iteritems(): + for key, val in six.iteritems(dct): newdct.setdefault(val.upper(), []).append(key) return newdct collection_methods = swap(collection, {}) @@ -1088,7 +1089,7 @@ return opts # Add the routes for handling collection methods - for method, lst in collection_methods.iteritems(): + for method, lst in six.iteritems(collection_methods): primary = (method != 'GET' and lst.pop(0)) or None route_options = requirements_for(method) for action in lst: @@ -1112,7 +1113,7 @@ action='index', conditions={'method': ['GET']}, **options) # Add the routes that deal with new resource methods - for method, lst in new_methods.iteritems(): + for method, lst in six.iteritems(new_methods): route_options = requirements_for(method) for action in lst: name = "new_" + member_name @@ -1131,7 +1132,7 @@ requirements_regexp = '[^\/]+(?<!\\\)' # Add the routes that deal with member methods of a resource - for method, lst in member_methods.iteritems(): + for method, lst in six.iteritems(member_methods): route_options = requirements_for(method) route_options['requirements'] = {'id': requirements_regexp} if method not in ['POST', 'GET', 'any']: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/routes/route.py new/Routes-2.2/routes/route.py --- old/Routes-2.1/routes/route.py 2015-01-17 23:25:48.000000000 +0100 +++ new/Routes-2.2/routes/route.py 2015-07-22 06:40:34.000000000 +0200 @@ -1,10 +1,12 @@ import re import sys -import urllib - +from six.moves import urllib if sys.version < '2.4': from sets import ImmutableSet as frozenset +import six +from six.moves.urllib import parse as urlparse + from routes.util import _url_quote as url_quote, _str_encode, as_unicode @@ -87,18 +89,18 @@ def _setup_route(self): # Build our routelist, and the keys used in the route self.routelist = routelist = self._pathkeys(self.routepath) - routekeys = frozenset([key['name'] for key in routelist - if isinstance(key, dict)]) - self.dotkeys = frozenset([key['name'] for key in routelist - if isinstance(key, dict) and - key['type'] == '.']) + routekeys = frozenset(key['name'] for key in routelist + if isinstance(key, dict)) + self.dotkeys = frozenset(key['name'] for key in routelist + if isinstance(key, dict) and + key['type'] == '.') if not self.minimization: self.make_full_route() # Build a req list with all the regexp requirements for our args self.req_regs = {} - for key, val in self.reqs.iteritems(): + for key, val in six.iteritems(self.reqs): self.req_regs[key] = re.compile('^' + val + '$') # Update our defaults and set new default keys if needed. defaults # needs to be saved @@ -114,9 +116,9 @@ # Populate our hardcoded keys, these are ones that are set and don't # exist in the route - self.hardcoded = frozenset( - [key for key in self.maxkeys if key not in routekeys and - self.defaults[key] is not None]) + self.hardcoded = frozenset(key for key in self.maxkeys + if key not in routekeys + and self.defaults[key] is not None) # Cache our default keys self._default_keys = frozenset(self.defaults.keys()) @@ -134,14 +136,14 @@ def make_unicode(self, s): """Transform the given argument into a unicode string.""" - if isinstance(s, unicode): + if isinstance(s, six.text_type): return s elif isinstance(s, bytes): return s.decode(self.encoding) elif callable(s): return s else: - return unicode(s) + return six.text_type(s) def _pathkeys(self, routepath): """Utility function to walk the route, and pull out the valid @@ -253,8 +255,8 @@ if 'action' not in routekeys and 'action' not in kargs \ and not self.explicit: kargs['action'] = 'index' - defaultkeys = frozenset([key for key in kargs.keys() - if key not in reserved_keys]) + defaultkeys = frozenset(key for key in kargs.keys() + if key not in reserved_keys) for key in defaultkeys: if kargs[key] is not None: defaults[key] = self.make_unicode(kargs[key]) @@ -266,8 +268,8 @@ if 'id' in routekeys and 'id' not in defaults \ and not self.explicit: defaults['id'] = None - newdefaultkeys = frozenset([key for key in defaults.keys() - if key not in reserved_keys]) + newdefaultkeys = frozenset(key for key in defaults.keys() + if key not in reserved_keys) return (defaults, newdefaultkeys) @@ -554,7 +556,7 @@ matchdict = match.groupdict() result = {} extras = self._default_keys - frozenset(matchdict.keys()) - for key, val in matchdict.iteritems(): + for key, val in six.iteritems(matchdict): if key != 'path_info' and self.encoding: # change back into python unicode objects from the URL # representation @@ -745,7 +747,7 @@ fragments.append((key, _str_encode(val, self.encoding))) if fragments: url += '?' - url += urllib.urlencode(fragments) + url += urlparse.urlencode(fragments) elif _append_slash and not url.endswith('/'): url += '/' return url diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/routes/util.py new/Routes-2.2/routes/util.py --- old/Routes-2.1/routes/util.py 2015-01-17 23:10:33.000000000 +0100 +++ new/Routes-2.2/routes/util.py 2015-07-22 06:40:34.000000000 +0200 @@ -7,7 +7,10 @@ """ import os import re -import urllib + +import six +from six.moves import urllib + from routes import request_config @@ -31,8 +34,8 @@ """ # Coerce any unicode args with the encoding encoding = mapper.encoding - for key, val in kargs.iteritems(): - if isinstance(val, unicode): + for key, val in six.iteritems(kargs): + if isinstance(val, six.text_type): kargs[key] = val.encode(encoding) if mapper.explicit and mapper.sub_domains and not force_explicit: @@ -46,7 +49,7 @@ # If the controller name starts with '/', ignore route memory kargs['controller'] = kargs['controller'][1:] return kargs - elif controller_name and not kargs.has_key('action'): + elif controller_name and 'action' not in kargs: # Fill in an action if we don't have one, but have a controller kargs['action'] = 'index' @@ -57,10 +60,10 @@ memory_kargs = {} # Remove keys from memory and kargs if kargs has them as None - for key in [key for key in kargs.keys() if kargs[key] is None]: + empty_keys = [key for key, value in six.iteritems(kargs) if value is None] + for key in empty_keys: del kargs[key] - if memory_kargs.has_key(key): - del memory_kargs[key] + memory_kargs.pop(key, None) # Merge the new args on top of the memory args memory_kargs.update(kargs) @@ -76,7 +79,7 @@ on the current subdomain or lack therof.""" if mapper.sub_domains: subdomain = kargs.pop('sub_domain', None) - if isinstance(subdomain, unicode): + if isinstance(subdomain, six.text_type): subdomain = str(subdomain) fullhost = environ.get('HTTP_HOST') or environ.get('SERVER_NAME') @@ -107,27 +110,27 @@ def _url_quote(string, encoding): """A Unicode handling version of urllib.quote.""" if encoding: - if isinstance(string, unicode): + if isinstance(string, six.text_type): s = string.encode(encoding) - elif isinstance(string, str): + elif isinstance(string, six.text_type): # assume the encoding is already correct s = string else: - s = unicode(string).encode(encoding) + s = six.text_type(string).encode(encoding) else: s = str(string) - return urllib.quote(s, '/') + return urllib.parse.quote(s, '/') def _str_encode(string, encoding): if encoding: - if isinstance(string, unicode): + if isinstance(string, six.text_type): s = string.encode(encoding) - elif isinstance(string, str): + elif isinstance(string, six.text_type): # assume the encoding is already correct s = string else: - s = unicode(string).encode(encoding) + s = six.text_type(string).encode(encoding) return s @@ -207,16 +210,16 @@ if kargs: url += '?' query_args = [] - for key, val in kargs.iteritems(): + for key, val in six.iteritems(kargs): if isinstance(val, (list, tuple)): for value in val: query_args.append("%s=%s" % ( - urllib.quote(unicode(key).encode(encoding)), - urllib.quote(unicode(value).encode(encoding)))) + urllib.parse.quote(six.text_type(key).encode(encoding)), + urllib.parse.quote(six.text_type(value).encode(encoding)))) else: query_args.append("%s=%s" % ( - urllib.quote(unicode(key).encode(encoding)), - urllib.quote(unicode(val).encode(encoding)))) + urllib.parse.quote(six.text_type(key).encode(encoding)), + urllib.parse.quote(six.text_type(val).encode(encoding)))) url += '&'.join(query_args) environ = getattr(config, 'environ', {}) if 'wsgiorg.routing_args' not in environ: @@ -352,16 +355,16 @@ if kargs: url += '?' query_args = [] - for key, val in kargs.iteritems(): + for key, val in six.iteritems(kargs): if isinstance(val, (list, tuple)): for value in val: query_args.append("%s=%s" % ( - urllib.quote(unicode(key).encode(encoding)), - urllib.quote(unicode(value).encode(encoding)))) + urllib.parse.quote(six.text_type(key).encode(encoding)), + urllib.parse.quote(six.text_type(value).encode(encoding)))) else: query_args.append("%s=%s" % ( - urllib.quote(unicode(key).encode(encoding)), - urllib.quote(unicode(val).encode(encoding)))) + urllib.parse.quote(six.text_type(key).encode(encoding)), + urllib.parse.quote(six.text_type(val).encode(encoding)))) url += '&'.join(query_args) if not static: route_args = [] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/setup.cfg new/Routes-2.2/setup.cfg --- old/Routes-2.1/setup.cfg 2015-01-18 00:20:51.000000000 +0100 +++ new/Routes-2.2/setup.cfg 2015-07-22 06:44:43.000000000 +0200 @@ -1,5 +1,7 @@ -[bdist_wheel] -universal = 1 +[egg_info] +tag_build = +tag_date = 0 +tag_svn_revision = 0 [nosetests] verbose = True @@ -11,10 +13,4 @@ cover-html = True cover-html-dir = html_coverage cover-package = routes -py3where = build - -[egg_info] -tag_svn_revision = 0 -tag_date = 0 -tag_build = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Routes-2.1/setup.py new/Routes-2.2/setup.py --- old/Routes-2.1/setup.py 2015-01-17 23:56:37.000000000 +0100 +++ new/Routes-2.2/setup.py 2015-07-22 06:42:53.000000000 +0200 @@ -1,4 +1,4 @@ -__version__ = '2.1' +__version__ = '2.2' import io import os @@ -18,7 +18,6 @@ } if PY3: - extra_options["use_2to3"] = True if "test" in sys.argv or "develop" in sys.argv: for root, directories, files in os.walk("tests"): for directory in directories: @@ -54,6 +53,7 @@ zip_safe=False, tests_require=['nose', 'webtest', 'webob', 'coverage'], install_requires=[ + "six", "repoze.lru>=0.3" ], **extra_options