[web2py] Re: Lacking nginx deployment guide
It seems like nginx can be run by www-data as well. So: Delete: sudo('adduser --system --no-create-home --disabled-login --disabled-password --group nginx') Edit: sudo('cd /opt/nginx*/; ./configure --prefix=/opt/nginx --user=www-data --group=www-data --with-http_ssl_module') If anyone has an tips, suggestions or corrections, please let me know. I am relatively new to all of this.
[web2py] Re: Overview of posts.
The view profile link next to your name at the beginning of each post?. Yes, I tried the profile link in the drop box under my name top-right, but that just led me to a page to edit my profile. The 'view profile' link is what I was looking for, shouldn't this link be in the drop box too? now I have to find a previous post to get to the link. Kind regards, Annet.
[web2py] LINK: TyphoonAE
http://code.google.com/p/typhoonae/ The TyphoonAE project aims at providing a full-featured and productive serving environment to run Google App Engine (Python) applications. It delivers the parts for building your own scalable App Engine while staying compatible with Google's API. Important note: The current development status is beta. At this point it is not guaranteed that any GAE application will run completely error-free on TyphoonAE. So, stay patient please!
Re: [web2py] virtual hosts. single or multiple installation?
I'm currently using one web2py instance and and then running multiple sites using code in routes.py. This example from Jonathan should be helpful: https://groups.google.com/d/msg/web2py/iq_YAstVUCI/pr65jJRY6JwJ This works fine but is not the most efficient way for high volume sites. Various people have asked for Apache Virtual Host configuration details to get this working in the most efficient way but as far as I'm aware no one has come up with a step-by-step how-to yet. On 12 March 2011 21:37, Haros koimiti...@hotmail.com wrote: Hi, I have in my apache some virtual hosts. I'd like to know which method is better... each virtualhost having its own web2py installation (meaning that each virtual host will use its own wsgi) or one web2py installation and multiple virtual hosts using that installation? (wsgi will be shared, however each virtual host will be accessing it with a different daemon process name as a different user). Thanks
[web2py] Re: virtual hosts. single or multiple installation?
thanks for the reply. I know about the domain redirect methods. My question is different though, which is better, having 1 installation for each domain or 1 installation for multiple domains? On 13 Μαρ, 13:27, Tom Atkins minkto...@gmail.com wrote: I'm currently using one web2py instance and and then running multiple sites using code in routes.py. This example from Jonathan should be helpful: https://groups.google.com/d/msg/web2py/iq_YAstVUCI/pr65jJRY6JwJ This works fine but is not the most efficient way for high volume sites. Various people have asked for Apache Virtual Host configuration details to get this working in the most efficient way but as far as I'm aware no one has come up with a step-by-step how-to yet. On 12 March 2011 21:37, Haros koimiti...@hotmail.com wrote: Hi, I have in my apache some virtual hosts. I'd like to know which method is better... each virtualhost having its own web2py installation (meaning that each virtual host will use its own wsgi) or one web2py installation and multiple virtual hosts using that installation? (wsgi will be shared, however each virtual host will be accessing it with a different daemon process name as a different user). Thanks
[web2py] Re: virtual hosts. single or multiple installation?
I think it boils dow to who administers them. If there is only one administrator I would use one installation. If they are managed by different people, I would use different installations under different accounts. If they require a background process, I would use different background processes (one per app). On Mar 13, 7:20 am, Haros koimiti...@hotmail.com wrote: thanks for the reply. I know about the domain redirect methods. My question is different though, which is better, having 1 installation for each domain or 1 installation for multiple domains? On 13 Μαρ, 13:27, Tom Atkins minkto...@gmail.com wrote: I'm currently using one web2py instance and and then running multiple sites using code in routes.py. This example from Jonathan should be helpful: https://groups.google.com/d/msg/web2py/iq_YAstVUCI/pr65jJRY6JwJ This works fine but is not the most efficient way for high volume sites. Various people have asked for Apache Virtual Host configuration details to get this working in the most efficient way but as far as I'm aware no one has come up with a step-by-step how-to yet. On 12 March 2011 21:37, Haros koimiti...@hotmail.com wrote: Hi, I have in my apache some virtual hosts. I'd like to know which method is better... each virtualhost having its own web2py installation (meaning that each virtual host will use its own wsgi) or one web2py installation and multiple virtual hosts using that installation? (wsgi will be shared, however each virtual host will be accessing it with a different daemon process name as a different user). Thanks
[web2py] Re: Overview of posts.
Here is a link of all your posts in the web2py group: http://groups.google.com/groups/search?scoring=dfilter=0enc_author=-aUA7xcAAADH3c2cptFoWyqABz-QtXr_HqZiDvCVswhrZ6TQxKj0ww On Mar 13, 11:17 am, annet annet.verm...@gmail.com wrote: The view profile link next to your name at the beginning of each post?. Yes, I tried the profile link in the drop box under my name top-right, but that just led me to a page to edit my profile. The 'view profile' link is what I was looking for, shouldn't this link be in the drop box too? now I have to find a previous post to get to the link. Kind regards, Annet.
[web2py] Re: Google GAE Task Queue independence
Here is the traceback: Traceback (most recent call last): File c:\Google\AppEngine\esentrnet\gluon\restricted.py, line 188, in restricted exec ccode in environment File c:\Google\AppEngine\esentrnet\applications\init/controllers/ default.py:upbm2gig, line 246, in module File c:\Google\AppEngine\esentrnet\gluon\globals.py, line 95, in lambda self._caller = lambda f: f() File c:\Google\AppEngine\esentrnet\applications\init/controllers/ default.py:upbm2gig, line 93, in upbm2gig File applications\init\modules\controllers\default_module.py, line 1951, in upbm2gig upload_url = blobstore.create_upload_url(URL(r=request,c='default',f='upbm2gig_gaehandler',args=None)) File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\blobstore\blobstore.py, line 192, in create_upload_url _make_sync_call('blobstore', 'CreateUploadURL', request, response) File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\apiproxy_stub_map.py, line 86, in MakeSyncCall return stubmap.MakeSyncCall(service, call, request, response) File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\apiproxy_stub_map.py, line 286, in MakeSyncCall rpc.CheckSuccess() File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\apiproxy_rpc.py, line 149, in _WaitImpl self.request, self.response) File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\apiproxy_stub.py, line 80, in MakeSyncCall method(request, response) File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\blobstore\blobstore_stub.py, line 218, in _Dynamic_CreateUploadURL users.get_current_user()) File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\blobstore\blobstore_stub.py, line 204, in _CreateSession user) File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\blobstore\blobstore_stub.py, line 79, in CreateUploadSession 'state': 'init'}) File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\datastore.py, line 638, in update self.__setitem__(name, value) File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\datastore.py, line 617, in __setitem__ datastore_types.ValidateProperty(name, value) File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\datastore_types.py, line 1323, in ValidateProperty 'Unsupported type for property %s: %s' % (name, v.__class__)) BadValueError: Unsupported type for property success_path: class 'gluon.html.XML' On Mar 12, 1:28 pm, Massimo Di Pierro massimo.dipie...@gmail.com wrote: I do not think we ever said URL returns a string. We did this change in a way that did not break any example in the book. I will look more carefully at your example and treat it as a web2py bug. I am sure we can make it work. Can you post the complete traceback? Massimo On Mar 12, 11:12 am, Carl Roach m...@carlroach.com wrote: Thanks for the tip - that saves me GAE debugging time - always welcomed. The Web2py guys take backward compatiblilty v. seriously so there must be a reasonable reason for this change. I've searched GoogleGroups but couldn't find past threads but the search isn't great and I turned nothing up. On 12 Mar 2011, at 15:55, dlypka dly...@gmail.com wrote: FYI:I found a *GOTCHA* issue when upgrading to 1.92.3 from 1.77.3 Now you have to use .xml() on the URL() that you send into the GAE API: upload_url = blobstore.create_upload_url(URL(r=request,c='default',f='upbm2gig_gaehandle r',args=None).xml()) # This works upload_url = blobstore.create_upload_url(URL(r=request,c='default',f='upbm2gig_gaehandle r',args=None)) # This crashes It crashes because between 1.77.3 and 1.92.3, a change was made in html.py in the URL() class. Around html.py line 265, they added XML() around the return value. return XML(rewrite.url_out(r or _request, env, application, controller, function, args, other, scheme, host, port)) In 1.77.3 it was formerly: return rewrite.url_out(r or _request, env,) So basically they have changed the signature of the URL() object. Not very backward compatible, I would say... On Mar 12, 12:48 am, Carl Roach m...@carlroach.com wrote: thanks howesc On 11 Mar 2011, at 23:29, howesc how...@umich.edu wrote: i use taskqueue extensively in my GAE apps. i have not wrapped it in a way that it runs in non-gae environment. My usages of the taskqueue are for things that i can't complete in a single 30 second execution time, so i suppose i could put an 'if not GAE run all the processing in one request' type statement. my usual usage pattern (i have a few variations on this, but this is a simple example): def process_lots_of_rows(): from google.appengine.api import taskqueue last_timestamp =
Re: [web2py] REST the web2py way - RFC
Would not it be better to do this? @request.get() @request.post() @request.put() @request.delete() def api(): (...) return dict(...) _ *Gilson Filho* *Web Developer http://gilsondev.com*
[web2py] Re: Overview of posts.
Thanks for the link, I bookmarked it. Kind regards, Annet.
Re: [web2py] Re: Japan
+1 2011/3/13 Anthony abasta...@gmail.com Note, the Sahana Software Foundation is looking for translators to complete a localization of Sahana Eden into Japanese: http://www.sahanafoundation.org/japan Sahana Eden is an open source disaster management system written in web2py. Anthony
[web2py] LOAD() a plugin_wiki page
Hi, it is possible to just load the content of a plugin_wiki page in a view using the LOAD() function?
Re: [web2py] using routes_onerror
I am also experiencing this issue. I see this in routes.example.py: --snip-- # In the event that the error-handling page itself returns an error, web2py will # fall back to its old static responses. You can customize them here. # ErrorMessageTicket takes a string format dictionary containing (only) the # ticket key. --snip-- Is that referring to an error with the error_handler action, or the routes_onerror tuple? I guess what I'm asking is the redirect loop expected, or should web2py be catching the error and failing back to the default error message/page? --Marc On Thu, Feb 17, 2011 at 11:20 AM, Jonathan Lundell jlund...@pobox.com wrote: On Feb 17, 2011, at 7:53 AM, David J. wrote: I did notice one 'race' condition; If you have an app that has an error in models/db.py and you have */400 in routes.py your going to continuously be redirecting your self to the same page until the browsers own error handling kicks in and notifies of the problem; Because in any page load your going to be throwing a 400 including the page you want to be redirect to; Unless of course your redirecting to a static page; Good point. One consequence of that is that it's probably a good idea not to use error redirection during development (except of course when you're testing error redirection); even if it doesn't loop, it's likely to confuse the error more than clarify it. I'm not sure how one would break the error loop. I was thinking maybe adding an http header line, but the request for the error page is ultimately the result of a redirection, so there's no http request for us to get our hands on. On 2/17/11 10:45 AM, Jonathan Lundell wrote: A couple of questions have come up about routes_onerror in routes.py. Refreshing our memory, here's a fragment of routes.example.py: # Error-handling redirects all HTTP errors (status codes= 400) to a specified # path. If you wish to use error-handling redirects, uncomment the tuple # below. You can customize responses by adding a tuple entry with the first # value in 'appName/HTTPstatusCode' format. ( Only HTTP codes= 400 are # routed. ) and the value as a path to redirect the user to. You may also use # '*' as a wildcard. # # The error handling page is also passed the error code and ticket as # variables. Traceback information will be stored in the ticket. # # routes_onerror = [ # (r'init/400', r'/init/default/login') # ,(r'init/*', r'/init/static/fail.html') # ,(r'*/404', r'/init/static/cantfind.html') # ,(r'*/*', r'/init/error/index') # ] If you want to follow along in the source, this is used by rewrite.try_redirect_on_error, which is called at the end of a request by main.wsgibase. One thing I just noticed from looking at the path through the source is that, if the incoming URL doesn't conform to the main URL regex (and I'm talking about normal URL handling here, not the new URL router), routes_onerror is used when request.application is still set to None, which is now it's initialized. The status code will be 400. So if you want routes_onerror to be effective in this case, you'll need to have at least one entry with the application field set to '*' or to 'None' (the string representation of the None object). 'init/400', ... 'init/404', ... 'None'/400' ... Unless you have a specific reason not to, it's probably best to have a '*/*' catch-all case at the end as well. You never know... I'll be looking over the new router code with this in mind, but it's likely similar in operation.
[web2py] web2py always writes on language files to translate
Hi, running web2py in a directory with restricted permissions I've checked that anytime a translation is used, web2py try to re-write the translation string: /var/lib/python-support/python2.5/gluon/languages.py(284)translate() - write_dict(self.language_file, self.t) /var/lib/python-support/python2.5/gluon/languages.py(95)write_dict() i.e.: As far as I can check, method translate, from class translator at gluon/languages.py , always call method write_dict, and it looks there's no need to do it. is it a bug ? Regards. José L.
[web2py] Re: Overview of posts.
Are you on the new groups? Did you try this link (see attached)?attachment: Screen shot 2011-03-13 at 9.37.07 AM.png
[web2py] Re: LOAD() a plugin_wiki page
Yes, but instead of http://.../plugin_wiki/page/... you must do {{=LOAD('plugin_wiki','page.load/...',ajax=True)}} On Mar 13, 10:17 am, danto web2py.n...@gmail.com wrote: Hi, it is possible to just load the content of a plugin_wiki page in a view using the LOAD() function?
[web2py] Re: REST the web2py way - RFC
Because I would know how to do @request.get() def api(): return dict() @request.post() def api(): return dict() i.e. have two functions with the same name and select one or the other without ambiguity. On Mar 13, 9:04 am, contatogilson...@gmail.com contatogilson...@gmail.com wrote: Would not it be better to do this? @request.get() @request.post() @request.put() @request.delete() def api(): (...) return dict(...) _ *Gilson Filho* *Web Developerhttp://gilsondev.com*
[web2py] Re: LOAD() a plugin_wiki page
You can also do {{=plugin_wiki.render_page('slug')}} if you do not need the ajax trapping. On Mar 13, 10:17 am, danto web2py.n...@gmail.com wrote: Hi, it is possible to just load the content of a plugin_wiki page in a view using the LOAD() function?
[web2py] Re: web2py always writes on language files to translate
How do you know there is no need for it? Did you look at what is being re-written? It should only try to re-write if you have new text needing translation. Massimo On Mar 13, 10:56 am, José L. jredr...@gmail.com wrote: Hi, running web2py in a directory with restricted permissions I've checked that anytime a translation is used, web2py try to re-write the translation string: /var/lib/python-support/python2.5/gluon/languages.py(284)translate() - write_dict(self.language_file, self.t) /var/lib/python-support/python2.5/gluon/languages.py(95)write_dict() i.e.: As far as I can check, method translate, from class translator at gluon/languages.py , always call method write_dict, and it looks there's no need to do it. is it a bug ? Regards. José L.
Re: [web2py] Re: REST the web2py way - RFC
Or it may be well: @request.get() @request.post() def api(): return dict() As he is a decorator, avoid ambiguities and thus would be more clear the code. _ *Gilson Filho* *Web Developer http://gilsondev.com* 2011/3/13 Massimo Di Pierro massimo.dipie...@gmail.com Because I would know how to do @request.get() def api(): return dict() @request.post() def api(): return dict() i.e. have two functions with the same name and select one or the other without ambiguity. On Mar 13, 9:04 am, contatogilson...@gmail.com contatogilson...@gmail.com wrote: Would not it be better to do this? @request.get() @request.post() @request.put() @request.delete() def api(): (...) return dict(...) _ *Gilson Filho* *Web Developerhttp://gilsondev.com*
Re: [web2py] Re: web2py always writes on language files to translate
On Mar 13, 2011, at 10:33 AM, Massimo Di Pierro wrote: How do you know there is no need for it? Did you look at what is being re-written? It should only try to re-write if you have new text needing translation. José mentioned restricted permissions. If the write fails, might it keep trying? The only indication of a write failure is a log entry. Massimo On Mar 13, 10:56 am, José L. jredr...@gmail.com wrote: Hi, running web2py in a directory with restricted permissions I've checked that anytime a translation is used, web2py try to re-write the translation string: /var/lib/python-support/python2.5/gluon/languages.py(284)translate() - write_dict(self.language_file, self.t) /var/lib/python-support/python2.5/gluon/languages.py(95)write_dict() i.e.: As far as I can check, method translate, from class translator at gluon/languages.py , always call method write_dict, and it looks there's no need to do it. is it a bug ? Regards. José L.
[web2py] Re: web2py always writes on language files to translate
On Sunday, March 13, 2011 6:33:00 PM UTC+1, Massimo Di Pierro wrote: How do you know there is no need for it? Did you look at what is being re-written? It should only try to re-write if you have new text needing translation. ok, catched, so there's not such bug, only my misunderstanding of the code. So, if new strings must be added, it writes them. I thought it only would write them when trying to do the translation using the web interface. My problem appeared running web2py with the admin/language directory without writing permissions, it looks like the language files I'm checking are not complete and this method creates the new strings the first time web2py is run. Maybe this check should be done with all the language files when a new release is done, so they are complete, avoiding this write attempts. Anyway, it's clear this is not an important issue. Thanks. José L. Massimo On Mar 13, 10:56 am, José L. jred...@gmail.com wrote: Hi, running web2py in a directory with restricted permissions I've checked that anytime a translation is used, web2py try to re-write the translation string: /var/lib/python-support/python2.5/gluon/languages.py(284)translate() - write_dict(self.language_file, self.t) /var/lib/python-support/python2.5/gluon/languages.py(95)write_dict() i.e.: As far as I can check, method translate, from class translator at gluon/languages.py , always call method write_dict, and it looks there's no need to do it. is it a bug ? Regards. José L.
[web2py] Re: web2py always writes on language files to translate
Interesting idea: Maybe this check should be done with all the language files when a new release is done, so they are complete, avoiding this write attempts Does we know how translation impacts performance in general? And if there are any warranted optimizations?
[web2py] Re: empty record (data) set
Just tested _select(). Thanks for that :) It is overwhelming, but I love this framework, so thoughtful and well done!!! And I haven't even scratched the surface yet :) On Mar 12, 8:50 pm, villas villa...@gmail.com wrote: By using the underscore in front of select, you can see the SQL. That is often the best way to see what's going on... e.g. db(db.prod.id0)._select() On Mar 13, 12:37 am, Adnan S. adnan.smajlo...@gmail.com wrote: Thanks Vasile! I'm making baby steps here :) On Mar 12, 5:15 pm, Vasile Ermicioi elff...@gmail.com wrote: 1==0 is a boolean not a query, empty_result = db(db.prod.id0).select() # I suppose that you don't have negative ids :)
[web2py] Anyone want Acrobat ?
Hey, Doing some cleanup today and found a box of acrobat pro v.9. (EN) for windows. Anyways, still in its box, unopened and sealed. If anyone interested let me know, I don't want anything for it, just thought I'd ask before I chuck it. Oh, and no worry, it has a legal, authentic and not-yet-registered license. Anyways, let me know. Mart :)
[web2py] Re: Support for MS Access?
OK I'll try but... the SQL is not the same ! On 12 mar, 18:08, Massimo Di Pierro massimo.dipie...@gmail.com wrote: Nobody has tried byt the mssql adapter (pyodbc) should work with access. The SQL is the same. Try and tel us know what problems you run into. On Mar 12, 9:43 am, Philnext phil.pr...@gmail.com wrote: HelIo I saw in a last year post a question do we have support for MS Access? as I need it for my current projet I would know if there is any previous dev. for it. Thanks.
[web2py] How to setup multiple application using multiple domains on webfaction?
Hi Folks! I have two applications on my webfaction domain. One is init and another one is blog I'd like to point a different domain to blog... would you know how to do that? Regards, Tito -- Linux User #387870 . _/_õ|__| ..º[ .-.___.-._| . . . . .__( o)__( o).:___
Re: [web2py] Re: LOAD() a plugin_wiki page
thanks, that was very useful 2011/3/13 Massimo Di Pierro massimo.dipie...@gmail.com You can also do {{=plugin_wiki.render_page('slug')}} if you do not need the ajax trapping. On Mar 13, 10:17 am, danto web2py.n...@gmail.com wrote: Hi, it is possible to just load the content of a plugin_wiki page in a view using the LOAD() function?
Re: [web2py] How to setup multiple application using multiple domains on webfaction?
I do this using autoroutes I will post my autoroutes.py when I go to the computer. Enviado via iPhone Em 13/03/2011, às 16:20, Tito Garrido titogarr...@gmail.com escreveu: Hi Folks! I have two applications on my webfaction domain. One is init and another one is blog I'd like to point a different domain to blog... would you know how to do that? Regards, Tito -- Linux User #387870 . _/_õ|__| ..º[ .-.___.-._| . . . . .__( o)__( o).:___
[web2py] Re: REST the web2py way - RFC
this is interesting... I added the function in a app's default controller, the did this: for x in [item.strip().split('/') for item in urllib2.urlopen('http:// 127.0.0.1:8000/appRM/default/api/list.json')]: for item in [string.strip(y,', ') for y in x[1:-1]]: blablabalbla... Just from the output of that, lots can be done in script... :) I have something in mind, but I'm missing something... How would I get additional field information? I.e the field type? And in a more general sense, how and where do I set a pattern? I figure with just a couple more lines, I would have enough info to create a VIEW of those table or even the model itself (hopefully without having to know/remember anything too specific about the tables) I.e. something that looks a little like this but with more stuff to make better/more specific statement... CREATE VIEW test AS select * from data Thanks, Mart On Mar 13, 10:04 am, contatogilson...@gmail.com contatogilson...@gmail.com wrote: Would not it be better to do this? @request.get() @request.post() @request.put() @request.delete() def api(): (...) return dict(...) _ *Gilson Filho* *Web Developerhttp://gilsondev.com*
[web2py] Re: Legacy PostgreSQL Database using case sensitive table and field names
I couldn't find anything in the PG docs. If I were to add another postgres adapter that specifically handles databases created like this, is that something you'd be interested in adding to web2py? On Friday, March 11, 2011 4:42:11 PM UTC-5, Massimo Di Pierro wrote: Then web2py cannot do this (yet). You would need to create a view for your tables with lowercase table names or perhaps there is some obscure postgresql parameters to make the queries case sensitive (mysql has it). On Mar 11, 2:10 pm, Ross Peoples ross.p...@gmail.com wrote: I should have mentioned that I already did this, so now my table definition matches the one you gave. It was after correcting the definition that I get this message. Again, the tables and fields were created using double-quotes (e.g. CREATE TABLE GlobalSettings...), so PostgreSQL requires that all queries use double-quotes when referring to tables and fields created this way. If I do a db()._select(db.GlobalSettings.ALL)...notice the underscore, I get: SELECT GlobalSettings.settingID, GlobalSettings.settingName, GlobalSettings.settingValue FROM GlobalSettings; But for PostgreSQL to accept the query, it would have to be: SELECT GlobalSettings.settingID, GlobalSettings.settingName, GlobalSettings.settingValue FROM GlobalSettings; This is because unless you specifically wrap table and field names with double-quotes, PostgreSQL automatically converts all table and field names to lowercase. On Mar 11, 2011, at 3:02 PM, Massimo Di Pierro wrote: It cannot be Field('settingName', length=255, unique=True), must be Field('settingName', length=255, unique=True), you cannot have quotes in the file name. So it should be db.define_table('GlobalSettings', Field('settingName', length=255, unique=True), Field('settingValue', 'text'), Field('settingID', 'id'), sequence_name='GlobalSettings_settingID_seq', migrate=False) Case must match DB. migrate=False because it exists. I am not 100% sure but I think this should work. On Mar 11, 12:56 pm, Ross Peoples ross.p...@gmail.com wrote: After also adding migrate=False to the table definition, I now get this error: ProgrammingError: relation globalsettings does not exist LINE 1: ...ngs.settingName, GlobalSettings.settingValue FROM GlobalSett... On Thursday, March 10, 2011 3:02:25 PM UTC-5, Richard wrote: remove the from web2py model and add the sequence name that postgres create by default with a different name then web2py expect like this : db.define_table('GlobalSettings', Field('settingName', length=255, unique=True), Field('settingValue', 'text'), Field('settingID', 'id'), sequence_name='GlobalSettings_settingID_seq' ) It should works... Richard On Thu, Mar 10, 2011 at 2:42 PM, Ross Peoples ross...@gmail.com wrote: I have a legacy PostgreSQL database that has its tables and field names created using a case-sensitive means. Whenever I try to do a select(), it returns no rows, and an insert() fails. This is the error that web2py gives: ProgrammingError: relation globalsettings_id_seq does not exist LINE 1: select currval('GlobalSettings_id_Seq') This is the actual table definition from pgAdmin3: CREATE TABLE GlobalSettings ( settingName character varying(255) NOT NULL, settingValue text NOT NULL, settingID serial NOT NULL, CONSTRAINT GlobalSettings_pkey PRIMARY KEY (settingID) ) Attempting to define my table in web2py using double-quotes between single-quotes, like this: db.define_table('GlobalSettings', Field('settingName', length=255, unique=True), Field('settingValue', 'text'), Field('settingID', 'id') ) results in the following error message: SyntaxError: only [0-9a-zA-Z_] allowed in table and field names, received settingName
[web2py] Help!!! This slice doesnt work!!!
Hello guys, this slicea href=http://web2pyslices.com/main/slices/ take_slice/77http://web2pyslices.com/main/slices/take_slice/77/a doesnt seem to work as it should. I am using the updated code but it still doesnt work. I am trying to integrate local auth and Twitter, Facebook and Google authentication mechanisms into my site but it complains about having duplicated columns named marketing Please help
Re: [web2py] Re: Lacking nginx deployment guide
If anyone has an tips, suggestions or corrections, please let me know. I am relatively new to all of this. Looks great. I'm almost tempted to try it myself ... but as at the moment my web2py is under no serious load I'll probably follow the if it works, don't break it philosophy :)
[web2py] Re: How to implement 3rd party authentication on a site with twitter and facebook without going the Janrain route?
Thanks Massimo, But I would like to know how to implement it? Do i have to do the from gluon.tools import * stuff? and what do i do to my controllers and views?
Re: [web2py] Re: Japan
On 13-03-2011 05:52, Anthony wrote: Note, the Sahana Software Foundation is looking for translators to complete a localization of Sahana Eden into Japanese: http://www.sahanafoundation.org/japan Sahana Eden is an open source disaster management system written in web2py. I read google would coordinate this, and it would be a bad idea if we go to the old way, in which a large number of communities starts to collect uncorrelated information ? cheers, Stef Anthony
[web2py] help needed with migration: ProgrammingError: column does not exist
Well, I tried to modify my model by changing a column. I am using postgres. That apparently messed things up. Setting migration to True does not work. Viewing the database using psql, I saw that that column was deleted, but adding the same field (in web2py) does not recreate that column. Is this a glitch with web2py's migration? Or am I doing something wrong? Please help as my app is currently not usable.
Re: [web2py] Re: Lacking nginx deployment guide
I'm having an issue that is affecting my ability to access admin. If you look at the attached, you can see that even though I am accessing an HTTPS url, the wsgi.url_scheme value is reporting HTTP. I'm not sure what the problem is. I've seen some information about including settings in nginx.conf to set certain parameters but have so far been unable to make anything work. I edited my appadmin/admin to accept a connection through http: if request.env.http_x_forwarded_for or request.env.wsgi_url_scheme in ['https', 'HTTPS', 'http']: #added 'http' It could be an issue of getting the information to uwsgi and then to web2py. Hard to say for this newbie. attachment: Screen shot 2011-03-13 at 3.37.28 PM.png
[web2py] What's the best way to backup/restore a web2py app
What I have done so far is compress the entire app folder and backup the database separately. I don't think this is the best way, or is it? Thanks.
Re: [web2py] Re: Lacking nginx deployment guide
I think I figured out the solution. Need to add one line to the nginx.conf: uwsgi_param UWSGI_SCHEME$scheme; # HTTPS server server { listen 443; server_name ; ssl on; ssl_certificate /opt/nginx/conf/server.crt; ssl_certificate_key /opt/nginx/conf/server.key; location / { uwsgi_pass 127.0.0.1:9001; include uwsgi_params; uwsgi_param UWSGI_SCHEME $scheme; } location /static { root /var/web2py/applications/init/; } }
[web2py] Re: help needed with migration: ProgrammingError: column does not exist
We might need to see your model and then information about your database columns. I'm just getting ready to switch from development mode to production and am getting worried about managing my Postgres (since now I don't worry about it and just re-create the DB when I make big schema changes).
[web2py] appadmin troubles
hi, i just upgraded to 1.93.2 from 1.89.1 and my appadmin link is no longer working. i get the following error by going to http://localhost:8080/init/appadmin: invalid controller (appadmin/index) the only things i changed from the default routes file were: # http://groups.google.com/group/web2py/browse_thread/thread/8c7dcee379bc2995/be4d4bca1c2ef35c?lnk=gstq=routes+router#be4d4bca1c2ef35c routers = {} and routes_onerror = [ (r'*/400', r'/init/default/doesnotexist') ,(r'*/404', r'/init/default/doesnotexist') ,(r'init/*', r'/init/default/error') ] anyone have any idea what i need to do to get appadmin back? i'm sure i did something silly but i can't figure out what. thanks, matt
[web2py] Re: appadmin troubles
Sounds like the problem is with your route changes. I think the routes_onerror needs to be inside of the routers dict. Make sure to restart web2py after you edit routes.py. routers = dict( BASE = dict( routes_onerror = [ (r'*/400', r'/init/default/doesnotexist'), (r'*/404', r'/init/default/doesnotexist'), (r'init/*', r'/init/default/error') ] )
Re: [web2py] Re: appadmin troubles
On Mar 13, 2011, at 5:19 PM, pbreit wrote: Sounds like the problem is with your route changes. I think the routes_onerror needs to be inside of the routers dict. Make sure to restart web2py after you edit routes.py. routers = dict( BASE = dict( routes_onerror = [ (r'*/400', r'/init/default/doesnotexist'), (r'*/404', r'/init/default/doesnotexist'), (r'init/*', r'/init/default/error') ] ) No, it's outside as usual. I tried a recreation of Matt's configuration, and it's working OK for me. So something's different. Matt, does it work if you turn off routing? Rename routes.py to something else, temporarily?
[web2py] Re: help needed with migration: ProgrammingError: column does not exist
See the book, chapter 6 fixing broken migration. Here is an excerpt, good luck: The solution consists of disabling migrations for all tables and enabling fake migrations: db.define_table(,migrate=False,fake_migrate=True) This will rebuild web2py metadata about the table according to the table definition. Try multiple table definitions to see which one works (the one before the failed migration and the one after the failed migration). Once successful remove the fake_migrate=True attribute. Before attempting to fix migration problems it is prudent to make a copy of applications/yourapp/databases/*.table files. On Mar 13, 10:08 pm, VP vtp2...@gmail.com wrote: Well, I tried to modify my model by changing a column. I am using postgres. That apparently messed things up. Setting migration to True does not work. Viewing the database using psql, I saw that that column was deleted, but adding the same field (in web2py) does not recreate that column. Is this a glitch with web2py's migration? Or am I doing something wrong? Please help as my app is currently not usable.
Re: [web2py] How to setup multiple application using multiple domains on webfaction?
Thanks Bruno! Let me know when you get this piece of code! Regards, Tito On Sun, Mar 13, 2011 at 5:27 PM, rochacbruno rochacbr...@gmail.com wrote: I do this using autoroutes I will post my autoroutes.py when I go to the computer. Enviado via iPhone Em 13/03/2011, às 16:20, Tito Garrido titogarr...@gmail.com escreveu: Hi Folks! I have two applications on my webfaction domain. One is init and another one is blog I'd like to point a different domain to blog... would you know how to do that? Regards, Tito -- Linux User #387870 . _/_õ|__| ..º[ .-.___.-._| . . . . .__( o)__( o).:___ -- Linux User #387870 . _/_õ|__| ..º[ .-.___.-._| . . . . .__( o)__( o).:___
Re: [web2py] appadmin troubles
On Mar 13, 2011, at 5:07 PM, mattynoce wrote: hi, i just upgraded to 1.93.2 from 1.89.1 and my appadmin link is no longer working. i get the following error by going to http://localhost:8080/init/appadmin: invalid controller (appadmin/index) Generally speaking, this suggests that web2py was not able to find a file named applications/init/controllers/appadmin.py (assuming your app is named 'init', right?). the only things i changed from the default routes file were: # http://groups.google.com/group/web2py/browse_thread/thread/8c7dcee379bc2995/be4d4bca1c2ef35c?lnk=gstq=routes+router#be4d4bca1c2ef35c routers = {} and routes_onerror = [ (r'*/400', r'/init/default/doesnotexist') ,(r'*/404', r'/init/default/doesnotexist') ,(r'init/*', r'/init/default/error') ] anyone have any idea what i need to do to get appadmin back? i'm sure i did something silly but i can't figure out what.
[web2py] Re: Groups and Roles using LDAP
as far as I know, ldap_auth is not support to do this. please take a look at web2py/gluon/contrib/login_methods/ldap_auth.py On Mar 11, 5:55 am, Ialejandro ialejandr...@gmail.com wrote: Hi! I have this question, how could I use LDAP auth and use roles. So I need to take the users from an active directory (microsoft exchange) and they must have a role. How could I do that?? I need 2 basic roles, Boss, User (boss can create, delete) and have access to every controller in the app, while user just can acces to some pages. Is it possible??
Re: [web2py] How to setup multiple application using multiple domains on webfaction?
Here it is you need two files in the root web2py folder this http://snipt.net/rochacbruno/routesconf/ and this http://snipt.net/rochacbruno/routespy/ in routes.conf you can simply do: blog.domain.com /blog/default domain.com /init/default It is working for me in 2 websites on webfaction -- Bruno Rocha [ About me: http://zerp.ly/rochacbruno ] 2011/3/13 Tito Garrido titogarr...@gmail.com Hi Folks! I have two applications on my webfaction domain. One is init and another one is blog I'd like to point a different domain to blog... would you know how to do that? Regards, Tito -- Linux User #387870 . _/_õ|__| ..º[ .-.___.-._| . . . . .__( o)__( o).:___
[web2py] Re: Groups and Roles using LDAP
Last time I worked on windows at this level was... ok, a while back (i think we had NT 3.5 (or was it called something other than NT? - can't remember)). Anyways, I would guess with pretty fair odds that using LDAP probably requires that the logged-on user has sufficient rights and privileges to access that information while running that kind of service. I suspect that more time could be spent on that and sorting that out rather then on actual implementation. Anyways, just my humble Sunday evening guess. Mart :) On Mar 13, 10:08 pm, Nont nonts...@gmail.com wrote: as far as I know, ldap_auth is not support to do this. please take a look at web2py/gluon/contrib/login_methods/ldap_auth.py On Mar 11, 5:55 am, Ialejandro ialejandr...@gmail.com wrote: Hi! I have this question, how could I use LDAP auth and use roles. So I need to take the users from an active directory (microsoft exchange) and they must have a role. How could I do that?? I need 2 basic roles, Boss, User (boss can create, delete) and have access to every controller in the app, while user just can acces to some pages. Is it possible??
[web2py] Auction closed - Anyone want Acrobat ?
Hey, Will be sending it out to the first reply, and a gave dibs to the first runner up of anymore Acrobats (or close relatives) found. Still have 4 or 5 boxes to go through and wife is convinced I have more in there... Who knows, maybe. Will re-open Mart's Auction House if more are found (I just want to make room ;) ) thanks, Mart :) On Mar 13, 3:06 pm, mart msenecal...@gmail.com wrote: Hey, Doing some cleanup today and found a box of acrobat pro v.9. (EN) for windows. Anyways, still in its box, unopened and sealed. If anyone interested let me know, I don't want anything for it, just thought I'd ask before I chuck it. Oh, and no worry, it has a legal, authentic and not-yet-registered license. Anyways, let me know. Mart :)
[web2py] Paypal slice question
So I have finally gotten around to trying to implement paypal into my site. But I am facing some issues and was hoping some one could help me figure out my questions. I am trying to figure out how to use this example http://www.web2pyslices.com/main/slices/take_slice/106 but I need to know: What is the database schema for sitesettings, also how do I include the full_url() function also what is db.song_purchases in the ipn. Any ideas I would appreciate any help ty Cheers
[web2py] Re: Paypal slice question
I'll put this into a slice when the new slice site comes. But here's an example of PayPal's Express Checkout interface which is more modern. There are two main functions in the controller and a module. def paypal(): session.recipient_id = '' item = db(db.item.id==request.args(0)).select().first() item.update_record(status='pending') item.seller = db(item.created_by==db.auth_user.id).select().first() purchase = db.purchase.insert( status = 'pending', item = item.id, amount = item.current_price, currency ='USD', item_amount = item.current_price, payment_method = 'paypal', recipient_id = item.seller.email) paypal = local_import('paypal', reload=True) row = db(db.purchase.id==purchase).select().first() res = paypal.setec(paypal_config, row) if res['ACK'][0]=='Success': session.recipient_id = item.seller.email token = res['TOKEN'][0] url = 'https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkoutuseraction=committoken=' redirect('%s%s' % (url, token)) else: return dict(res=res) def paypal_return(): token = request.vars.token recipient_id = session.recipient_id paypal = local_import('paypal', reload=True) payment = paypal.getec(paypal_config, token, recipient_id) if payment['ACK'][0]=='Success': invoice = int(payment['PAYMENTREQUEST_0_INVNUM'][0].split('-')[1]) purchase = db(db.purchase.id==invoice).select().first() purchase.update_record(email=payment['EMAIL'][0], name=payment['PAYMENTREQUEST_0_SHIPTONAME'][0], first_name=payment['FIRSTNAME'][0], last_name=payment['LASTNAME'][0], street1=payment['PAYMENTREQUEST_0_SHIPTOSTREET'][0], street2='', city=payment['PAYMENTREQUEST_0_SHIPTOCITY'][0], state=payment['PAYMENTREQUEST_0_SHIPTOSTATE'][0], zip=payment['PAYMENTREQUEST_0_SHIPTOZIP'][0], country=payment['PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE'][0], address_status=payment['ADDRESSSTATUS'][0], amount=payment['PAYMENTREQUEST_0_AMT'][0], tax_amount=payment['PAYMENTREQUEST_0_TAXAMT'][0]) payerid = request.vars.PayerID res = paypal.doec(paypal_config, token, purchase, payerid) if res['ACK'][0]=='Success': purchase.update_record(status='completed', completed_on=request.now, payment_id=res['PAYMENTINFO_0_TRANSACTIONID'][0]) item = db(db.item.id==purchase.item.id).select().first() item.update_record(status='sold') process_sale(item=item, purchase=purchase) return dict(item=item) else: app_logging.info(payment) session.flash = 'error' return dict(item=False) else: app_logging.info(payment) session.flash = 'error' return dict(item=False) import urllib import cgi paypal_config = { 'user': 'API USERNAME', 'pwd': 'API PASSWORD', 'signature': 'API SIGNATURE', 'version': '66.0', 'button_source': '' } def setec(config, purchase): invoice = '%s-%s' % ('INVOICE', purchase.id) values = {'USER': config['user'], 'PWD': config['pwd'], 'SIGNATURE': config['signature'], 'VERSION': config['version'], 'METHOD': 'SetExpressCheckout', 'SUBJECT': purchase.recipient_id, 'PAYMENTREQUEST_0_AMT': purchase.amount, 'PAYMENTREQUEST_0_CURRENCYCODE': purchase.currency, 'RETURNURL': 'http://127.0.0.1:8000/order/paypal_return', 'CANCELURL': 'http://127.0.0.1:8000/order/cancel/%s' % (purchase.item), 'PAYMENTREQUEST_0_PAYMENTACTION': 'Sale', 'PAYMENTREQUEST_0_INVNUM': invoice, 'PAYMENTREQUEST_0_NOTIFYURL': 'http://mysite.com/ipn'} return cgi.parse_qs(urllib.urlopen('https://api-3t.paypal.com/nvp', urllib.urlencode(values)).read()) def getec(config, token, recipient_id): values = {'USER': config['user'], 'PWD': config['pwd'], 'SIGNATURE': config['signature'], 'VERSION': config['version'], 'SUBJECT': recipient_id, 'METHOD': 'GetExpressCheckoutDetails', 'TOKEN': token} return cgi.parse_qs(urllib.urlopen('https://api-3t.paypal.com/nvp', urllib.urlencode(values)).read()) def doec(config, token, purchase, payerid): values = {'USER': config['user'], 'PWD': config['pwd'], 'SIGNATURE': config['signature'],
Re: [web2py] Re: Paypal slice question
I assume at import urlib and below is the module does it matter what I name the controller or module? *cheers
Re: [web2py] Re: Paypal slice question
Do I need to add the button code in my view? what is this file 'PAYMENTREQUEST_0_NOTIFYURL': 'http://mysite.com/ipn'} how do I add this to my site... sorry I have been wrecking my head over this the past week and am going crazy your code looks way simpler though imo just some questions I have :-) *cheers Andrew On Sun, Mar 13, 2011 at 9:23 PM, Andrew Evans randra...@gmail.com wrote: I assume at import urlib and below is the module does it matter what I name the controller or module? *cheers
[web2py] Re: How to setup multiple application using multiple domains on webfaction?
Sweet! I was looking at the layout on Webfaction recently and it seems like it would also be possible to run two instances of web2py relatively easy as well. On the Webfaction admin web interface you would install a python2.x/wsgi application two times but use a different name, then you would end up with something like this: webapps/wsgi_app1/web2py webapps/wsgi_app2/web2py Has anyone tried this? I will check it out if not. Thanks Bruno! Chris On Mar 13, 10:41 pm, Bruno Rocha rochacbr...@gmail.com wrote: Here it is you need two files in the root web2py folder thishttp://snipt.net/rochacbruno/routesconf/ and thishttp://snipt.net/rochacbruno/routespy/ in routes.conf you can simply do: blog.domain.com /blog/default domain.com /init/default It is working for me in 2 websites on webfaction -- Bruno Rocha [ About me:http://zerp.ly/rochacbruno] 2011/3/13 Tito Garrido titogarr...@gmail.com Hi Folks! I have two applications on my webfaction domain. One is init and another one is blog I'd like to point a different domain to blog... would you know how to do that? Regards, Tito -- Linux User #387870 . _/_õ|__| ..º[ .-.___.-._| . . . . .__( o)__( o).:___
[web2py] Re: Japan
+1 On Mar 11, 11:58 am, Massimo Di Pierro massimo.dipie...@gmail.com wrote: We all feel very close to our friends in Japan, and we are saddened by what has happened.