Change '/applications/' to os.sep + 'applications' + os.sep On Aug 13, 2012, at 10:40 AM, Alexei Vinidiktov <alexei.vinidik...@gmail.com> wrote:
> The contents of thread.folder: > C:\Users\alexei\Dev\web2py\web2py.googlecode.com\applications\vocabilis\databases > > > On Mon, Aug 13, 2012 at 11:11 PM, Massimo Di Pierro > <massimo.dipie...@gmail.com> wrote: > any way you can log what is in thread.folder? > > > On Monday, 13 August 2012 10:38:48 UTC-5, Alexei Vinidiktov wrote: > It gives me the error: > > self.folder = thread.folder.split('/applications/',1)[1] > > IndexError: list index out of range > > Full traceback: > > ERROR 2012-08-13 15:36:00,799 dal.py:6586] DEBUG: connect attempt 0, > connection error: > Traceback (most recent call last): > File "C:\Users\alexei\Dev\web2py\web2py.googlecode.com\gluon\dal.py", line > 6573, in __init__ > self._adapter = ADAPTERS[self._dbname](*args) > File "C:\Users\alexei\Dev\web2py\web2py.googlecode.com\gluon\dal.py", line > 3845, in __init__ > self.folder = thread.folder.split('/applications/',1)[1] > IndexError: list index out of range > > > On Mon, Aug 13, 2012 at 11:06 AM, Massimo Di Pierro <massimo....@gmail.com> > wrote: > Can you try replace > > self.folder = folder or '$HOME/'+thread.folder.split('/applications/',1)[1] > > with > > self.folder = thread.folder.split('/applications/',1)[1] > > > > > > On Wednesday, 8 August 2012 18:11:04 UTC-5, Alexei Vinidiktov wrote: > Ok. I've managed to connect to MySQL from GAE local dev server on Windows if > I change line 3845 in dal.py to this: > > self.folder = "" > > instead of (self.folder = folder or > '$HOME/'+thread.folder.split('/applications/',1)[1]) > > I don't know if it breaks anything though. > > On Thu, Aug 9, 2012 at 6:03 AM, Alexei Vinidiktov <alexei.v...@gmail.com> > wrote: > The problem is still not resolved in trunk. > > > On Mon, Aug 6, 2012 at 12:56 PM, Alexei Vinidiktov <alexei.v...@gmail.com> > wrote: > Here it is: db = DAL('google:sql://vocabilisproject:vocabilis/vocabilis') > > I pass the password and the user name via App Launcher parameters as > suggested in the GAE SDK docs: --mysql_user=root --mysql_password=xxxxxx > --mysql_host=localhost --mysql_port=3306 > > > On Mon, Aug 6, 2012 at 7:59 AM, Massimo Di Pierro <massimo....@gmail.com> > wrote: > Can you show your complete connection string (masking any password of course)? > > > On Saturday, 4 August 2012 02:11:30 UTC-5, Alexei Vinidiktov wrote: > > > On Sat, Aug 4, 2012 at 1:56 PM, Alexei Vinidiktov <alexei.v...@gmail.com> > wrote: > Hello, > > I'm need hep figuring out how to set up a local GAE development server with > MySQL. > > MySQL connection parameters are specified via App Launcher application > settings: --mysql_user=root --mysql_password=xxxxxx --mysql_host=localhost > --mysql_port=3306 > > When I launch my web2py app with GAE Launcher on my local Windows box I get > this erorr message: > > ############ > ERROR 2012-08-04 06:28:43,515 dal.py:5962] DEBUG: connect attempt 0, > connection error: > Traceback (most recent call last): > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\dal.py", line 5955, in > __init__ > self._adapter = ADAPTERS[self._dbname](*args) > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\dal.py", line 3310, in > __init__ > self.folder = folder or > '$HOME/'+thread.folder.split('/applications/',1)[1] > IndexError: list index out of range > ############# > > What does the following line do? > > self.folder = folder or '$HOME/'+thread.folder.split('/applications/',1)[1] > > If I comment out "or '$HOME/'+thread.folder.split('/applications/',1)[1]" in > DAL.py and relaunch the dev server, the application appears to be able to > connect to MySQL but then I get a different error message: > > ######## > INFO 2012-08-04 06:42:35,142 rdbms_mysqldb.py:102] Connecting to MySQL > with kwargs {'passwd': 'xxxxxx', 'unix_socket': '', 'host': 'localhost', > 'port': 3306, 'user': 'root'} > ERROR 2012-08-04 06:42:35,153 warnings.py:29] > C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\dal.py:1386: Warning: Can't > create database 'vocabilis'; database exists > ret = self.cursor.execute(*a, **b) > > ERROR 2012-08-04 06:42:35,575 restricted.py:155] Traceback (most recent > call last): > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\main.py", line 510, in > wsgibase > session._try_store_in_db(request, response) > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\globals.py", line 561, > in _try_store_in_db > record_id = table.insert(**dd) > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\dal.py", line 6829, in > insert > return self._db._adapter.insert(self,self._listify(fields)) > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\dal.py", line 928, in > insert > raise e > ProgrammingError: (1146, "Table 'vocabilis.web2py_session_vocabilis' doesn't > exist") > ######### > > The vocabilis database does exist. It was created earlier when I connected to > MySQL from a non GAE environment. > > If I specify a different non-existent database in the connection string, then > after relaunching the application vith the GAE Launcher I get this error > message: > > ####### > INFO 2012-08-04 06:44:45,415 rdbms_mysqldb.py:102] Connecting to MySQL > with kwargs {'passwd': 'xxxxxx', 'unix_socket': '', 'host': 'localhost', > 'port': 3306, 'user': 'root'} > ERROR 2012-08-04 06:44:45,828 restricted.py:155] Traceback (most recent > call last): > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\main.py", line 510, in > wsgibase > session._try_store_in_db(request, response) > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\globals.py", line 561, > in _try_store_in_db > record_id = table.insert(**dd) > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\dal.py", line 6829, in > insert > return self._db._adapter.insert(self,self._listify(fields)) > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\dal.py", line 928, in > insert > raise e > ProgrammingError: (1146, "Table 'vocabilis3.web2py_session_vocabilis' doesn't > exist") > ####### > > So the application appears to be unable to create the session table. > > I'm running Windows, Python 2.7, web2py 1.99.7, MySQL 5.5 > > > > I had a connection string with "migrate_enabled=False". I tried removing it, > then I got this error message: > > ########################### > ERROR 2012-08-04 07:07:40,513 restricted.py:155] Traceback (most recent > call last): > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\restricted.py", line > 205, in restricted > exec ccode in environment > File > "C:\Users\alexei\Dev\web2py\vocabilis.net\applications\vocabilis\models\db.py", > line 23, in <module> > session.connect(request, response, db = db) > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\globals.py", line 488, > in connect > migrate=table_migrate, > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\dal.py", line 6320, in > define_table > polymodel=polymodel) > File "C:\Users\alexei\Dev\web2py\vocabilis.net\gluon\dal.py", line 707, in > create_table > % (table._db._uri_hash, tablename)) > File "C:\Python27\lib\ntpath.py", line 96, in join > assert len(path) > 0 > TypeError: object of type 'NoneType' has no len() > ########################### > > > -- > Alexei Vinidiktov > -- > > > > > > > -- > Alexei Vinidiktov > > > > -- > Alexei Vinidiktov > > > > -- > Alexei Vinidiktov > -- > > > > > > > -- > Alexei Vinidiktov > -- > > > > > > > -- > Alexei Vinidiktov > -- > > > --