def _get_pool(provider, filename, create_db=False): if filename == ':memory:': return MemPool() else: # When relative filename is specified, it is considered # not relative to cwd, but to user module where # Database instance is created # the list of frames: # 3 - user code: db = Database(...) # 2 - cut_exception decorator # 1 - pony.orm.Database.__init__() # 0 - pony.dbproviders.sqlite._get_pool() filename = absolutize_path(filename, frame_depth=4) return Pool(filename, create_db)
def get_pool(provider, filename, create_db=False): if filename != ':memory:': # When relative filename is specified, it is considered # not relative to cwd, but to user module where # Database instance is created # the list of frames: # 5 - user code: db = Database(...) # 4 - cut_traceback decorator wrapper # 3 - cut_traceback decorator # 2 - pony.orm.Database.__init__() # 1 - pony.dbapiprovider.DBAPIProvider.__init__() # 0 - pony.dbproviders.sqlite.get_pool() filename = absolutize_path(filename, frame_depth=5) return SQLitePool(filename, create_db)
def get_pool(provider, filename, create_db=False): if filename != ':memory:': # When relative filename is specified, it is considered # not relative to cwd, but to user module where # Database instance is created # the list of frames: # 6 - user code: db = Database(...) # 5 - cut_traceback decorator wrapper # 4 - cut_traceback decorator # 3 - pony.orm.Database.__init__() / .bind() # 2 - pony.orm.Database._bind() # 1 - pony.dbapiprovider.DBAPIProvider.__init__() # 0 - pony.dbproviders.sqlite.get_pool() filename = absolutize_path(filename, frame_depth=6) return SQLitePool(filename, create_db)
def get_pool(provider, filename, create_db=False, **kwargs): if filename != ':memory:': # When relative filename is specified, it is considered # not relative to cwd, but to user module where # Database instance is created # the list of frames: # 7 - user code: db = Database(...) # 6 - cut_traceback decorator wrapper # 5 - cut_traceback decorator # 4 - pony.orm.Database.__init__() / .bind() # 3 - pony.orm.Database._bind() # 2 - pony.dbapiprovider.DBAPIProvider.__init__() # 1 - SQLiteProvider.__init__() # 0 - pony.dbproviders.sqlite.get_pool() if 'abs_filename' in kwargs: filename = kwargs['abs_filename'] else: filename = absolutize_path(filename, frame_depth=cut_traceback_depth+5) provider.db._constructor_args[1]['abs_filename'] = filename return SQLitePool(filename, create_db, **kwargs)