Same problem here, but using PostgreSQL.
This is the function that I was using to connect to a database:
def connect_db(db_host, db_name, db_user, db_user_password):
# gets the table_hash from one of the .table files in the databases
folder
table_hash = None
for file in os.listdir(databases_folder):
if archivo.endswith('.table'):
table_hash = file.split('_')[0]
break
return DAL('postgres://%s:%s@%s:5432/%s' % (db_user, db_user_password,
db_host, db_name),
migrate=False,
folder=databases_folder,
auto_import=True,
table_hash=table_hash)
But after upgrading to 2.15.3, the function throws this error:
Traceback (most recent call last):
File "/home/gonguinguen/medios/gluon/restricted.py", line 219, in restricted
exec(ccode, environment)
File "/home/gonguinguen/medios/applications/webmedios/controllers/admin.py",
line 550, in <module>
File "/home/gonguinguen/medios/gluon/globals.py", line 409, in <lambda>
self._caller = lambda f: f()
File "/home/gonguinguen/medios/applications/webmedios/controllers/admin.py",
line 548, in prueba
dbs = sitio.conectar_db()
File "/home/gonguinguen/medios/gluon/packages/dal/pydal/objects.py", line
2368, in __call__
return self.method(self.row, *args, **kwargs)
File "/home/gonguinguen/medios/applications/webmedios/models/db.py", line
149, in <lambda>
Field.Method('conectar_db', lambda row: sitios_conectar_db(row.sitios)),
File "applications/webmedios/modules/virtual_methods.py", line 79, in
sitios_conectar_db
table_hash=table_hash)
File "/home/gonguinguen/medios/gluon/packages/dal/pydal/base.py", line 170,
in __call__
obj = super(MetaDAL, cls).__call__(*args, **kwargs)
File "/home/gonguinguen/medios/gluon/packages/dal/pydal/base.py", line 500,
in __init__
tables=tables)
File "/home/gonguinguen/medios/gluon/packages/dal/pydal/base.py", line 522,
in import_table_definitions
tfile = self._adapter.file_open(filename, 'r')
AttributeError: 'PostgrePsyco' object has no attribute 'file_open'
Meanwhile, I'll check if there is an opened issue about this.
Let me know if there is anything I can do to help you fix the problem.
El jueves, 20 de julio de 2017, 18:56:29 (UTC-3), Massimo Di Pierro
escribió:
>
> Can you please open a PyDAL ticket so we can track. This should work.
>
> On Saturday, 15 July 2017 05:13:45 UTC-5, Jitun John wrote:
>>
>> Here is a Code that worked fine on 2.14.6 but doesn't on 2.15.1
>>
>>
>> import datetime
>> import gc
>> import os
>> from gluon import *
>> from current_config import *
>> from memory_profiler import memory_usage
>>
>>
>> manager_rows = ''
>>
>>
>> dummy_path = os.path.abspath('.') +
>> '/applications/enLIGHTen/static/dummy/'
>>
>>
>> def read_alerts_rows():
>> alerts_db_conn = DAL('sqlite://alerts.sqlite', folder=
>> get_current_path(), auto_import=True)
>> global alerts_rows
>> alerts_rows = alerts_db_conn(alerts_db_conn.alerts_log.id > 0).select
>> (orderby=alerts_db_conn.alerts_log.datetime)
>> alerts_db_conn.close()
>>
>>
>> def get_alerts_rows():
>> return alerts_rows
>>
>>
>> ....
>>
>>
>> def add_clear():
>> dummy_alerts_db_conn = DAL('sqlite://alerts.sqlite', folder=
>> dummy_path, auto_import=True)
>> global alerts_rows
>>
>>
>> ....
>>
>>
>> Gives the following error.
>>
>> File "applications\enLIGHTen\modules\read_logs_to_rows.py", line 141, in
>> add_clear
>> dummy_alerts_db_conn = DAL('sqlite://alerts.sqlite', folder=dummy_path,
>> auto_import=True)
>> File
>> "E:\Jitun_Backup\Web2py\web2py_win_2.15.1\gluon\packages\dal\pydal\base.py",
>> line 170, in __call__
>> obj = super(MetaDAL, cls).__call__(*args, **kwargs)
>> File
>> "E:\Jitun_Backup\Web2py\web2py_win_2.15.1\gluon\packages\dal\pydal\base.py",
>> line 500, in __init__
>> tables=tables)
>> File
>> "E:\Jitun_Backup\Web2py\web2py_win_2.15.1\gluon\packages\dal\pydal\base.py",
>> line 522, in import_table_definitions
>> tfile = self._adapter.file_open(filename, 'r')
>> AttributeError: 'SQLite' object has no attribute 'file_open'
>>
>> Any pointers/help is appreciated.
>>
>>
>>
>>
>>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.