Hi,
There are a few places in the code which are a bit buggy (it looks like
code that should be 'changed' already but where skipped)
It is about parsing the extension from the erquest url. In some places
rsplit is used (which is correct) but in other places split is used which
can cause problems in some situations.
Should be nice if this will be fixed in the next release..
diff -u -r web2py/gluon/compileapp.py ../web2py/gluon/compileapp.py
--- web2py/gluon/compileapp.py 2012-03-04 23:11:41.000000000 +0100
+++ ../web2py/gluon/compileapp.py 2012-05-01 16:37:18.902869042 +0200
@@ -128,7 +128,7 @@
attr['_id']=target
request = current.request
if '.' in f:
- f, extension = f.split('.',1)
+ f, extension = f.rsplit('.',1)
if url or ajax:
url = url or URL(request.application, c, f, r=request,
args=args, vars=vars, extension=extension,
@@ -235,7 +235,7 @@
attr['_id']=target
request = self.environment['request']
if '.' in f:
- f, extension = f.split('.',1)
+ f, extension = f.rsplit('.',1)
if url or ajax:
url = url or html.URL(request.application, c, f, r=request,
args=args, vars=vars, extension=extension
,
diff -u -r web2py/gluon/html.py ../web2py/gluon/html.py
--- web2py/gluon/html.py 2012-03-04 23:11:41.000000000 +0100
+++ ../web2py/gluon/html.py 2012-05-01 16:35:18.138211870 +0200
@@ -266,7 +266,7 @@
else:
function = f
if '.' in function:
- function, extension = function.split('.', 1)
+ function, extension = function.rsplit('.', 1)
function2 = '%s.%s' % (function,extension or 'html')