diff --git a/VERSION b/VERSION index ad0bb575..141b1319 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.0.8 (2012-09-09 09:14:46) stable +Version 2.0.8 (2012-09-09 09:20:41) stable diff --git a/gluon/languages.py b/gluon/languages.py index e7212136..95be43b6 100644 --- a/gluon/languages.py +++ b/gluon/languages.py @@ -220,9 +220,9 @@ def read_possible_plurals(): create list of all possible plural rules files result is cached to increase speed """ + plurals = {} try: - import gluon.contrib.plural_rules as package - plurals = {} + import contrib.plural_rules as package for importer, modname, ispkg in pkgutil.iter_modules(package.__path__): if len(modname)==2: module = __import__(package.__name__+'.'+modname) diff --git a/gluon/rewrite.py b/gluon/rewrite.py index 2a6d3af4..da876cd7 100644 --- a/gluon/rewrite.py +++ b/gluon/rewrite.py @@ -1063,6 +1063,11 @@ class MapUrlIn(object): raise HTTP(400, thread.routes.error_message % 'invalid request', web2py_error='invalid arg <%s>' % arg) + def sluggify(self): + "" + self.request.env.update( + (sluggify(k),v) for k,v in self.env.iteritems()) + def update_request(self): ''' update request from self @@ -1091,8 +1096,7 @@ class MapUrlIn(object): urllib.quote('/'+'/'.join(str(x) for x in self.args)) if self.args else '', ('?' + self.query) if self.query else '') self.env['REQUEST_URI'] = uri - self.request.env.update( - (sluggify(k),v) for k,v in self.env.iteritems()) + self.sluggify() @property def arg0(self): @@ -1282,6 +1286,7 @@ def map_url_in(request, env, app=False): # thread.routes = params # default to base routes map = MapUrlIn(request=request, env=env) + map.sluggify() map.map_prefix() # strip prefix if present map.map_app() # determine application @@ -1295,6 +1300,7 @@ def map_url_in(request, env, app=False): root_static_file = map.map_root_static() # handle root-static files if root_static_file: + map.update_request() return (root_static_file, map.env) # handle mapping of lang/static to static/lang in externally-rewritten URLs # in case we have to handle them ourselves diff --git a/gluon/tests/test_dal.py b/gluon/tests/test_dal.py index 9fdeccd3..688408a0 100644 --- a/gluon/tests/test_dal.py +++ b/gluon/tests/test_dal.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- """ - Unit tests for gluon.sql + Unit tests for gluon.dal """ import sys @@ -424,7 +424,7 @@ class TestMinMaxSum(unittest.TestCase): class TestCache(unittest.TestCase): def testRun(self): - from gluon.cache import CacheInRam + from cache import CacheInRam cache = CacheInRam() db = DAL('sqlite:memory:') db.define_table('t', Field('a')) diff --git a/gluon/tests/test_languages.py b/gluon/tests/test_languages.py index 635eeea2..5fda85e6 100644 --- a/gluon/tests/test_languages.py +++ b/gluon/tests/test_languages.py @@ -59,7 +59,10 @@ try: def setUp(self): self.request = Storage() - self.request.folder = 'applications/welcome' + if os.path.isdir('gluon'): + self.request.folder = 'applications/welcome' + else: + self.request.folder = os.path.realpath('../../applications/welcome') self.request.env = Storage() self.request.env.http_accept_language = 'en' diff --git a/gluon/tests/test_markmin.py b/gluon/tests/test_markmin.py index a300d3ed..643a100a 100644 --- a/gluon/tests/test_markmin.py +++ b/gluon/tests/test_markmin.py @@ -11,7 +11,7 @@ else: sys.path.append(os.path.realpath('../')) import unittest -from gluon.contrib.markmin.markmin2html import run_doctests +from contrib.markmin.markmin2html import run_doctests class TestMarkmin(unittest.TestCase): def testMarkmin(self): diff --git a/gluon/tests/test_web.py b/gluon/tests/test_web.py index 54295c88..06cf9a4c 100644 --- a/gluon/tests/test_web.py +++ b/gluon/tests/test_web.py @@ -11,7 +11,7 @@ else: sys.path.append(os.path.realpath('../')) import unittest -from gluon.contrib.webclient import WebClient +from contrib.webclient import WebClient class TestWeb(unittest.TestCase): def testWebClient(self):