2010/9/30 andrei <[email protected]>: > In web.database declaration there is dburl param, that is never used. > > Maybe, if its not None, the keywords for database initialization > should be taken from parsed url. > > In this case I suggest using something similar to parse_rfc1738_args > function found in Django code. I've slightly modified it to support > webpy database keywords: > > def parse_rfc1738_args(name): > pattern = re.compile(r''' > (?P<dbn>\w+):// > (?: > (?P<user>[^:/]*) > (?::(?P<pw>[^/]*))? > @)? > (?: > (?P<host>[^/:]*) > (?::(?P<port>[^/]*))? > )? > (?:/(?P<db>.*))? > ''' > , re.X) > m = pattern.match(name) > if m is not None: > components = m.groupdict() > if components['db'] is not None: > tokens = components['db'].split('?', 2) > components['db'] = tokens[0] > query = (len(tokens) > 1 and > dict(cgi.parse_qsl(tokens[1]))) or None > if query is not None: > query = dict([(k.encode('ascii'), query[k]) for k in > query]) > components+= query > if components['pw'] is not None: > components['pw'] = urllib.unquote_plus(components['pw']) > args = dict() > for k, v in components.iteritems(): > if v: > args[k] = v > return args > else: > raise Exception("Could not parse rfc1738 URL from string '%s'" > % name)
It was added for future support, but never got implemented. I don't think we can adopt the django code and put it in web.py as web.py is in public domain. Anand -- You received this message because you are subscribed to the Google Groups "web.py" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/webpy?hl=en.
