Ouch! Thank you. Fix in trunk.
On Monday, 20 August 2012 05:11:01 UTC-5, Uolter wrote: > > I got the same error: > > global name 'ObjectId' is not defined > > > and I just applied what I think is the required fix: > > Edit the gluon/dal.py file: > > - go to the line 4882. The select method inside the MongoDBAdapter class. > - after the method signature add this try catch block: > > try: > from pymongo.objectid import ObjectId > except ImportError: > from bson.objectid import ObjectId > > This should fix the issue. > > I'm not allowed to commit this code. Whether it's fine Massimo can do that. > > Cheers, > > Walter > > > Il giorno martedì 7 agosto 2012 18:01:44 UTC+2, Elton Pereira de Lima ha > scritto: >> >> After upgrading(git pull), I got a new error. >> >> NameError: global name 'ObjectId' is not defined >> >> Traceback (most recent call last): >> File "/home/eltonplima/workspace/web2py/gluon/restricted.py", line 205, in >> restricted >> exec ccode in environment >> File >> "/home/eltonplima/workspace/web2py/applications/sqm/controllers/appadmin.py" >> <http://127.0.0.1:8001/admin/default/edit/sqm/controllers/appadmin.py>, line >> 433, in <module> >> File "/home/eltonplima/workspace/web2py/gluon/globals.py", line 182, in >> <lambda> >> self._caller = lambda f: f() >> File >> "/home/eltonplima/workspace/web2py/applications/sqm/controllers/appadmin.py" >> <http://127.0.0.1:8001/admin/default/edit/sqm/controllers/appadmin.py>, line >> 127, in insert >> form = SQLFORM(db[table], ignore_rw=ignore_rw) >> File "/home/eltonplima/workspace/web2py/gluon/sqlhtml.py", line 920, in >> __init__ >> inp = self.widgets.options.widget(field, default) >> File "/home/eltonplima/workspace/web2py/gluon/sqlhtml.py", line 224, in >> widget >> options = requires[0].options() >> File "/home/eltonplima/workspace/web2py/gluon/validators.py", line 479, in >> options >> self.build_set() >> File "/home/eltonplima/workspace/web2py/gluon/validators.py", line 466, in >> build_set >> records = self.dbset(table).select(*fields, **dd) >> File "/home/eltonplima/workspace/web2py/gluon/dal.py", line 8420, in select >> return adapter.select(self.query,fields,attributes) >> File "/home/eltonplima/workspace/web2py/gluon/dal.py", line 4877, in select >> record[column],ObjectId): >> NameError: global name 'ObjectId' is not defined >> >> >> On Tuesday, August 7, 2012 11:33:50 AM UTC-3, Massimo Di Pierro wrote: >>> >>> This helps. I think I just fixed it in trunk. Can you check and confirm >>> if it is fixed? >>> >>> On Tuesday, 7 August 2012 04:35:33 UTC-5, Elton Pereira de Lima wrote: >>>> >>>> Same error. >>>> >>>> One detail I forgot to mention, this only happens when I use mongodb. >>>> >>>> Follows the traceback: >>>> >>>> Traceback (most recent call last): >>>> File "/home/eltonplima/workspace/web2py/2.0/web2py/gluon/restricted.py", >>>> line 205, in restricted >>>> exec ccode in environment >>>> File >>>> "/home/eltonplima/workspace/web2py/2.0/web2py/applications/sqm/controllers/appadmin.py" >>>> <http://127.0.0.1:8000/admin/default/edit/sqm/controllers/appadmin.py>, >>>> line 432, in <module> >>>> File "/home/eltonplima/workspace/web2py/2.0/web2py/gluon/globals.py", >>>> line 182, in <lambda> >>>> self._caller = lambda f: f() >>>> File >>>> "/home/eltonplima/workspace/web2py/2.0/web2py/applications/sqm/controllers/appadmin.py" >>>> <http://127.0.0.1:8000/admin/default/edit/sqm/controllers/appadmin.py>, >>>> line 126, in insert >>>> form = SQLFORM(db[table], ignore_rw=ignore_rw) >>>> File "/home/eltonplima/workspace/web2py/2.0/web2py/gluon/sqlhtml.py", >>>> line 920, in __init__ >>>> inp = self.widgets.options.widget(field, default) >>>> File "/home/eltonplima/workspace/web2py/2.0/web2py/gluon/sqlhtml.py", >>>> line 224, in widget >>>> options = requires[0].options() >>>> File "/home/eltonplima/workspace/web2py/2.0/web2py/gluon/validators.py", >>>> line 479, in options >>>> self.build_set() >>>> File "/home/eltonplima/workspace/web2py/2.0/web2py/gluon/validators.py", >>>> line 466, in build_set >>>> records = self.dbset(table).select(*fields, **dd) >>>> File "/home/eltonplima/workspace/web2py/2.0/web2py/gluon/dal.py", line >>>> 8416, in select >>>> return adapter.select(self.query,fields,attributes) >>>> File "/home/eltonplima/workspace/web2py/2.0/web2py/gluon/dal.py", line >>>> 4854, in select >>>> self._select(query,fields,attributes) >>>> File "/home/eltonplima/workspace/web2py/2.0/web2py/gluon/dal.py", line >>>> 4802, in _select >>>> raise SyntaxError, 'invalid select attribute: %s' % key >>>> SyntaxError: invalid select attribute: distinct >>>> >>>> >>>> On Tuesday, August 7, 2012 12:01:49 AM UTC-3, Cliff Kachinske wrote: >>>>> >>>>> I have created this problem by adding the unique argument to a table >>>>> column after populating it with data. try removing it from the has_line >>>>> field. >>>>> >>>>> On Monday, August 6, 2012 8:19:36 PM UTC-4, Elton Pereira de Lima >>>>> wrote: >>>>>> >>>>>> I'm using the latest development version, and try to add a record by >>>>>> the administrative interface the following exception is raised: >>>>>> invalid <type'exceptions.SyntaxError'> select attribute: distinct >>>>>> >>>>>> The error happens when trying to insert in squid_log table. >>>>>> >>>>>> db.define_table('squid_internal_host', >>>>>> Field('ip', 'text', notnull=True, unique=True), >>>>>> Field('hostname', 'string', length=32, unique=True,), >>>>>> format='%(ip)s', >>>>>> migrate=True) >>>>>> >>>>>> db.define_table('squid_log', >>>>>> Field('timestamp', 'datetime', notnull=True), >>>>>> Field('internal_host', db.squid_internal_host), >>>>>> Field('log_line', 'text', notnull=True), >>>>>> Field('elapsed_time', 'integer', notnull=True), >>>>>> Field('hash_line', 'string', notnull=True, length=64, >>>>>> unique=True,), >>>>>> Field('insert_timestamp', 'datetime', >>>>>> default=lambda:datetime.datetime.now()), >>>>>> format='%(hash_line)s') >>>>>> >>>>>> I'm doing something wrong? >>>>>> >>>>> --

