Switch to unified view

a/Allura/allura/model/session.py b/Allura/allura/model/session.py
1
import logging
1
import logging
2
import urllib
2
from itertools import chain
3
from itertools import chain
3
4
4
from pylons import c
5
from pylons import c
5
6
6
from ming import Session
7
from ming import Session
...
...
31
                except TypeError:
32
                except TypeError:
32
                     # running without MagicalC, inside a request (likely EasyWidgets)
33
                     # running without MagicalC, inside a request (likely EasyWidgets)
33
                    return None
34
                    return None
34
            if p is None: return None
35
            if p is None: return None
35
            if p.database_uri:
36
            if p.database_uri:
37
                scheme, rest = p.database_uri.split('://')
38
                host, database = rest.split('/', 1)
36
                return ShardedDataStore.get(p.database_uri).db
39
                return ShardedDataStore.get(scheme + '://' + host, database).db
37
            return getattr(self.main_session.bind.conn, p.database)
40
            return getattr(self.main_session.bind.conn, p.database)
38
        except (KeyError, AttributeError), ex:
41
        except (KeyError, AttributeError), ex:
39
            return None
42
            return None
40
43
41
    def _impl(self, cls):
44
    def _impl(self, cls):