Re: [web2py] HTTPS admin access has stopped working
assuming your webserver user is www-data and desired password 123456 cd path/to/web2py sudo -u www-data python -c from gluon.main import save_password; save_password('123456',443) --
Re: [web2py] Is it possible to remove row from rows result created from DB?
In my experience working with this I fired out that it is better to use haversine directly on database, you can find haversine functions for MySQL, Postgres and even for SQlite. I dont know how one can write haversine with DAL api, but you can do it with executesql() as you are going to turn this in to json. BTW: you can use rows.exclude(lambda row: row.x == y) to remove items I guess you can combine rows with Rows += Rows/ or Rows = Rows if they are scheme identically. Take a look at row.exclude() on dal chapter of the book On Mon, Sep 17, 2012 at 4:51 PM, Kenny nis...@gmail.com wrote: Basically, I get the place data with longitude and latitude, calculate it if it's more than 3000 miles, remove that row from Rows. I am sure that this is wrong. If I can remove the row from fetch rows, how can I add extra columns to the rows for distance between two points? P.S the result has to be Jsoned. Here's the code def tester(): items = db(db.dine_promotion.place_id==db.place.id).select() latitude =float(23.790457) longitude =float(-47.602542) for row in items: if row.place.latitude: a=float(row.place.latitude) b=float(row.place.longitude) dist=%.2f % calc_distance(latitude,longitude,a,b) if dist 3000: items.remove(row) return dict(restaurants = items) -- --
Re: [web2py] How to use the new cache-options for referenced table by IS_IN_DB ?
IS_IN_DB receives a cache parameter so you can do db.table.field.requires = IS_IN_DB(, cache=(cache.ram, 1800)) For that number of records I would use an ajax widget with endless scroll. (http://ivaynberg.github.com/select2/#infinite) --
Re: [web2py] Receiving array passed in from jQuery $.ajax() into Storage object
You can do something like this: In [17]: request_vars = {'table[0][]': ['1', '2'], 'table[1][]': ['3', '4']} In [18]: table = request_vars.values() In [19]: table[0] Out[19]: ['1', '2'] In [20]: table[1] Out[20]: ['3', '4'] or to be sure about the sequence. In [25]: request_vars = {'table[0][]': ['1', '2'], 'table[1][]': ['3', '4']} In [26]: table = [request_vars['table[%s][]' % i] for i in range(len(request_vars))] In [27]: table[0] Out[27]: ['1', '2'] In [28]: table[1] Out[28]: ['3', '4'] --
Re: [web2py] Re: int() argument must be a string or a number, not 'list'
Trunk means the most recent devel version from git or hg, it is unstable but issues are fixed very quickly git clone https://github.com/web2py/web2py hg clone https://code.google.com/p/web2py --
Re: [web2py] Problem with validator IS_LIST_OF(IS_EMAIL())
I just looked at the code but I cant see how did you solved this, I am having the exact problem on another custom widget. I want a field where users will put recipe ingredients separated by new lines *The field* Field(ingredients, list:string, requires=LINE_SEPARATED_LIST(), widget=ListTextWidget.widget) *on form it is* * * textarea-- Ingredient number 1 Ingredient number 2 ... ... --- *To validate that textarea I created this:* class LINE_SEPARATED_LIST(object): def __init__(self, error_message=value %s is invalid, sep=\n): self.error_message = error_message self.sep = sep def __call__(self, value): items = value.split(self.sep) return ([item.strip().replace(\r,) for item in items], None) *And this widget to create the text area from stored list* class ListTextWidget(FormWidget): _class = 'text' @classmethod def widget(cls, field, value, **attributes): if value: value = \n.join(value) else: value = '' default = dict(value = value) attr = cls._attributes(field, default, **attributes) return TEXTAREA(**attr) *The problem is that after validation with errors, the text area becomes:* textarea-- ['Ingredient number 1', 'Ingredient number 2', ...] --- --
Re: [web2py] Re: [ANN] Started development on web2admin
I did that, a modal for field details... I did a pull-request with this, maybe you can improve the design. --
Re: [web2py] Re: [ANN] Started development on web2admin
I did the modal part, now need to do the shortcuts. also as you are working on mult-db support, the code may change a little. look: [image: Inline image 1] [image: Inline image 2] --
Re: [web2py] Re: [ANN] Started development on web2admin
Your call, also if you prefer to take the modal logic from modules/server side DOM on to HTML template it is easy to change. I just created as Server side DOM because it can be reused. --
Re: [web2py] Re: Is there a way to have a widget like list:string on list:reference?
I am using the default multi-select and this http://ivaynberg.github.com/select2/ --
Re: [web2py] Re: Problem with validator IS_LIST_OF(IS_EMAIL())
I have the exact same problem, but it is with tags widget. I tried a lot but did not found the way to solve it :/ BEFORE VALIDATION ERROR: [image: Inline image 1] AFTER VALIDATION ERROR [image: Inline image 2] --
[web2py] Re: Postgres Heroku
And data-clips are amazing feature! https://postgres.heroku.com/dataclips/icuwejkuecgtzhbdtcpeomdakcyg --
Re: [web2py] Re: Is there a way to have a widget like list:string on list:reference?
This one:http://ivaynberg.github.com/select2/#infinite It is easy to implement, just a default text box and you bind this. --
Re: [web2py] Re: Loop on form.process(). Validation is not done
What do you have in your view? are you using any JavaScript to manage the form submission? --
Re: [web2py] Re: [ANN] Started development on web2admin
There is Pyodel (learning tool), I dont know about the status of QAStak and PyForum. @rif what about multiple databases and databases named differently? your code expects a db object, so I think you can put on the models a config variable for dbs plugin_web2admin_dbs = [db, other_db, sessions_db, user_db] So in plugin code you can check if plugin_web2admin_dbs in globals(): for db in plugin_web2admin_dbs: # logic to create navbar menus to change the db context. --
Re: [web2py] Re: [ANN] Started development on web2admin
@rif I have some suggestion Screenshot: http://i.imgur.com/3t2kv.png For the suggested [fields] buttom it can be done with a modal or popup, it can loads a table style=display:none; id=tablename_fields inside the popup or modal, or if prefered it can retrieve this info via ajax. To retrieve the info is easy, for field in table.fields: print name.name, name.type, name.length, name.comment, name.label, name.compute, name.represent, name.requires, name.required, name.unique, name.readable, name.writable *first_name string 128 None First name None None gluon.validators.IS_NOT_EMPTY object at 0x1f05210 False False True True* So that info will be very important for developers and admins, also the buttom can show up only if admin is logged in. Let me know if you need some help, I am using this and I really think it can be a replacement for appadmin. --
[web2py] Re: on Redis Rows turns in to list() ?
I noted that this happens with memcached too. type 'exceptions.AttributeError' 'list' object has no attribute 'find' My cached .select(cache=(cache.memcache, 1200)) is retrived as a list. Function argument list (menus=[Row {'show_order': 0, 'parent': 1, 'title': 'Co...2, 6, 3, 18, 20, 21), 'modified_by': 1, 'id': 2}, Row {'show_order': 0, 'parent': 1, 'title': 'Co...2, 6, 3, 18, 20, 41), 'modified_by': 1, 'id': 3}, Row {'show_order': 0, 'parent': None, 'title': ...2, 6, 4, 19, 48, 10), 'modified_by': 1, 'id': 1}, Row {'show_order': 0, 'parent': 1, 'title': 'Pa...12, 6, 8, 6, 50, 55), 'modified_by': 1, 'id': 4}, Row {'show_order': 0, 'parent': 1, 'title': 'Ne...12, 6, 8, 6, 51, 25), 'modified_by': 1, 'id': 5}], visibility=1, parent=None, place='top') Code listing 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. def get_menu(menus, visibility=1, parent=None, place=top): ret = [] if not parent: ret = menus.find(lambda row: (row.parent == 0 or row.parent == None) and row.visibility == visibility and row.place == place) else: ret = menus.find(lambda row: row.parent == parent and row.visibility == visibility and row.place == place) return ret and I cannot use .find or other methods, this does not happens when using internal cache.ram. Is that the expected behavior? --
Re: [web2py] Validating form fields manually
You can read the read-only or hidden fields from the form directly on request.vars, instead of form.vars use request.vars and it should work. --
Re: [web2py] Beginner trying to adapt the Chapter 11 ajax function 'echo' example
The ajax function: ajax( url, # here you set a string to a complete url, it can include args and vars [], # form inputs, if you have a form on the page you can set ['name', 'email'] if you do not have a form set it to null target, # an id of any html element where you want the response to be inputed #mydiv or a function to be used as callback function(data){//do something}) ) NOTE: avoid the use of inline java script Example: {{extend 'layout.html'}} script $(function(){ $('.myactions li').click(function(){ elem = $(this); url = elem.attr('data-url'); ajax(url, *null*, parse_my_data); }); }); function parse_my_data(data){ $(#sometarget).html(data); # replaces the content of #sometarget with returned data $(#sometarget).append(data); # append data on the end of sometarget content $(#sometarget).prepend(data); # prepend data on the begin of the sometarget content // or you can do whatever you want with data as it can be json, txt or html } /script ul class=myactions {{for item in collection:}} li data-url={{=URL('echo', vars=dict(id=item.id))}} Do something /li {{pass}} /ul --
Re: [web2py] Is there anyway to register a user manually just like login_bare? I am using it in the mobile app.
*Create this function in some model* * * *def new_user(first_name, last_name, email, passw): **users = db(db.auth_user.email==email).select() **if users: **return users[0].id **else: **my_crypt = CRYPT(key=auth.settings.hmac_key) **crypt_pass = my_crypt(passw)[0] **id_user= db.auth_user.insert( ** first_name=first_name, ** last_name=last_name, ** email = email, ** password = crypt_pass ** ) **return id_user* Now create user with this: *iduser = new_user('Chris','Mills','ch...@nobody.com','somepasswordhere')* *Bruno Cezar Rocha** - @rochacbruno* rochacbr...@gmail.com | Mobile: +55 (11) 99210-8821 www.CursoDePython.com.br | www.rochacbruno.com.br Blog: App news reading (portuguese)http://rochacbruno.com.br/app-news-reading-portuguese/ Get a signature like this. http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 Click here.http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 On Thu, Sep 13, 2012 at 3:28 PM, Kenny nis...@gmail.com wrote: login_bare is so useful for accessing the database manually in mobile application, is there anyway to let the users to register the website via mobile application? ex) register_bare(id,password) - Save it in the database - user is registered. I wasn't able to find how I should make this registration step for mobile app + web2py. Thank you -- --
[web2py] Re: [web2py-dev] on Redis Rows turns in to list() ?
Yes, it raises the same error when using cache.disk, so I think for now we should include a note on /book. and I will try to emulate the .find .exclude and .sort externally using listcomprehension or map. --
[web2py] Re: [web2py-dev] on Redis Rows turns in to list() ?
The same problem without cacheable --
[web2py] Re: [web2py-dev] on Redis Rows turns in to list() ?
Ok, changing all my selects to cacheable=False it works on .disk, redis and memcache. Even on the rows where I am not using the .find() and .exclude() methods the cache are failing. If do {{for row in cached_rows:}} {{pass}} it gives me nothing.. Also {{if cached_rows:}} returns always False. It works good on cache.ram with cacheble=True|False --
Re: [web2py] short term roadmap
I would like to have a repo of scaffold apps and a command line tool + /admin tool to checkout ADMIN - create new app - SELECT(*['simple', 'bootstrap', 'foundation', 'ecommerce', 'tuned',..long list]) and on command line python web2py.py -S newappname*|*foundation downloading 'foundation' scaffold app from github.com/web2py/foundation.. unpacking. done! WELCOME TO WEB2PY shell --
Re: [web2py] short term roadmap
also it will need on admin BUTTON('update scaffold list') and in command line web2py.py -S updatescaffold --
Re: [web2py] [ANN] Started development on web2admin
Nice work! the select2.js is the same as choosen? I really like it! should have a web2py widget for this. SUGGESTION: it is very annoying to request host/app/plugin_web2admin the url does not looks good. To change this, the hard option is tricking on routes. But there is an easy way: NOTE: it is a tricky, maybe it can change in the future, for now it works nice. On top of MODELS/PLUGIN_WEB2ADMIN.PY add if request.controller == 'web2admin': request.controller = 'plugin_web2admin' response.view = response.view.replace('web2admin', 'plugin_web2admin') now you can calll localhost:8000/app/web2admin/ I will start to use this, great work! ** is there a license? --
[web2py] Pynes notify
This plugin for Bootstrap looks very nice for response.flash http://pinesframework.org/pnotify/ --
Re: [web2py] compute fields do not show up in SQLFORM view form
for that cases shouldn't use _before_insert and _before_update triggers? --
Re: [web2py] Re: Best Method to implement a like button
db.define_table('likes', Field('username', 'reference auth_user'), Field('songname', 'reference songs'), Field('playlist_name', 'reference playlist'), Field('unique_key', unique=True, notnull=True, compute= lambda row: %(username)s-%(songname)s-%(playlist_name)s), ) Now on any attempt to insert duplicates DAL will have an exception, because unique_key is unique and the computation will try to add same values. try: db.likes.insert(..) except: #YOU ALREADY LIKE THIS *Bruno Cezar Rocha** - @rochacbruno* rochacbr...@gmail.com | Mobile: +55 (11) 99210-8821 www.CursoDePython.com.br | www.rochacbruno.com.br Blog: Using Python to get all the external links from a webpagehttp://rochacbruno.com.br/using-python-to-get-all-the-external-links-from-a-webpage/ Get a signature like this. http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 Click here.http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 --
Re: [web2py] Re: Best Method to implement a like button
The computation should be compute= lambda row: %(username)s-%(songname)s-%(playlist_name)s % row --
Re: [web2py] Modelless app no longer works with web2py 2.0.x ???
I did some changes on Movuca, but I still have to solve little issues in order to commit. But I just commited a workarounf for the problem: https://github.com/rochacbruno/Movuca/commit/aa25103e9c37921a34a225b8e82ca0f8634ca831 --
Re: [web2py] Help with python module import error
if the package is in your Python wen2py have to see this.. you can try inside web2py code (i.e models) import sys sys.path.append(/path/to/installed/package) Have you restarted web2py since you installed the module? On Mon, Sep 10, 2012 at 4:52 PM, monotasker scotti...@gmail.com wrote: I'm having trouble on Webfaction with web2py not finding the pytz module, even though it is found fine in my local environment. I've already installed the module using easy_install at myname/lib/python2.7 (as per Webfaction instructions), and I've confirmed that I can import it from the python prompt (in an ssh session). I've also confirmed that web2py is running on python2.7. But I'm still getting an import error. Any ideas? I thought I might try putting the package in my site-packages directory, but I'm not exactly sure what to put there. Would I use easy_install or do I need to put some files there manually? Thanks, Ian -- --
Re: [web2py] Help with python module import error
If you are running on webfaction, maybe it is under apache and mod_wsgi, so you need to restart Apache to reload the mod_wsgi. $service apache2 restart or $/etc/init.d/apache2 restart (but you need to check if it is running apache, nginx or other) --
Re: [web2py] Modelless app no longer works with web2py 2.0.x ???
Here is the solution: https://github.com/rochacbruno/web2py_model_less_app/blob/master/modules/myapp.py#L82 That approach subclasses DAL so it need to include _lazy_tables = {} But, now that we have lazy_tables in default DAL, I recommend you to use the default web2py scheme with lazy_tables=True, and you will not have the ols problem of lot of tables defined. BTW: I am still using the modelless class based scheme and it is working good. *Bruno Cezar Rocha** - @rochacbruno* rochacbr...@gmail.com | Mobile: +55 (11) 99210-8821 www.CursoDePython.com.br | www.rochacbruno.com.br Blog: Using Python to get all the external links from a webpagehttp://rochacbruno.com.br/using-python-to-get-all-the-external-links-from-a-webpage/ Get a signature like this. http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 Click here.http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 On Sun, Sep 9, 2012 at 3:22 PM, Don_X don.clerm...@gmail.com wrote: Considering that I have many tables in my model files on the main app I am building Wanting to take the modelless approach ( slice submitted by BrunoRocha ) in order to avoid possible future bottleneck and/or latency I wanted to advise that the modelless app no longer works under web2py 2.0.x When I downloaded and installed the running test app to check it out with any 2.0.x I get the following error ticket msg : type 'exceptions.AttributeError' 'DataBase' object has no attribute '_lazy_tables' Can anyone help me with this ??? ... so I can make it right ... before I incorporate this approach in my app dev habit .. is there a patch for it ??? ... thank you Don -- --
Re: [web2py] Re: help test codemirrorw
Maybe we can put a dropdown select and adjust the prefered editor using cookies in the same way we do with the admin language? So it will be easy to switch from codemirror to ace and no need to edit the 0.py On Sun, Sep 9, 2012 at 4:35 PM, Marin Pranjić marin.pran...@gmail.comwrote: It is not about the colors. Ace has smaller font and it looks more elegant that way. Maybe it's just me... :) And the edit box is larger by default: http://i49.tinypic.com/19o3g1.jpg Dana nedjelja, 9. rujna 2012. 21:25:37 UTC+2, korisnik Massimo Di Pierro napisao je: I changed the web2py codemirror style. We can still work on it On Sunday, 9 September 2012 14:16:17 UTC-5, Massimo Di Pierro wrote: Which theme di you like better? http://codemirror.net/demo/**theme.htmlhttp://codemirror.net/demo/theme.html On Sunday, 9 September 2012 14:00:01 UTC-5, Marin Pranjić wrote: Is there anything that actually works on IE? codemirror works for me (ubuntu, Firefox15). But ace has nicer look. Dana nedjelja, 9. rujna 2012. 20:52:34 UTC+2, korisnik Massimo Di Pierro napisao je: If we move to codemirror (and we should) what do we get rid of (editarea, amy, ace)? We cannot ship with 4 editors. Maybe pack them as plugins? -- --
Re: [web2py] Modelless app no longer works with web2py 2.0.x ???
On Sun, Sep 9, 2012 at 9:27 PM, Andrew W awillima...@gmail.com wrote: (although I still don't quite really understand what a lazy table is). imagine you have models/db.py db = DAL(...) db.define_table(table1.) db.define_table(table2.) ... ... db.define_table(table30.) So, for each request (I mean every time user hits an url or click on something) all that 30 tables will be imeddiatelly instantiated even if the requested page does not need to all the 30 tables. The process of table definition involves some logic such as instantiate a new Table object, check all the fields, do migrations, check reserved keywords, check the tablename atc... Now if you turn db = DAL(... lazy_tables=True) for each request web2py will just store some data in a dictionary {tablename: {fields: ., options:}, no table will be instantiated ultil needed. So when in your program you do db(db.table1),select() # in this time web2py will fire the table instantiation and all the process, so it will happen only for the table you need and you saved 29. Thats it. --
Re: [web2py] Populating widgets with queries
maybe this? form = SQLFORM.factory( Field('test', type='string', requires=IS_IN_DB(*db(db.table.field == xyz)*, db.city.name_url, '%(name)s', multiple=True), widget=lambda f, v: SQLFORM.widgets.checkboxes.widget(f, v, style='divs'), default = 'New-York'), formstyle='divs') or myset = [(value 1, text 1), (value 2, text 2), (value 2, text 2)] form = SQLFORM.factory( Field('test', type='string', requires=IS_IN_SET(myset, multiple=True), widget=lambda f, v: SQLFORM.widgets.checkboxes.widget(f, v, style='divs'), default = 'New-York'), formstyle='divs') or myset = {value 1: text 1, value 2: text 2, value 2: text 2} form = SQLFORM.factory( Field('test', type='string', requires=IS_IN_SET(myset, multiple=True), widget=lambda f, v: SQLFORM.widgets.checkboxes.widget(f, v, style='divs'), default = 'New-York'), formstyle='divs') or myset = db.executesql(SELECT value, text FROM sometable) form = SQLFORM.factory( Field('test', type='string', requires=IS_IN_SET(myset, multiple=True), widget=lambda f, v: SQLFORM.widgets.checkboxes.widget(f, v, style='divs'), default = 'New-York'), formstyle='divs') *Bruno Cezar Rocha** - @rochacbruno* rochacbr...@gmail.com | Mobile: +55 (11) 99210-8821 www.CursoDePython.com.br | www.rochacbruno.com.br Blog: Using Python to get all the external links from a webpagehttp://rochacbruno.com.br/using-python-to-get-all-the-external-links-from-a-webpage/ Get a signature like this. http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 Click here.http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 On Sat, Sep 8, 2012 at 3:22 AM, Mike Girard mikegirar...@gmail.com wrote: I have a checkboxes widget which I invoke like so: form = SQLFORM.factory( Field('test', type='string', requires=IS_IN_DB(db, db.city.name_url, '%(name)s', multiple=True), widget=lambda f, v: SQLFORM.widgets.checkboxes.widget(f, v, style='divs'), default = 'New-York'), formstyle='divs') I use requires=IS_IN_DB solely to populate the checkboxes with fresh data. I don't really need the validation. Now I would prefer to spread the data in the one table being used across multiple checkbox groups. Is there an out-of-the-box way to populate form elements with queries instead of just binding them to tables? -- --
Re: [web2py] Re: Object Row. Error in 2.0.8 not in 2.0.0
I am using: cache_key = %s_%s_%s % (query, start, end) total, rows = cache.ram(cache_key, lambda: (db(query).count(), db(query).select(limitby=(start, end), cacheable=True)), 3600) Should I put a dummy cache=(...) just to have the benefits? --
Re: [web2py] help test codemirrorw
Thats great! I started using codemirror on another project and I find it awesome. I will update from trunk now and test in Ubuntu.. --
Re: [web2py] help test codemirrorw
code mirror works ok for me in chrome, opera and firefox (ubuntu). --
Re: [web2py] Re: [OT] Ubuntu 12.10 will no longer ship with Python 2
Let's create a virtual-env with Python 2.7 and it will not be a problem. --
Re: [web2py] invalid view (default/contribuyentes.html)
that should be under */views/default/contribuyentes.html* On Thu, Sep 6, 2012 at 4:48 PM, ocascante oscarcascantefons...@gmail.comwrote: Hi, i am new in web2py. I have web2py 2.07 installed in my linux mint 13 computer. I used the script available in google to install it. Now, i have a problem that i don't understand. First I have in the default.py this: def contribuyentes(): grid = SQLFORM.smartgrid(db.contribuyentes) return dict(grid=grid) and second i created the contribuyentes.html view with: {{extend 'layout.html'}} {{=grid}} If i write response.generic_patterns = ['*'] in the contribuyentes function, i access the generic view but not the contribuyentes view. Without this sentence, i have this error: invalid view (default/contribuyentes.html) I don't want to use the generic view. Thanks for your help. -- --
Re: [web2py] Filtering on NULL values in DAL query
db(db.table.field == None).select() should give you all records with field = NULL db(~db.table.field == None).select() All records where field NULL Is that? --
Re: [web2py] Filtering on NULL values in DAL query
On Wed, Sep 5, 2012 at 3:12 PM, Marin Pranjić marin.pran...@gmail.comwrote: it is db.table.field != None operator ~ is used for ORDER BY and it maps to DESC. Yes, my bad, you are right, but there is one case where ~ is used in query ~db.table.field.belongs(list) and ~db.table.listfield.contains(value) --
Re: [web2py] Web2Py : JQuery .ajax data sent not present in request.vars
Your URL should have the vars url: /test01/default/getContent?sourcetitle=xxx If you do not pass the vars on url you can't get them at the called controller --
Re: [web2py] Web2Py : JQuery .ajax data sent not present in request.vars
or you call it with .json extension and use the generic json view url: /test01/default/getContent*.json*?sourceTitle=x or you do this on the return import json def getContent(): titleArg = str(request.vars.sourceTitle) print -- print -- print request.vars # Starts working if contentType in ajax request above is commented print Getting news content for : + titleArg print -- print -- #rows=db(db.NewsMaster).select(db.NewsMaster.ALL) myobj = [dict(value=x),dict(value=x), dict(value=x)] return json.dumps(myobj) On Wed, Sep 5, 2012 at 6:51 PM, Nik nikhil.kodil...@gmail.com wrote: Thanks Bruno ! That worked, but now when I get the response back as JSON, JQuery throws an error saying the JSON isn't valid. The JSON seems valid to me also passes JSONLint test : {readyState:4,responseText:FIFA support India for U-17 and 2022 World Cup - Times,status:200,statusText:OK} On Wednesday, 5 September 2012 17:40:42 UTC-4, rochacbruno wrote: Your URL should have the vars url: /test01/default/getContent?**sourcetitle=xxx If you do not pass the vars on url you can't get them at the called controller -- --
Re: [web2py] sqlform.grid and query conditions
You can do: if request.args(0) in ['edit', 'delete']: STORE_DETAILS.id == int(request.args(2)) or redirect(URL('default', 'wherever')) db.pages.stores_id.default = STORE_DETAILS.id query = ((db.pages.stores_id == STORE_DETAILS.id)) form = SQLFORM.grid(query=query) return dict(form=form) On Wed, Sep 5, 2012 at 9:38 PM, Kevin C ke...@techdaddies.com wrote: Basically, we are generating a SQLFORM.grid with the following code: db.pages.stores_id.default = STORE_DETAILS.id query = ((db.pages.stores_id == STORE_DETAILS.id)) form = SQLFORM.grid(query=query) return dict(form=form) This is working perfectly fine for us. However, we have noticed that if we just change the ID in the query string for the edit page, we are allowed to edit other store's entries. IE http://test.oursite.com/test/admin/pages/edit/pages/6?_signature=f8c5560743.http://test.shofty.com/shofty/admin/pages/edit/pages/6?_signature=f8c55607435864253b5f5b37a6b7109956e4a8fa .. What is the proper way to do this, then? The grid itself looks great, but just by changing the page ID in the URL, we are allowed to edit pages not belonging to us. I guess I was hoping that the query conditional would be passed to each function (add, edit, delete) but that obviously is not the case. Is multi-tenancy the solution to this issue or are we overlooking something simple? -- --
Re: [web2py] Re: web2pyslices for Android
That is just a RSS reader with local storage for favorites, read/unread etc.. --
Re: [web2py] Updated cheatsheet
Small question.. cache.ram.clear(regex='*') will clear the whole cache? --
Re: [web2py] Updated cheatsheet
So I assume cache.ram.clear() will do the job ? --
Re: [web2py] Re: Twitter account for @web2py
There is a free option.. I manage the web2py facebook page, (also Massimo and Anthony are added as co-managers), facebook can tweet automatically from page -- twitter. So we can add more people to page management and all publications by page will go to twitter. Just need to enter there, go to page admin and include web2py twitter account. (Massimo you have admin permissions to do it on the facebook page) On Tue, Sep 4, 2012 at 4:08 PM, Luther Goh Lu Feng elf...@yahoo.com wrote: Oops I am so sorry Massimo. Seems that cotweet became a paid service earlier this year. Maybe someone can recommend a free alternative? On Tuesday, September 4, 2012 11:57:31 PM UTC+8, Massimo Di Pierro wrote: Do not worry. On Tuesday, 4 September 2012 10:26:52 UTC-5, David J wrote: Don't tweet commit messages, that is really very annoying. Releases are fine. On 9/4/12 11:21 AM, Massimo Di Pierro wrote: I cannot figure out how to sign up for cotweet. :-( On Monday, 3 September 2012 15:45:14 UTC-5, Luther Goh Lu Feng wrote: I think it is also possible to give trusted and active members of the community access to the twitter account via some service like cotweet. On Tuesday, September 4, 2012 4:14:02 AM UTC+8, rochacbruno wrote: You can use http://feeds.feedburner.**com/web2pysliceshttp://feeds.feedburner.com/web2pyslices as source for automatic posts... also it would be nice to include web2py.com/download/changelog.**rsshttp://web2py.com/download/changelog.rss(create it) and use as source to tweet automatically when change log gets updated. It can also be done with github commits (you can integrate the account on github -- twitter) On Mon, Sep 3, 2012 at 5:08 PM, Massimo Di Pierro massimo@gmail.com wrote: No particular reason. I am planning to get back to it. Any suggestions on how to make it more active? On Monday, 3 September 2012 14:32:23 UTC-5, Luther Goh Lu Feng wrote: I just noticed that the twitter account has been very inactive :o Is there any reason for that? Anyway to improve the situation? https://twitter.com/web2py -- -- -- --
Re: [web2py] Validating form fields manually
this: def validate_my_form(form) if form.vars.channel == foo: form.errors.channel = This channel is not valid if form.process(onvalidation=validate_my_form).accepted: # do whatever here *Bruno Cezar Rocha** - @rochacbruno* rochacbr...@gmail.com | Mobile: +55 (11) 99210-8821 www.CursoDePython.com.br | www.rochacbruno.com.br Blog: Using Python to get all the external links from a webpagehttp://rochacbruno.com.br/using-python-to-get-all-the-external-links-from-a-webpage/ Get a signature like this. http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 Click here.http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 On Tue, Sep 4, 2012 at 4:09 PM, Daniel Gonzalez gonva...@gmail.com wrote: Something like this: if form.process().accepted: if request.var.channel == 'voicemail': validate requests.var.destination as a mail address. elif request.var.channel == 'sipaddress' validate requests.var.destination as a sip address. elfi request.var.channel == 'phone' validate requests.var.destination as a telephone number I have two questions: --
Re: [web2py] Re: Twitter account for @web2py
www.facebook.com/web2py --
Re: [web2py] Re: Auth Decorator / Model Question.
cache.ram or even better (memcached) is preferred! if you use session and your sessions are stored on filesystem, if you have too much data it will be hard to load on each request. DATA = cache.ram(request.http_host, lambda: db(..).select(cacheable=True), 86400) # keeps for 24 hours. Now, on every place where data is changed you can call cache.ram.clear(regex=None) to reset that cache. --
Re: [web2py] Re: web2py book on github
Martin, I am doing the same for portuguese. Which number did you named your spanish version? 36-spanish-work-in-progress ? I forked and I will put a 37-portuguese-work-in-progress On Mon, Sep 3, 2012 at 4:27 PM, Martín Mulone mulone.mar...@gmail.comwrote: I know but it's not in markmin, and make changes and sync is a hell pain. Google translation is funny, is not serious. 2012/9/3 Massimo Di Pierro massimo.dipie...@gmail.com Mind that I believe there is already around a spanish translation of the 3rd edition. There is also this version translated by google: https://dl.dropbox.com/u/18065445/web2py/web2py_manual_es.pdf and this one translated in portuguese by google: https://dl.dropbox.com/u/18065445/web2py/web2py_manual_pt.pdf On Monday, 3 September 2012 13:28:35 UTC-5, Martin.Mulone wrote: Thanks massimo, this is a huge advance!, and the app is also very cool. I started translation to spanish based on fork (29-english), here https://github.com/**mulonemartin/web2py-bookhttps://github.com/mulonemartin/web2py-book. 2012/9/3 Massimo Di Pierro massimo@gmail.com Planning to add that by the end of the week. On Monday, 3 September 2012 11:41:56 UTC-5, Mandar Vaze wrote: On Saturday, September 1, 2012 10:30:49 PM UTC+5:30, Massimo Di Pierro wrote: The web2py book app has been rewritten http://www.web2py.com/book Does this mean the PDF is also (automatically) updated ? I checked online, the PDF still says Build Date December 2011 -Mandar -- -- http://www.tecnodoc.com.ar -- -- http://www.tecnodoc.com.ar -- --
Re: [web2py] Re: web2py book on github
FYK: The portuguese will be done by a community, so we are tracking the statuses on this file: https://github.com/rochacbruno/web2py-book/blob/master/sources/37-web2py-portuguese-work-in-progress/translation_status.md Maybe someone can follow the pattern... --
Re: [web2py] Re: Twitter account for @web2py
You can use http://feeds.feedburner.com/web2pyslices as source for automatic posts... also it would be nice to include web2py.com/download/changelog.rss (create it) and use as source to tweet automatically when change log gets updated. It can also be done with github commits (you can integrate the account on github -- twitter) On Mon, Sep 3, 2012 at 5:08 PM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: No particular reason. I am planning to get back to it. Any suggestions on how to make it more active? On Monday, 3 September 2012 14:32:23 UTC-5, Luther Goh Lu Feng wrote: I just noticed that the twitter account has been very inactive :o Is there any reason for that? Anyway to improve the situation? https://twitter.com/web2py -- --
Re: [web2py] help with apache
I guess it can help you to discover the problems: http://nicolargo.github.com/glances/ (I would like to have a web-socket version of that app) --
Re: [web2py] Re: Checking for upgrades isn't working as I expected (1.99.7 installed)
If you have access to files (ssh or ftp) you can try to edit this line File ...web2py/applications/admin/controllers/default.py https://192.168.1.102/admin/default/edit/admin/controllers/default.py, line 113, in check_version + XML(' strong class=upgrade_version%s/strong' % version_number) and change to + XML(' strong class=upgrade_version%s/strong' % str(version_number)) Including str(version_number) and saving, now you can try to click on check for upgrade and it will work! --
Re: [web2py] Re: How to persist session data for user across browsers
I think you can use cache. user_data = cache.ram(user_data_%s % auth.user_id, lambda : dict(field=value, field=value), 86400) --
Re: [web2py] Changing the HTML attribute of fields generated by SQLFORM
Server side DOM. An example: mysubmitbutton = form.elements('input[type=submit]')[0] mysubmitbutton[_value] = GO mysubmitbutton[_class] = btn btn-primary Other example, if you want to change the class of all input objects. inputs = form.elements(input') for input in inputs: input['_class'] = 'form-input' On Sun, Sep 2, 2012 at 3:01 PM, Dadepo Aderemi dad...@gmail.com wrote: Dear All, How would HTML attributes like id, class etc be added to a form generated using the SQLFORM? I know with FORM, you can easily use the attribute name prepended with an underscore _ to set the properties. How can this be done with SQLFORM? Specifically I am looking at adding an HTML class attribute to SUBMIT button generated? Would appreciate the help. Kind Regards! -- --
Re: [web2py] Re: Global formstyle configuration
This should work.. # On models class SQLFORM(SQLFORM): ''' Customized SQLFORM ''' def __init__(self, *args, **kwargs): kwargs.setdefault(formstyle, divs) super(MySQLFORM, self).__init__(*args, **kwargs) On Sun, Sep 2, 2012 at 8:11 PM, vinicius...@gmail.com vinicius...@gmail.com wrote: Anthony, another one would be hide_error. These are settings affect app style of visualization and user interaction. So, it makes sense to be defined once and overriden when necessary. -- Vinicius Assef On 09/02/2012 12:34 PM, Anthony wrote: Are there other examples of potential global configs? For forms, perhaps we could set the default via a formstyle class attribute, which you could then change once in your code. Anthony On Sunday, September 2, 2012 11:27:42 AM UTC-4, viniciusban wrote: I think it would be nice to have some global configs in web2py. One of them is formstyle. It's unpleasant to define formstyle in every FORM definition. This formstyle config could come in db.py like Auth configs. So, once defined my app formstyle, it should be used as default. But in a specific FORM, I could override it, according to my needs. Any oppinion? -- Vinicius Assef On 09/02/2012 12:12 PM, Anthony wrote: We also need to document the new formstyle='bootstrap' option as well as the new callable formstyle option that takes the form and fields and builds the entire form DOM. Anthony On Saturday, September 1, 2012 5:37:11 PM UTC-4, Massimo Di Pierro wrote: These features are now documented in the html book. Working on more. [x] Support for DAL(lazy_tables=True) and db.define_table(on_define=**lambda table:), thanks Jonathan [x] db(...).select(cacheable=True) make select 30% faster [x] db(...).select(cache=(cache.**ram,3600)) now caches parsed data 100x faster [x] db(...).count(cache=(cache.**ram,3600)) now supported [x] MongoDB support in DAL (experimental), thanks Mark Breedveld [x] db.mytable._before_insert, _after_insert, _before_update, _after_update, _before_delete. _after_delete (list of callbacks) [x] DAL BIGINT support and DAL(...,bigint_id=True) [x] IS_IN_DB(..., distinct=True) [x] new syntax: db.mytable.insert(**myuploadfield=open()), thank you Iceberg [x] db(...).select(db.mytable.**myfield.count(distinct=True)) [x] teradata adapter, thanks Andrew Willimott [x] experimental Sybase Adapter [x] added db.table.field.avg() [x] Field(... 'upload', default=path) now accepts a path to a local file as default value, if user does not upload a file. Relative path looks inside current application folder, thanks Marin [x] executesql(...,fields=,**columns=) allows parsing of results in Rows, thanks Anthony [x] @auth.requires_login(**otherwise=URL(...)) [x] CRYPT now defaults to pbkdf2(1000,20,sha1) [x] allow storage of uploads on any PyFileSystem (including amazon) [x] more export options in SQLFORM.grid and SQLFORM.smartgrid (html, xml, csv, ...) [x] new layout based on Twitter Bootstrap [x] New generic views: generic.ics (Mac Mail Calendar) and generic.map (Google Maps) [x] request.args(0,default=0, cast=int, otherwise=URL(...)), thanks Anthony [x] redirect(...,type='auto') will be handled properly in ajax responses [x] routes in can redirect outside with routes_in=[('/path','303-**http://..')] [x] .coffee and .less support in response.files, thanks Sam Sheftel [x] ldap certificate support [x] pg8000 postgresql driver support (experimental) [x] db.table.field.like(...,case_**sensitive=False) (thanks Floyd) [x] db.table.field.regexp(...) for sqlite and postgres [ ] db(...,ignore_common_filters=**True) [x] db(db.dog_id.belongs(db.dogs.**owner=='james')).select() [ ] db(...).select().group_by_**value(db.table.field) (thanks Yair) [x] db = DAL('imap://user:password@**server:port') support (thanks Alan Etkin) [x] db = DAL('teradata://DSN=dsn;UID=**user;PWD=pass; DATABASE=database') (thanks Adrew Willmott) [x] db = DAL('mongodb://127.0.0.1:5984/**dbhttp://127.0.0.1:5984/db http://127.0.0.1:5984/db http://127.0.0.1:5984/db') (experimental, thanks Mark Breedveld) [x] db = DAL('cubrid') (experimental) [x] db = DAL('postgres:pg8000:...') and DAL('postgres:psycopg2:...') [x] pg8000 now ships with web2py (thanks Mariano) [x] reponse.delimiters = ('\\[','\\]') (thanks Denes) [x] conditional menu
Re: [web2py] Classes in markmin
There is markmin2pdf and markmin2html on gluon.contrib https://github.com/web2py/web2py/tree/master/gluon/contrib/markmin --
Re: [web2py] web2py appliance released by Turnkey Linux
It is running web2py 1.99.7, is there a way they upgrade to 2.0.5 ? *Bruno Cezar Rocha** - @rochacbruno* rochacbr...@gmail.com | Mobile: +55 (11) 99210-8821 www.CursoDePython.com.br | www.rochacbruno.com.br Blog: Using Python to get all the external links from a webpagehttp://rochacbruno.com.br/using-python-to-get-all-the-external-links-from-a-webpage/ Get a signature like this. http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 Click here.http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 On Sat, Sep 1, 2012 at 4:47 PM, rik goldman rikgold...@gmail.com wrote: TurnKey Linux did it. Web2py appliance now available in several forms from http://www.turnkeylinux.org/web2py. -- --
Re: [web2py] Re: web2py book on github
Include this: [ ] Rows.find(lambda row: bool(), limitby=(0,1)) --
Re: [web2py] Re: web2py book on github
Also mention that this [x] new syntax: db.mytable.insert(myuploadfield=open()), thank you Iceberg Now works as: [ ] db.table.myuploadfield.default = open() --
Re: [web2py] Use web2py to create offline desktop application
Yes! You have some options: 1 Use sqlite locally, use rocket server (built-in), use py2exe to pack your app as a windows application .exe, or py2app to pack as apple application. Take a look on to this: http://web2py.com/books/default/chapter/29/14#How-to-distribute-your-applications-as-binaries 2 Use rad2py with its gui2py http://code.google.com/p/rad2py/ On Sat, Sep 1, 2012 at 9:46 PM, luckysmack luckysm...@gmail.com wrote: I am curious, if there could be a way to use web2py to create an installable desktop application. The app would be based on a web app so would have much of the same code. I would want/hope to find a way to bundle a local database (mongodb or couchdb if it works with web2py) and have the local db sync to the server when changes are made. For a UI, i would probably keep it web based and see if I could package it with a webkit instance, or have it open in the browser as the main ui, this way I can still use html/js for the front end as the web app is. Example. Say that online there is a large product catalog. each company has their own catalog. when using the offline app, you would authenticate with the server first, then once authenticated, it would download/sync your companies catalog to your local server/computer. Then you could work with it even while there is no internet. When you come back on line (or as youre using it) it would sync/stay in sync with the server. Syncing, i know is another task unto itself. But in this case, one could use this offline app as a POS system for an in store purchase. when you add a product it syncs with the server. Is there any way this can be done with web2py? -- --
Re: [web2py] Upgrade to 2.0.x - AttributeError: 'Table' object has no attribute 'permissionid'
did you turned lazy_tables to True on your db definition? Bruno Rocha http://rochacbruno.com.br mobile Em 31/08/2012 10:02, Jim S j...@qlf.com escreveu: Getting the following: Traceback (most recent call last): File C:\dev\web2py\gluon\restricted.py, line 209, in restricted exec ccode in environment File C:/dev/web2py/applications/infocenter/models/db.py http://127.0.0.1:8000/admin/default/edit/infocenter/models/db.py, line 152, in module format='%(name)s') File C:\dev\web2py\gluon\dal.py, line 7047, in define_table table = self.lazy_define_table(tablename,*fields,**args) File C:\dev\web2py\gluon\dal.py, line 7078, in lazy_define_table polymodel=polymodel) File C:\dev\web2py\gluon\dal.py, line 920, in create_table fake_migrate=fake_migrate) File C:\dev\web2py\gluon\dal.py, line 988, in migrate_table and not isinstance(table[key].type, SQLCustomType) \ File C:\dev\web2py\gluon\dal.py, line 7559, in __getitem__ return ogetattr(self, str(key)) AttributeError: 'Table' object has no attribute 'permissionid' Relevant define_table in db.py: link = db.define_table('link', Field('linkId', 'id', readable=False), Field('name', length=50, required=True, unique=True), Field('parentLinkId', 'reference link', required=True, label='Parent Link'), Field('controller', length=512, required=True), Field('method', length=512, required=True), Field('picture', length=512, required=False), Field('permissionId', db.auth_permission, label='Rqd Permission'), Field('groupId', db.auth_group, label='Rqd Group'), Field('description', 'text', required=True), format='%(name)s') This is line 152. If I change it to the following (added .id to definition of permissionId field reference) : link = db.define_table('link', Field('linkId', 'id', readable=False), Field('name', length=50, required=True, unique=True), Field('parentLinkId', 'reference link', required=True, label='Parent Link'), Field('controller', length=512, required=True), Field('method', length=512, required=True), Field('picture', length=512, required=False), Field('permissionId', db.auth_permission.id, label='Rqd Permission'), Field('groupId', db.auth_group, label='Rqd Group'), Field('description', 'text', required=True), format='%(name)s') Then I get the following traceback: Traceback (most recent call last): File C:\dev\web2py\gluon\restricted.py, line 209, in restricted exec ccode in environment File C:/dev/web2py/applications/infocenter/models/db.py http://127.0.0.1:8000/admin/default/edit/infocenter/models/db.py, line 152, in module format='%(name)s') File C:\dev\web2py\gluon\dal.py, line 7047, in define_table table = self.lazy_define_table(tablename,*fields,**args) File C:\dev\web2py\gluon\dal.py, line 7078, in lazy_define_table polymodel=polymodel) File C:\dev\web2py\gluon\dal.py, line 721, in create_table elif field_type.startswith('reference'): File C:\dev\web2py\gluon\dal.py, line 8122, in startswith raise SyntaxError, startswith used with incompatible field type SyntaxError: startswith used with incompatible field type Any ideas where to look for this one? -Jim -- --
Re: [web2py] help with apache
There is something here: http://ubuntuforums.org/showthread.php?t=1636667 On Fri, Aug 31, 2012 at 7:02 PM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: Address already in use: make_sock: could not bind to address [::]:80 --
Re: [web2py] Re: Versioning static files or other options for browser cache reloading
I cant understand how versioned folders would help on this case? I ran on to this issue a long time ago and I ended using pure html for this. script src={{=URL('static', 'js', args='mylib.js')}}?{{=get_random_number()}} This works for me when I need to bypass the cache to get the proper js loaded on the client. --
Re: [web2py] Tweet this and web2py forms. How do I design this?
Without OAuth and permissions I only can see one way. The twitter url for tweets is: def tweet(): tweet_url = https://twitter.com/intent/tweet?original_referer=%(referer)srelated=%(related)ssource=%(source)stext=%(text)s form = SQLFORM(db.tweets) if form.process().accepted: if form.vars.tweetthis: data = dict(referer=mysiteurl.com, related=mytwittername, source=myappname, text=form.vars.tweet_text) redirect(tweet_url % data) # here you can choose to use Javascript and open in a popup (aditional logic needed) return dict(form=form) On Thu, Aug 30, 2012 at 4:17 PM, Pystar aitoehi...@gmail.com wrote: I have a form that includes a tweet this select box option. I would like to tweet the contents of the textarea which is the only form field and at the same time submit the form to a database. I am at a loss on how to develop this. Is it possible with web2py. Considering the fact that I am only using the inbuilt auth for user authentication. -- --
Re: [web2py] Re: Versioning static files or other options for browser cache reloading
I tested this on a project (maybe web2py version -1.97) response.files.append(URL('static', 'css', args='myfile.css', vars=dict(v=get_random( I dont know if it is working now, but I used the plan html for doing this. --
Re: [web2py] Tweet this and web2py forms. How do I design this?
It is only possible if you have implemented OAuth and user gave access permission for your application. --
Re: [web2py] Re: Lazy_tables with virtual fields
How are you defining the db connection? are you using models or modules? which db? --
Re: [web2py] Re: Versioning static files or other options for browser cache reloading
I think it is now working, I checked the source and there is: if isinstance(item,str): f = item.lower().split('?')[0] if f.endswith('.css'): s += css_template % item elif f.endswith('.js'): s += js_template % item elif f.endswith('.coffee'): s += coffee_template % item elif f.endswith('.less'): s += less_template % item elif isinstance(item,(list,tuple)): So f is splitted by ?, but I have not tested. --
Re: [web2py] Cannot install on computer
Which version of web2py? which version of windows? BTW: You have not to install web2py, web2py is executable, no need to install! If you downloaded the windows version .exe you just need to run it (if it is not working, please tell us your version of windows and web2py) If you download the source_code version **recommended** you just need to unzip it, then you need to install Python, go to www.python.org and install version 2.7 for windows. After having Python installed open a windows command line: I guess you can do it clicking on start button then write cmd on the text box there. On cmd: cd c:\myuserfolder\Downloads\web2py ** the path where you unzipped then c:\python27\python.exe web2py.py On Thu, Aug 30, 2012 at 9:23 PM, lukedc luk...@gmail.com wrote: Hi everyone, I know that this is a dumb question, but i could not find an answer to it anywhere i looked. I am just instaling web2py, but when I click on the web2py.exe, it does not work. just a quick cmd screen comes up and then goes away real quick. What should I do? I don't know how to install from the command prompt. Thank you so much, Luke -- --
Re: [web2py] urgent mysql, postgresql, firebird, ... users.
TICKET ID 127.0.0.1.2012-08-31.01-09-21.3e3284ec-20dd-4076-9a0b-889f72a85cf7 type 'exceptions.RuntimeError' Failure to connect, tried 5 times: Traceback (most recent call last): File /home/bcr/projects/web2py21/gluon/dal.py, line 6722, in __init__ self._adapter = ADAPTERS[self._dbname](*args) File /home/bcr/projects/web2py21/gluon/dal.py, line 2440, in __init__ self.pool_connection(connect) File /home/bcr/projects/web2py21/gluon/dal.py, line 553, in pool_connection self.connection = f() File /home/bcr/projects/web2py21/gluon/dal.py, line 2439, in connect return self.driver.connect(msg,**driver_args) File /usr/lib/python2.7/dist-packages/psycopg2/__init__.py, line 179, in connect connection_factory=connection_factory, async=async) OperationalError: FATAL: password authentication failed for user postgres FATAL: password authentication failed for user postgres VERSION web2py™ (2, 0, 3, datetime.datetime(2012, 8, 30, 23, 7, 46), 'stable') PythonPython 2.7.3: /usr/bin/python TRACEBACK 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. Traceback (most recent call last): File /home/bcr/projects/web2py21/gluon/restricted.py, line 209, in restricted exec ccode in environment File /home/bcr/projects/web2py21/applications/menuvegano/controllers/article.py http://localhost:8000/admin/default/edit/menuvegano/controllers/article.py, line 180, in module File /home/bcr/projects/web2py21/gluon/globals.py, line 185, in lambda self._caller = lambda f: f() File /home/bcr/projects/web2py21/applications/menuvegano/controllers/article.py http://localhost:8000/admin/default/edit/menuvegano/controllers/article.py, line 7, in show article = Article('show') File applications/menuvegano/modules/handlers/base.py, line 32, in __init__ self.start() File applications/menuvegano/modules/handlers/article.py, line 16, in start self.db = DataBase([User, UserTimeLine, ContentType, Category, Article, Favoriters, Subscribers, Likers, Dislikers, Comments, CommentVotes]) File applications/menuvegano/modules/movuca.py, line 37, in __init__ check_reserved=['all']) File /home/bcr/projects/web2py21/gluon/dal.py, line 6741, in __init__ raise RuntimeError, Failure to connect, tried %d times:\n%s % (attempts, tb) RuntimeError: Failure to connect, tried 5 times: Traceback (most recent call last): File /home/bcr/projects/web2py21/gluon/dal.py, line 6722, in __init__ self._adapter = ADAPTERS[self._dbname](*args) File /home/bcr/projects/web2py21/gluon/dal.py, line 2440, in __init__ self.pool_connection(connect) File /home/bcr/projects/web2py21/gluon/dal.py, line 553, in pool_connection self.connection = f() File /home/bcr/projects/web2py21/gluon/dal.py, line 2439, in connect return self.driver.connect(msg,**driver_args) File /usr/lib/python2.7/dist-packages/psycopg2/__init__.py, line 179, in connect connection_factory=connection_factory, async=async) OperationalError: FATAL: password authentication failed for user postgres FATAL: password authentication failed for user postgres ERROR SNAPSHOT [image: help] type 'exceptions.RuntimeError'(Failure to connect, tried 5 times: Traceback (most recent call last): File /home/bcr/projects/web2py21/gluon/dal.py, line 6722, in __init__ self._adapter = ADAPTERS[self._dbname](*args) File /home/bcr/projects/web2py21/gluon/dal.py, line 2440, in __init__ self.pool_connection(connect) File /home/bcr/projects/web2py21/gluon/dal.py, line 553, in pool_connection self.connection = f() File /home/bcr/projects/web2py21/gluon/dal.py, line 2439, in connect return self.driver.connect(msg,**driver_args) File /usr/lib/python2.7/dist-packages/psycopg2/__init__.py, line 179, in connect connection_factory=connection_factory, async=async) OperationalError: FATAL: password authentication failed for user postgres FATAL: password authentication failed for user postgres ) --
Re: [web2py] urgent mysql, postgresql, firebird, ... users.
Reverted to old checkout and it worked again, so the passwd it not wrong.. On Fri, Aug 31, 2012 at 1:41 AM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: I do not think this is related. Sure this worked before? Looks like legitimate wrong password. On Thursday, 30 August 2012 23:27:57 UTC-5, rochacbruno wrote: TICKET ID 127.0.0.1.2012-08-31.01-09-21.**3e3284ec-20dd-4076-9a0b-**889f72a85cf7 type 'exceptions.RuntimeError' Failure to connect, tried 5 times: Traceback (most recent call last): File /home/bcr/projects/web2py21/**gluon/dal.py, line 6722, in __init__ self._adapter = ADAPTERS[self._dbname](*args) File /home/bcr/projects/web2py21/**gluon/dal.py, line 2440, in __init__ self.pool_connection(connect) File /home/bcr/projects/web2py21/**gluon/dal.py, line 553, in pool_connection self.connection = f() File /home/bcr/projects/web2py21/**gluon/dal.py, line 2439, in connect return self.driver.connect(msg,driver_args) File /usr/lib/python2.7/dist-**packages/psycopg2/__init__.py**, line 179, in connect connection_factory=connection_**factory, async=async) OperationalError: FATAL: password authentication failed for user postgres FATAL: password authentication failed for user postgres VERSION web2py™ (2, 0, 3, datetime.datetime(2012, 8, 30, 23, 7, 46), 'stable') PythonPython 2.7.3: /usr/bin/python TRACEBACK 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. Traceback (most recent call last): File /home/bcr/projects/web2py21/**gluon/restricted.py, line 209, in restricted exec ccode in environment File /home/bcr/projects/web2py21/**applications/menuvegano/**controllers/article.py http://localhost:8000/admin/default/edit/menuvegano/controllers/article.py, line 180, in module File /home/bcr/projects/web2py21/**gluon/globals.py, line 185, in lambda self._caller = lambda f: f() File /home/bcr/projects/web2py21/**applications/menuvegano/**controllers/article.py http://localhost:8000/admin/default/edit/menuvegano/controllers/article.py, line 7, in show article = Article('show') File applications/menuvegano/**modules/handlers/base.py, line 32, in __init__ self.start() File applications/menuvegano/**modules/handlers/article.py, line 16, in start self.db = DataBase([User, UserTimeLine, ContentType, Category, Article, Favoriters, Subscribers, Likers, Dislikers, Comments, CommentVotes]) File applications/menuvegano/**modules/movuca.py, line 37, in __init__ check_reserved=['all']) File /home/bcr/projects/web2py21/**gluon/dal.py, line 6741, in __init__ raise RuntimeError, Failure to connect, tried %d times:\n%s % (attempts, tb) RuntimeError: Failure to connect, tried 5 times: Traceback (most recent call last): File /home/bcr/projects/web2py21/**gluon/dal.py, line 6722, in __init__ self._adapter = ADAPTERS[self._dbname](*args) File /home/bcr/projects/web2py21/**gluon/dal.py, line 2440, in __init__ self.pool_connection(connect) File /home/bcr/projects/web2py21/**gluon/dal.py, line 553, in pool_connection self.connection = f() File /home/bcr/projects/web2py21/**gluon/dal.py, line 2439, in connect return self.driver.connect(msg,**driv**er_args) File /usr/lib/python2.7/dist-**packages/psycopg2/__init__.py**, line 179, in connect connection_factory=connection_**factory, async=async) OperationalError: FATAL: password authentication failed for user postgres FATAL: password authentication failed for user postgres ERROR SNAPSHOT [image: help] type 'exceptions.RuntimeError'(**Failure to connect, tried 5 times: Traceback (most recent call last): File /home/bcr/projects/web2py21/**gluon/dal.py, line 6722, in __init__ self._adapter = ADAPTERS[self._dbname](*args) File /home/bcr/projects/web2py21/**gluon/dal.py, line 2440, in __init__ self.pool_connection(connect) File /home/bcr/projects/web2py21/**gluon/dal.py, line 553, in pool_connection self.connection = f() File /home/bcr/projects/web2py21/**gluon/dal.py, line 2439, in connect return self.driver.connect(msg,driver_args) File /usr/lib/python2.7/dist-**packages/psycopg2/__init__.py**, line 179, in connect connection_factory=connection_**factory, async=async) OperationalError: FATAL: password authentication failed for user postgres FATAL: password authentication failed for user postgres ) -- --
Re: [web2py] urgent mysql, postgresql, firebird, ... users.
Now I got this: bcr@vaiubuntu:~/projects/web2py203$ python web2py.py -a 1234 Traceback (most recent call last): File web2py.py, line 18, in module import gluon.widget File /home/bcr/projects/web2py203/gluon/__init__.py, line 15, in module from globals import current File /home/bcr/projects/web2py203/gluon/globals.py, line 24, in module from serializers import json, custom_json File /home/bcr/projects/web2py203/gluon/serializers.py, line 11, in module from languages import lazyT File /home/bcr/projects/web2py203/gluon/languages.py, line 242, in module PLURAL_RULES = read_possible_plurals() File /home/bcr/projects/web2py203/gluon/languages.py, line 223, in read_possible_plurals import gluon.contrib.plural_rules as package ImportError: No module named plural_rules bcr@vaiubuntu:~/projects/web2py203$ --
Re: [web2py] Sites not working on http://web2py.com/poweredby
3 of them are hosted on my server. unfortunatelly I got problems migrating my VPS and I am working on this. Bruno Rocha http://rochacbruno.com.br mobile Em 31/08/2012 02:25, Jemes Hsu jemes...@gmail.com escreveu: --
Re: [web2py] Re: {{code}} compile in view
You can use template render from gluon.template import render html = b{{=name}}/b {{for x in range(10)}} Hellobr {{pass}} print render(content=html, context=dict(name=Bruno)) On Wed, Aug 29, 2012 at 1:14 PM, lucas sjluk...@gmail.com wrote: ok, that is fine for simple code execution, but what of the more complex? how does web2py execute all of that complex code we can embed within a view? that is what i want to reproduce in my scheme. -- --
Re: [web2py] Removing labels from forms
for label in form.elements('label'): label[_style] = display:none; On Wed, Aug 29, 2012 at 2:47 PM, Alec Taylor alec.tayl...@gmail.com wrote: How do I remove labels from forms? I want to use placeholders instead... (this is for the auth.register form) Thanks for all suggestions, Alec Taylor -- --
Re: [web2py] Removing labels from forms
placeholders = { name: fill in your name, email: enter a valid email address } for input in form.elements(input[type='text']): input[_placeholder] = placeholders.get(input[_name], ) On Wed, Aug 29, 2012 at 3:07 PM, Alec Taylor alec.tayl...@gmail.com wrote: Thanks, also would there be a loop I can add before that to set the placeholder of each input? On Thu, Aug 30, 2012 at 3:58 AM, Bruno Rocha rochacbr...@gmail.com wrote: for label in form.elements('label'): label[_style] = display:none; On Wed, Aug 29, 2012 at 2:47 PM, Alec Taylor alec.tayl...@gmail.com wrote: How do I remove labels from forms? I want to use placeholders instead... (this is for the auth.register form) Thanks for all suggestions, Alec Taylor -- -- -- --
Re: [web2py] Multiple tables or a single big one?
I generally do this on user function: profile_fields = ['first_name', 'last_name', 'email', 'description', 'picture'] if 'profile' in request.args: for field in db.auth_user.fields: if field not in profile_fields: db.auth_user[field].readable = db.auth_user[field].writable = False On Wed, Aug 29, 2012 at 3:24 PM, Alec Taylor alec.tayl...@gmail.com wrote: I have been extending my auth_user table with a bunch of new options. When there's a 1:1 relation with the user, I'll store it in their profile. On 1:n, I'll keep them in separate tables. Now I am realising the problems with doing it this way. To make my register form nice I have set almost all fields with readable=False and writable=False. This means that I can no longer use the crud.create or crud.update form creator helpers on those subset of a users' profile I want the form to change for them. But it also has its advantage: no extra queries are required to grab all the 1:1 fields of a users' profile after login. Is this enough of an advantage? Thanks for all suggestions, Alec Taylor -- --
Re: [web2py] Changes in trunk when accessing a field in a row?
can you show the code? I am using db.table.field.compute = lambda row: row.otherfield On Wed, Aug 29, 2012 at 4:09 PM, Daniel Gonzalez gonva...@gmail.com wrote: Hi, I have recently updated trunk. I am using a compute function when creating new entries. In the compute function I access the field row.email. Previously this was giving me the *value* of the field, now I just get a reference to gluon.dal.Field. Is this expected? How can I access the value of the field? Thanks, Daniel -- --
Re: [web2py] more benchmarks of web2py 2.0 in trunk
For me on Linux Ubuntu 12.10 bcr@vaiubuntu:~/projects/web2py21$ python web2py.py -S welcome -N -R ../thisfile.py web2py Web Framework Created by Massimo Di Pierro, Copyright 2007-2012 Version 2.00.1 (2012-08-28 14:26:44) rc4 Database drivers available: SQLite3, pymysql, psycopg2, pg8000, IMAP time to access field obj 8.60691070557e-07 time to select 1000 recods 2.90545892715e-05 time to access field values 5.29289245605e-07 Changed cacheable to True time to access field obj 6.69956207275e-07 time to select 1000 recods 2.16320896149e-05 time to access field values 3.38554382324e-07 Lazy Tables = True time to access field obj 5.79357147217e-07 time to select 1000 recods 2.04881191254e-05 time to access field values 3.60012054443e-07 Using cache.ram t0 = time.time() for k in range(n): rows = cache.ram(test, lambda: db(db.test).select(cacheable=True), 1200) # (*) print 'time to select 1000 recods',(time.time()-t0)/n/1000 row = cache.ram(test, lambda: db(db.test).select(cacheable=True), 1200).first() # (*) t0 = time.time() for k in range(n): y = row.id y = row.one print 'time to access field values',(time.time()-t0)/n time to access field obj 8.60691070557e-07 time to select 1000 recods 3.34150791168e-07 time to access field values 2.59876251221e-07 On Tue, Aug 28, 2012 at 4:43 PM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: # run with web2py.py -S welcome -N -R thisfile.py import time db=DAL() db.define_table('test',Field('one')) db(db.test).delete() for k in range(1000): db.test.insert(one='one') db.commit() n = 100 t0 = time.time() for k in range(n): y = db.test.one print 'time to access field obj',(time.time()-t0)/n t0 = time.time() for k in range(n): rows = db(db.test).select(cacheable=False) # (*) print 'time to select 1000 recods',(time.time()-t0)/n/1000 row = db(db.test).select().first() t0 = time.time() for k in range(n): y = row.id y = row.one print 'time to access field values',(time.time()-t0)/n Results: web2py 1.99.7 time to access field obj 5.068 (microseconds) time to select 1000 recods 38.441 (microseconds) time to access field values 7.710 (microseconds) total time to access one field for each of 1000 records: 7748 (microseconds) web2py 2.0 time to access field obj 0.579 (microseconds) time to select 1000 recods 33.820 (microseconds) time to access field values 0.338 (microseconds) total time to access one field for each of 1000 records: 371 (microseconds) web2py 2.0 w cacheable = True (*) time to access field obj 0.579 (microseconds) time to select 1000 recods 24.741 (microseconds) time to access field values 0.300 (microseconds) total time to access one field for each of 1000 records: 324 (microseconds) (benhcmarks with SQLite on Mac Air and python 2.7) -- --
Re: [web2py] Avoiding loading models for the public portion of a site
- You can use conditional models. - You can use IF on models if not request.controller == public: # my logic goes here - You can go to the option B (simple separate app) - You can serve the login form as static html file http://yourapp/static/public.html - You can use lazy_tables and not worry about it. On Tue, Aug 28, 2012 at 10:52 PM, Yarin ykess...@gmail.com wrote: A basic architecture question: We're putting together a typical web app where non-logged in users reach a public-facing basic 'brochure' site, and then log in to reach the 'real' application. With such a setup, it makes no sense to be loading models for the public portion of the site, as it's just some semi-static pages and a login form. So I'm wondering - a) Is there a way to prevent models loading at the request or controller level? - b) Should the 'public' site be part of the same application at all, or should it be a separate light-weight application with a login form that then points to the 'real' application? -- --
Re: [web2py] Major speed improvement need testers
To solve this issue include in the line 88 of myapp.py https://github.com/rochacbruno/web2py_model_less_app/blob/master/modules/myapp.py#L88 self._LAZY_TABLES = [] On Mon, Aug 27, 2012 at 11:33 PM, Andrew awillima...@gmail.com wrote: Possible Issue, this might be due to the dal changes (or it could be me?): I'm running a variation of Bruno's Modelless App (and I tried his out of the box) https://github.com/rochacbruno/web2py_model_less_app , and I get: AttributeError: 'DataBase' object has no attribute '_LAZY_TABLES' On Sunday, August 26, 2012 8:37:16 AM UTC+12, Massimo Di Pierro wrote: Exactly. mytable.myfield.set_**attributes(readable=True,**writable=True) is just a shortcut for mytable.myfield.readable=True mytable.myfield.writable=True without it the lambda notation would not be very usable. On Saturday, 25 August 2012 11:50:10 UTC-5, Jonathan Lundell wrote: On 23 Aug 2012, at 7:25 AM, Massimo Di Pierro massimo@gmail.com wrote: So now in trunk you can do: db = DAL(lazy_tables=True) db.define_table('person',**Field('name'),Field('age','**integer'), on_define=lambda table: [ table.name.set_attributes(**requires=IS_NOT_EMPTY(),**default=''), table.age.set_attributes(**requires=IS_INT_IN_RANGE(0,**120),default=30), ]) and the attributes will be set lazily. This is a good idea! Thanks Jonathan. Clear something up for me, please. I was a little confused before about how this was implemented, but I've read the code and it looks like what I proposed. What I'm not following is the role of set_attributes. Is it simply to facilitate the lambda? Is this equivalent? def on_define(table): table.name.requires = IS_NOT_EMPTY() table.name.default = '' table.age.requires = IS_INT_IN_RANGE(0,120) table.age.default = 30 db = DAL(lazy_tables=True) db.define_table('person', Field('name'), Field('age','integer'), on_define=on_define) -- --
Re: [web2py] Re: SEO Friendly URLs and Page Titles
def show(): item_id = request.args(0) item_slug = request.args(1) query = (db.items.id == item_id) (db.items.slug == item_slug) item = db(query).select().first() return dict(item=item) http://myapp/items/show/1/awesome-product http://myapp/items/show/2/awesome-product On Sun, Aug 26, 2012 at 4:01 AM, SeamusSeamus morrisjamespatr...@gmail.comwrote: I would like to make it part of the URLbut am unsure how to do it...any tutorials or a quick way? On Saturday, August 25, 2012 6:59:29 PM UTC-6, Anthony wrote: Oh, yeah, I guess you probably can't use the id in a compute because there is no id until the record has been inserted. You could instead make the id part of the URL (like Stack Overflow), or maybe make it a virtual field, or generate your own unique id (separate from the record id). Anthony On Saturday, August 25, 2012 8:34:22 PM UTC-4, SeamusSeamus wrote: Thanks for the info Anthony... When I do this: Field('slug', compute=lambda row: IS_SLUG()(row.title + - + str( row.id))[0]) I get none as a slug... On Saturday, August 25, 2012 5:53:49 PM UTC-6, Anthony wrote: Sure, something like that seems fine. Look at what SO does -- for example: http://stackoverflow.**com/questions/12050934/web2py-** build-forms-in-controller-or-**viewhttp://stackoverflow.com/questions/12050934/web2py-build-forms-in-controller-or-view. I think they use the number as the unique record identifier, but also include a slug (which doesn't necessarily have to be unique). Anthony On Saturday, August 25, 2012 7:16:50 PM UTC-4, SeamusSeamus wrote: This runs into a problem where if I have two items of the same 'title', the user will only be linked to the first one that was created. Can I make it so the slug is a field that I designate? Or make it so the slug adds a incrementing number such as: Field('slug', compute=lambda row: IS_SLUG()(row.title *+ row.id* )[0]) I know thats not how you do it, but do you get what I mean? Is there a better way? On Thursday, August 23, 2012 1:18:16 AM UTC-6, Anthony wrote: links = [lambda ro w: A('Details',_href=URL('**default','show', args=[row.slug]))] fields = [db.equipment.category, db.equipment.title, db.equipment.price] You have not included slug in your list of fields, so I believe it will not be included in the data query. Instead of specifying the list of fields, you can set the readable attribute to False for fields you don't want displayed (including slug). In that case, all fields will be included in the query (including slug), but only the fields you want to show will be visible in the grid. Anthony -- --
Re: [web2py] web2py size
examples images has 1.1 MB, examples static has 1.9MB On Sun, Aug 26, 2012 at 8:46 PM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: According to this the web2py size doubled in Oct 2011 yet I cannot think of what caused this. Can anybody help figure it out? What did we include that doubled the size? massimo -- --
Re: [web2py] Re: Twitter Bootstrap scatfolding application *updated.
Martin, what about a twitter bootstrap plugin? we can create a plugin to inject bootstrap specific helpers. THUMBNAILS(), POPOVER(), MODAL(), PILLS() also a bootstrap manager. {{=bootstrapmanager(v=2.1, js=True)}} So it will be app agnostic. what do you think about? Em 24/08/2012 08:37, Martín Mulone mulone.mar...@gmail.com escreveu: It's just an application, it's just my way of doing thing what I'm sharing, I'm not proposing like a replacement to welcome. Perhaps I have to warn to not use it, because is different and I think most of people working on web2py have to have your owns scatfolding app or already have it. Today is boostrap perhaps tomorrow is bootstrap 12 or trapboost...I have not problem with this. If you like it, go for it. I usually do in my cycle of making applications: 1) Clone scatfolding (lease bootstrap, or whatever layout popular of the moment ) as a new app 2) Hack the scatfold and do the app 3) finish the work and make app ready. New app? ok, we need to make changes to scatfold? make changes and start again with new app with point 1). I have doing this way for around 2 years in web2py and never do a breakage. I think web2py lacks on giving a very minimal app, is only giving a complex welcome, this will perhaps help to teach basic functions on newones. Massimo you talk about the block header, sidebar, I know you have to force compatibility, but this kind of programming is wrong in my point of view, welcome introduce some complex code in layout and in view that also ruin performance to show some sidebar. The people have to know that is developing a web application, so have to learn HTML and CSS, with grid system is more easy than ever to make this achiviement. Yes perhaps anytime is an issue. Flash work like normal nothing new there. What is missing, I think only grid I forgot. Martin. 2012/8/23 Massimo Di Pierro massimo.dipie...@gmail.com Martin, it is really well done but, as it is, it not appropriate for out scaffolding app. First of all it relies on many bootstrap specific helpers. Menus work in a different way than documented. Flash has a more complex html structure and does not provide a good example for new users. It is based on anytime.js while we moved to calendar.js. The html lacks the blocks for header, footer and sidebar. Many web2py specific styles are missing. Yours is a more a by-the-book bootstrap app than welcome is but welcome is designed above all to provide an example for new users who may or not want to use bootstrap. The fact that is uses bootstrap is accidental and only affects the CSS. It is in principle possible to merge it with the scaffolding but we would still need to fix menus. Perhaps we should do it but web2py 2.0 has waited long enough, mostly because of css. I would not want to put it off more because we have a new css option. Massimo On Thursday, 23 August 2012 13:48:03 UTC-5, Martin.Mulone wrote: Twitter Bootstrap scatfolding application *updated. Now is awesome :-P * Now based on version 2.1.0 (sync) * Menu based on twitter bootstrap navbar (support multilevel menu) * Plugin highlight. * Many fixes to layout now support responsive. * Very clean layout. * Started to document (getting) * Some examples. * Flash is render as alert. Working demo: http://testbootstrap.tecnodoc.**com.ar/http://testbootstrap.tecnodoc.com.ar/ Doc: http://testbootstrap.tecnodoc.**com.ar/gettinghttp://testbootstrap.tecnodoc.com.ar/getting Source: https://bitbucket.org/**mulonemartin/bootstraphttps://bitbucket.org/mulonemartin/bootstrap Note: Not yet fully tested. -- -- http://www.tecnodoc.com.ar -- --
Re: [web2py] Model for graph hierarchy (many-to-many ralationship)
can you try changing db.bookpage to reference bookpage Em 24/08/2012 13:01, Niphlod niph...@gmail.com escreveu: There is something else going on. This is the log (no errors creating tables) of the following model on mysql 5.5. web2py trunk (but at least on table creation nothing should have changed since 1.99.7) db.define_table('book', Field('bookname') ) db.define_table('bookpage', Field('content', 'text'), Field('image', 'upload'), Field('from_book', db.book), Field('modified_on', 'datetime', default=request.now)) db.bookpage.content.requires = IS_NOT_EMPTY() db.bookpage.from_book.requires = IS_NOT_EMPTY() db.bookpage.modified_on.writable = False db.define_table('page_link', Field('in_page', db.bookpage), Field('out_page', db.bookpage), Field('the_text')) timestamp: 2012-08-24T17:58:04.909000 CREATE TABLE book( id INT AUTO_INCREMENT NOT NULL, bookname VARCHAR(255), PRIMARY KEY(id) ) ENGINE=InnoDB CHARACTER SET utf8; success! timestamp: 2012-08-24T17:58:04.937000 CREATE TABLE bookpage( id INT AUTO_INCREMENT NOT NULL, content LONGTEXT, image VARCHAR(255), from_book INT, INDEX from_book__idx (from_book), FOREIGN KEY ( from_book) REFERENCES book (id) ON DELETE CASCADE, modified_on DATETIME, PRIMARY KEY(id) ) ENGINE=InnoDB CHARACTER SET utf8; success! timestamp: 2012-08-24T17:58:04.959000 CREATE TABLE page_link( id INT AUTO_INCREMENT NOT NULL, in_page INT, INDEX in_page__idx (in_page), FOREIGN KEY (in_page)REFERENCES bookpage (id) ON DELETE CASCADE, out_page INT, INDEX out_page__idx (out_page), FOREIGN KEY (out_page)REFERENCES bookpage (id) ON DELETE CASCADE, the_text VARCHAR(255), PRIMARY KEY(id) ) ENGINE=InnoDB CHARACTER SET utf8; success! -- --
Re: [web2py] Web2py MVC pattern using wx for V
You should see Rad2py, created by Mariano Reingart http://code.google.com/p/rad2py/ On Fri, Aug 24, 2012 at 6:14 PM, Christian Espinoza chespin...@gmail.comwrote: Hello guys, There are somebody with some experience using wx instead of a web view layer?? I have some questions about it, and I want to know if exist some example over there... Thanks in advance. Christian. -- --
Re: [web2py] Web2py MVC pattern using wx for V
this: http://code.google.com/p/gui2py/ --
Re: [web2py] Major speed improvement need testers
On Thu, Aug 23, 2012 at 3:11 PM, Anthony abasta...@gmail.com wrote: I'd also still be interested to see a real-world example of where this would be useful. Anthony Someone posted an example of GAE CPU Cycles, with class based Lazy Tables it lower to half cycles. Also there is another user in the group which has a huge traffic, so Lazy tables might be useful. I would like to test it ASAP. --
Re: [web2py] Twitter Bootstrap scatfolding application *updated.
Great! This new navbar is very better! Thank you Martin! On Thu, Aug 23, 2012 at 3:48 PM, Martín Mulone mulone.mar...@gmail.comwrote: Twitter Bootstrap scatfolding application *updated. Now is awesome :-P * Now based on version 2.1.0 (sync) * Menu based on twitter bootstrap navbar (support multilevel menu) * Plugin highlight. * Many fixes to layout now support responsive. * Very clean layout. * Started to document (getting) * Some examples. * Flash is render as alert. Working demo: http://testbootstrap.tecnodoc.com.ar/ Doc: http://testbootstrap.tecnodoc.com.ar/getting Source: https://bitbucket.org/mulonemartin/bootstrap Note: Not yet fully tested. -- --
Re: [web2py] Re: Twitter Bootstrap scatfolding application *updated.
Put z-index: 0; on flash alert On Thu, Aug 23, 2012 at 4:05 PM, David Marko dma...@tiscali.cz wrote: The alert 'Well done! ...' conflicts somehow with menu when you click e.g. on 'Bootstrap' menu item ... Dne čtvrtek, 23. srpna 2012 20:48:03 UTC+2 Martin.Mulone napsal(a): Twitter Bootstrap scatfolding application *updated. Now is awesome :-P * Now based on version 2.1.0 (sync) * Menu based on twitter bootstrap navbar (support multilevel menu) * Plugin highlight. * Many fixes to layout now support responsive. * Very clean layout. * Started to document (getting) * Some examples. * Flash is render as alert. Working demo: http://testbootstrap.tecnodoc.**com.ar/http://testbootstrap.tecnodoc.com.ar/ Doc: http://testbootstrap.tecnodoc.**com.ar/gettinghttp://testbootstrap.tecnodoc.com.ar/getting Source: https://bitbucket.org/**mulonemartin/bootstraphttps://bitbucket.org/mulonemartin/bootstrap Note: Not yet fully tested. -- --
Re: [web2py] Limit output of a details page to only show some items.
Considering this: def details(): try: equipment = db.equipment[int(request.args(0))] except: equipment = db(db.equipment.slug == request.args(0)).select(). first() return dict(equipment=equipment) Your view details.html should be h1{{=equipment.title}}/h1 p{{=equipment.description}}/p center{{=IMG(_src=URL('default', 'download', args=equipment.image1))}}/center *Bruno Cezar Rocha** - @rochacbruno* rochacbr...@gmail.com | Mobile: +55 (11) 99210-8821 www.CursoDePython.com.br | www.rochacbruno.com.br Blog: WEB APPS THAT WORTH A TRYhttp://rochacbruno.com.br/web-apps-that-worth-a-try/ Get a signature like this. http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 Click here.http://r1.wisestamp.com/r/landing?promo=18dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18 On Thu, Aug 23, 2012 at 9:38 PM, SeamusSeamus morrisjamespatr...@gmail.comwrote: I am trying to set a nice clean details page that only shows some basic information for a product. I do not want ALL information that is being storded (such as my slug, private notes field, etc..) to be visable to the customer. Now, I have this: def details(): try: equipment = db.equipment[int(request.args(0))] except: equipment = db(db.equipment.slug == request.args(0)).select().first() return dict(equipment=equipment) and in my details.html I am just using the {{=BEAUTIFY(response._vars)}} which is displaying all of the info in a un clean way. What do I need to do to just display only a few items, and allow me to place the elements anywhere I would like on the page? For example, I just want the 'title', 'description' and 'photo' to be shown on the 'details' page. How would I make them independant of one another so I can place the image one spot, the title another spot (the h1) and the description elsewhere (p) For example h1{{title}}/h1 p{{description}}/p center{{image1}}/center I know this may be basic stuff, but I am learning python as I go and these forums are a great help. I cannot seem to find my answer in the web2py docs. -- --
Re: [web2py] SQLFORM key error
web2py version?? On Thu, Aug 23, 2012 at 10:00 PM, pylix pyl...@gmail.com wrote: Here's my model db = DAL('sqlite://storage.sqlite') db.define_table('person', Field('name', requires=IS_NOT_EMPTY()), Field('phone', requires=IS_NOT_EMPTY()), Field('address', requires=IS_NOT_EMPTY()), Field('city', requires=IS_NOT_EMPTY()), Field('state', requires=IS_IN_SET(['NY' ,'NJ' ,'CN'])), Field('zip', requires=IS_NOT_EMPTY()), Field('year', requires=IS_NOT_EMPTY()), Field('model', requires=IS_NOT_EMPTY()), Field('make', requires=IS_NOT_EMPTY()), Field('engine', requires=IS_NOT_EMPTY()), Field('starts', 'boolean'), Field('foward', 'boolean'), Field('reverse', 'boolean'), Field('complaint', 'text')) the controller is def freequote(): form = SQLFORM(db.person) return dict(form=form) and the view {{extend 'layout.html'}} {{=form}} I'm getting this error when i try to view the page type 'exceptions.KeyError' 'person' Traceback (most recent call last): File gluon/restricted.py, line 205, in restricted File /controllers/default.py http://127.0.0.1:8000/admin/default/edit/transmission/controllers/default.py, line 10, in module File gluon/globals.py, line 173, in lambda File /controllers/default.py http://127.0.0.1:8000/admin/default/edit/transmission/controllers/default.py, line 8, in freequote File gluon/dal.py, line 6343, in __getattr__ File gluon/dal.py, line 6337, in __getitem__ KeyError: 'person' not sure why i'm getting a keyerror is the table is defined. -- --
Re: [web2py] Re: Major speed improvement need testers
Is not an option to create a new branch? keep the current /gluon/* in the default branch and the optimized one in a separate branch, available only for those who want to use Python 2.7.3+ On Wed, Aug 22, 2012 at 10:28 AM, Massimo Di Pierro massimo.dipie...@gmail.com wrote: We run into a major problem. The Storage improvements in trunk cause a memory leak. This is a python bug and it was discovered in 2006.: http://bugs.python.org/issue1469629 Apparently this was only fixed in python 3.2 and python 2.7.3. Not sure what to do but at the moment I do not see any solution than removing the improvements. massimo On Wednesday, 22 August 2012 01:44:44 UTC-5, Johann Spies wrote: I hope that web2py 2.0 will not be released without these improvements even if it means that testing it will delay the release. Thanks to the developers for their initiatives and ingenuity. Regards Johann -- Because experiencing your loyal love is better than life itself, my lips will praise you. (Psalm 63:3) -- --