python2.7 web2py ...
On Fri, May 2, 2014 at 4:01 PM, LoveWeb2py <atayloru...@gmail.com> wrote: > Is there a way to force web2py to use 2.7 instead of 2.6? I thought it was > using 2.7. Thank you for being so patient. > > > On Friday, May 2, 2014 3:59:06 PM UTC-4, Richard wrote: > >> Upgrade to 2.9.5 web2py 2.3 is very old... Consider using 2.7 for >> python... >> >> http://stackoverflow.com/questions/1747817/python- >> create-a-dictionary-with-list-comprehension >> >> You can adapt >> >> Richard >> >> >> On Fri, May 2, 2014 at 3:44 PM, LoveWeb2py <atayl...@gmail.com> wrote: >> >>> Okay... I think I see the issue. My web2py is running Python 2.6 and my >>> Interpreter is 2.7. dictionary comprehension changed between those >>> versions. I'm going to try and construct a dict comprehension for 2.6 and >>> try it again. >>> >>> >>> On Friday, May 2, 2014 3:40:53 PM UTC-4, LoveWeb2py wrote: >>>> >>>> Okay quick update: >>>> >>>> I loaded a row into python to test the comprehension. >>>> row = db(db.table.id>0).select().first() >>>> >>>> {f: row[f] for f in db.table.fields} prints out the list fine and its >>>> exactly how I"d like to prepopulate my field on the transition form. Thank >>>> you for getting me this far. >>>> >>>> However when I try to type vars={f: row[f] for f in >>>> db.table.fields})))] I get invalid syntax and the ^ points to the for in >>>> the dict comprehension. When I use regular python it works fine. Any >>>> thoughts? >>>> >>>> On Friday, May 2, 2014 3:16:24 PM UTC-4, LoveWeb2py wrote: >>>>> >>>>> I just realized I might be running into problems because I'm using >>>>> 2.3. I haven't upgraded because the new web2py threw my css off. It looks >>>>> like you're referencing the virtual fields? >>>>> >>>>> http://web2py.com/books/default/chapter/29/06/the-database- >>>>> abstraction-layer#Old-style-virtual-fields >>>>> >>>>> If you think I should upgrade i'll make the change, but if I could >>>>> stick with 2.3 I would prefer to do so >>>>> >>>>> On Friday, May 2, 2014 3:10:15 PM UTC-4, LoveWeb2py wrote: >>>>>> >>>>>> for this part: {f: row[f] for f in db.table.fields} >>>>>> >>>>>> what do I put for fields... could I just leave it as fields? >>>>>> >>>>>> >>>>>> >>>>>> On Friday, May 2, 2014 11:16:09 AM UTC-4, Richard wrote: >>>>>>> >>>>>>> Yes, so you want to pas by a transitionnal form with the data preset >>>>>>> base on the copied record values, where you can make the change you want >>>>>>> before submit the form. So if you have a grid where you can select the >>>>>>> record to copy with the icon you want that link to the transitionnal >>>>>>> form, >>>>>>> you just have to pass the value of the record to the form throught out >>>>>>> URL >>>>>>> vars... You can iter like that : >>>>>>> >>>>>>> SQLFORM.grid(..., links=[dict(header='', body=lambda row: >>>>>>> A(I(_class='icon some_icon'), _href=URL('transitionnal_form', >>>>>>> vars={f: row[f] for f in db.table.fields}))))],) >>>>>>> >>>>>>> This part : >>>>>>> {f: row[f] for f in db.table.fields} >>>>>>> >>>>>>> Is a dict comprehension... >>>>>>> >>>>>>> Then in transitionnal form controller you do something like that : >>>>>>> >>>>>>> def transition_form(): >>>>>>> for f, v in request.vars: >>>>>>> db.table[f].default = v >>>>>>> form = SQLFORM(db.table, ...) >>>>>>> ... >>>>>>> >>>>>>> >>>>>>> Richard >>>>>>> >>>>>>> >>>>>>> On Fri, May 2, 2014 at 10:18 AM, LoveWeb2py <atayl...@gmail.com>wrote: >>>>>>> >>>>>>>> Basically... right now I have a magnifying glass, the pencil, and a >>>>>>>> trash can for my records. I want to add a plus next to each one of my >>>>>>>> records and when I click on the plus it copies that records values >>>>>>>> into a >>>>>>>> new record and creates a new ID. >>>>>>>> >>>>>>>> I can then modify some of the values in the record or keep it the >>>>>>>> same if I choose. Does that make sense? >>>>>>>> >>>>>>>> >>>>>>>> On Friday, May 2, 2014 9:57:23 AM UTC-4, LoveWeb2py wrote: >>>>>>>>> >>>>>>>>> This is very helpful, Richard. I have about 20 fields so I think I >>>>>>>>> would have to iterate through the fields and insert the request.vars >>>>>>>>> to the >>>>>>>>> database. >>>>>>>>> >>>>>>>>> Ahhh after looking at your code it looks like that could would >>>>>>>>> write a record from one table to another. In this case I just want to >>>>>>>>> copy >>>>>>>>> a record from the same table and insert the record as a new ID. >>>>>>>>> >>>>>>>>> I think the answer will be a combination of your and Oli's >>>>>>>>> approach. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Friday, May 2, 2014 9:39:46 AM UTC-4, Richard wrote: >>>>>>>>>> >>>>>>>>>> What do you mean? >>>>>>>>>> >>>>>>>>>> You can redirect (A('Link', _href=URL(controler, function, >>>>>>>>>> vars=dict(pass_your_record_vars_here=record_vars1, ...))) to a >>>>>>>>>> function that do what I wrote above... Just pass record value >>>>>>>>>> throught vars >>>>>>>>>> then request.vars.field1 request.vars.field2 and assign .default= >>>>>>>>>> request.vars.field1 >>>>>>>>>> >>>>>>>>>> Richard >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Fri, May 2, 2014 at 9:33 AM, LoveWeb2py <atayl...@gmail.com>wrote: >>>>>>>>>> >>>>>>>>>>> Richard, >>>>>>>>>>> >>>>>>>>>>> How do I assign this to a button though? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Friday, May 2, 2014 9:30:21 AM UTC-4, Richard wrote: >>>>>>>>>>> >>>>>>>>>>>> keepvalues >>>>>>>>>>>> >>>>>>>>>>>> or >>>>>>>>>>>> >>>>>>>>>>>> row = db(...).select(db.table.record).first() >>>>>>>>>>>> >>>>>>>>>>>> db.other_table.field1.default = row.field >>>>>>>>>>>> >>>>>>>>>>>> form = SQLFORM(db.table, ...) >>>>>>>>>>>> >>>>>>>>>>>> Richard >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Fri, May 2, 2014 at 9:07 AM, Oli <oliver...@gmx.net> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> I hope this help. >>>>>>>>>>>>> >>>>>>>>>>>>> def copy_and_edit(): >>>>>>>>>>>>> """ >>>>>>>>>>>>> copy_and_edit >>>>>>>>>>>>> """ >>>>>>>>>>>>> record = db.t_disciplin(request.args[0]) >>>>>>>>>>>>> >>>>>>>>>>>>> vals = {} >>>>>>>>>>>>> for k,v in record.items(): >>>>>>>>>>>>> if k in db.t_disciplin.fields: >>>>>>>>>>>>> if k == 'f_title': >>>>>>>>>>>>> v = v + "_copy" >>>>>>>>>>>>> recname = str(v) # Needed to redirect the page >>>>>>>>>>>>> to the right record >>>>>>>>>>>>> if k != 'id': >>>>>>>>>>>>> vals[k] = v >>>>>>>>>>>>> >>>>>>>>>>>>> db.t_disziplin.insert(**vals) >>>>>>>>>>>>> >>>>>>>>>>>>> rec = db(db.t_disziplin.f_title == >>>>>>>>>>>>> recname).select().first() >>>>>>>>>>>>> rec_id = rec.id >>>>>>>>>>>>> >>>>>>>>>>>>> # redirect for edit the new record >>>>>>>>>>>>> redirect(URL(r=request, f='konstanten/t_disciplin/edit >>>>>>>>>>>>> /t_disciplin',args=str(rec_id))) >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Am Freitag, 2. Mai 2014 14:29:26 UTC+2 schrieb LoveWeb2py: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>> >>>>>>>>>>>>>> There are many times when I just want to copy the values of >>>>>>>>>>>>>> one record in my sqlform and create a new record, but modify the >>>>>>>>>>>>>> content >>>>>>>>>>>>>> and save it. Is there an easy way to do this with web2py or >>>>>>>>>>>>>> would I have to >>>>>>>>>>>>>> write the code? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Many thanks >>>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Resources: >>>>>>>>>>>>> - http://web2py.com >>>>>>>>>>>>> - http://web2py.com/book (Documentation) >>>>>>>>>>>>> - http://github.com/web2py/web2py (Source code) >>>>>>>>>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>>>>>>>>>> --- >>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>> Google Groups "web2py-users" group. >>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>>> it, send an email to web2py+un...@googlegroups.com. >>>>>>>>>>>>> >>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>> Resources: >>>>>>>>>>> - http://web2py.com >>>>>>>>>>> - http://web2py.com/book (Documentation) >>>>>>>>>>> - http://github.com/web2py/web2py (Source code) >>>>>>>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>>>>>>>> --- >>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>> Google Groups "web2py-users" group. >>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>> it, send an email to web2py+un...@googlegroups.com. >>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>> Resources: >>>>>>>> - http://web2py.com >>>>>>>> - http://web2py.com/book (Documentation) >>>>>>>> - http://github.com/web2py/web2py (Source code) >>>>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>>>>> --- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "web2py-users" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to web2py+un...@googlegroups.com. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> -- >>> Resources: >>> - http://web2py.com >>> - http://web2py.com/book (Documentation) >>> - http://github.com/web2py/web2py (Source code) >>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "web2py-users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to web2py+un...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to the Google Groups > "web2py-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.