[web2py] Re: GAE: defaults on "_tableobj"

2014-01-07 Thread Massimo Di Pierro
Thank you. I will take care of this asap. Can you submit a patch?

On Friday, 3 January 2014 04:10:11 UTC-6, Quint wrote:
>
> I created an issue for this:
>
> https://code.google.com/p/web2py/issues/detail?id=1842
>
> On Thursday, January 2, 2014 6:45:59 PM UTC+1, Quint wrote:
>>
>> Hello everybody,
>>
>> Happy New Year!
>>
>> I'm using GAE and sometimes a need to call some GAE datastore functions 
>> directly.
>>
>> (For instance when I want to supply a "key_name" when I put() an entity 
>> so I can have better performance to get() that entity from db.
>> Or when I want to use put_multi())
>>
>> Anyway, I can use the "*_tableobj*" property of the web2py table to 
>> access the GAE model class.
>>
>> But, this class does not have the defaults applied to it's properties 
>> while the Fields on the web2py table do.
>> This means that when I put() my _tableobj instance (using GAE API) , the 
>> defaults are not set in the database record.
>>
>> At the moment a call this function in my db model after each table 
>> definition:
>>
>>
>> @classmethod
>> def set_defaults(cls, table):
>> """
>> Takes a web2py table and sets the defaults of all Fields and sets
>> those defaults on the associated properties of the tableobj
>> (tableobj = the GAE model class associated with the web2py table)
>> """
>> for propname, prop in table._tableobj._properties.iteritems():
>> field = getattr(table, propname, None)
>> if None != field and isinstance(field, Field):
>> prop._default = field.default
>>
>> Can this (or something like this) be integrated in the create_table() 
>> method of GoogleDatastoreAdapter() so it's done when the table gets created?
>>
>> Thanks,
>>
>> Regards
>>
>> Quint
>>
>>

-- 
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/groups/opt_out.


[web2py] Re: IS_IN_SET in SQLFORM.dictform

2014-01-07 Thread Massimo Di Pierro
This is the source for SQLFORM.dictform:

def dictform(dictionary, **kwargs):
fields = []
for key, value in sorted(dictionary.items()):
t, requires = SQLFORM.AUTOTYPES.get(type(value), (None, None))
if t:
fields.append(Field(key, t, requires=requires,
default=value))
return SQLFORM.factory(*fields, **kwargs)

As you can see it is just a SQLFORM.factory except that it makes a guess 
for field types and requires. If you want to change those defaults, than 
you do not need this function at all. Perhaps it can be used as an example 
of how to do what you need to do.



On Sunday, 5 January 2014 10:48:08 UTC-6, brushek wrote:
>
> Thank You Masimo for answer,
>
> Hm... so this is huge problem for me, because I have in dict many other 
> options (I showed only one field to show the problem). Is there any easy 
> way to append or insert Field (with corect select option generated in the 
> view) to the form created by SQLFORM.dictform ? Or, to change the 
> SQLFORM.dictform to SQLFORM.factory, but factory need to take dict with 
> (many) fields ? I was very happy to see dictform - it perfectly fit into 
> the config setter/updater for me, last thing I needed is to make select for 
> some of the fields :(. 
>
> Regards
> brushek
>
>
>
>
> W dniu niedziela, 5 stycznia 2014 17:07:09 UTC+1 użytkownik Massimo Di 
> Pierro napisał:
>>
>> Unfortunately dictform does not support this. You can do:
>>
>> session.config = dict(NAME = 'a')
>> form = 
>> SQLFORM.factory(Field('NAME',default=session.config['NAME'],requires=IS_IN_SET(('a','b','c','d','e'),
>>  
>> error_message="Choose between a and e")))
>>  if form.process().accepted: 
>> session.config['NAME'] = form.vars['NAME']
>>
>>
>>
>> On Saturday, 4 January 2014 11:26:10 UTC-6, brushek wrote:
>>>
>>> Hello :)
>>>
>>> I have following code in controller:
>>>
>>> session.config = dict(NAME = 'a')
>>> form = SQLFORM.dictform(session.config)
>>> form.custom.widget.NAME['requires'] = IS_IN_SET(('a','b','c','d','e'), 
>>> error_message="Choose between a and e")
>>>  if form.process().accepted: 
>>> session.config.update(form.vars)
>>>
>>> validator is working OK, but I would like to change the type of NAME 
>>> field in form to select dropdown, instead simple input. How to do this ? 
>>> How to change the type of field after it is created by any SQLFORM(.*)  ?
>>>
>>> Regards
>>> brushek
>>>
>>

-- 
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/groups/opt_out.


[web2py] Rows.compact and other Rows methods

2014-01-07 Thread Joe Barnhart
I've been experimenting with the render method of the Rows class, and I am 
very impressed.  But one drawback I found is that the Rows object must have 
its value set to "compact=False" to work properly with render().  It isn't 
a problem if the Rows object is used directly without any operators, but I 
discovered that many, if not most, Rows methods do not preserve the 
"compact" setting.

For example. if you "sort" the Rows, it leaves compact=True.  Ditto, if you 
use "extract" or "find" on the Rows object.  The "&" and "|" operators also 
set the compact variable to "True".  The upshot is that you can't use any 
of these operators on the Rows object and then use "render" on the 
resulting object.

It is a simple change to add the preservation of the "compact" flag during 
any of these steps, but I'm unsure if this will break existing code.  Other 
than coming up with a completely parallel set of methods, which leave 
compact set the way it came in, I can't think of another approach will be 
provably backwards-compatible.

Here is an example:


def __and__(self,other):
if self.colnames!=other.colnames:
raise Exception('Cannot & incompatible Rows objects')
records = self.records+other.records
return Rows(self.db,records,self.colnames)


Becomes:


def __and__(self,other):
if self.colnames!=other.colnames:
raise Exception('Cannot & incompatible Rows objects')
records = self.records+other.records
return Rows(self.db,records,self.colnames,compact=(self.compact and 
other.compact))


Going through the other methods we could make a Rows object preserve its 
compact setting while undergoing these transformations.

What do you think?

-- Joe B.


-- 
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/groups/opt_out.


[web2py] Re: Getting a 'list' object has no attribute 'xml' error when exporting smartgrid data in HTML format.

2014-01-07 Thread Massimo Di Pierro
I think it is fixed in trunk now. Please try it.

On Tuesday, 31 December 2013 04:42:22 UTC-6, Rahul wrote:
>
> Hi All,
>   I am getting below exception under web2py 2.8.2 when I am exporting 
> the smartgrid in HTML format (SmartGrid attribute used csv=True) . 
>
> *Steps*:  Try to export a table (smartGrid) data in csv format, it works 
> fine, later try to export it in HTML and it shows below ticket. 
>
>
> *Browser*: Chrome, Win7
>  'list' object has no attribute 'xml'
> Versionweb2py™Version 2.8.2-stable+timestamp.2013.11.28.13.54.07PythonPython 
> 2.7.5: C:\Python27\python.exe (prefix: C:\Python27)Traceback
>
> 1.
> 2.
> 3.
> 4.
> 5.
> 6.
> 7.
> 8.
> 9.
> 10.
> 11.
> 12.
> 13.
> 14.
>
> Traceback (most recent call last):
>   File "D:\Web2py\web2py\gluon\restricted.py", line 217, in restricted
> exec ccode in environment
>   File "D:/Web2py/web2py/applications/BBOnline/controllers/default.py" 
> , line 7994, in 
> 
>   File "D:\Web2py\web2py\gluon\globals.py", line 372, in 
> self._caller = lambda f: f()
>   File "D:/Web2py/web2py/applications/BBOnline/controllers/default.py" 
> , line 1517, in 
> ticket_list
> details=False)
>   File "D:\Web2py\web2py\gluon\sqlhtml.py", line 2194, in grid
> raise HTTP(200, oExp.export(), **response.headers)
>   File "D:\Web2py\web2py\gluon\sqlhtml.py", line 3201, in export
> return '\n\n content="text/html; charset=UTF-8" />\n\n\n%s\n\n' 
> % (self.rows.xml() or '')
> AttributeError: 'list' object has no attribute 'xml'
>
>
> Please suggest
>
> Rahul
>
>
>
>

-- 
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/groups/opt_out.


Re: [web2py] styling widget divs

2014-01-07 Thread Massimo Di Pierro
Is there a patch for this? I'd take it.

On Monday, 6 January 2014 15:27:59 UTC-6, Richard wrote:
>
> Ok, seems like a easy one, why not just commit the change on github?
>
> :)
>
> Richard
>
>
> On Mon, Jan 6, 2014 at 4:22 PM, Paolo Caruccio 
> 
> > wrote:
>
>> That was the solution I proposed.
>>
>> Il giorno lunedì 6 gennaio 2014 22:10:04 UTC+1, Richard ha scritto:
>>>
>>> Could the CAT just be replaced by another DIV?
>>>
>>> Richard
>>>
>>>
>>> On Mon, Jan 6, 2014 at 3:56 PM, Paolo Caruccio wrote:
>>>
 The radiowidget function returns https://github.com/
 web2py/web2py/blob/master/gluon/sqlhtml.py#L384

 parent(*opts, **attr)

 so the kargs solution of Richard works but not when style is 'divs' 
 because the parent is 'CAT' https://github.com/
 web2py/web2py/blob/master/gluon/sqlhtml.py#L364 and http
 s://github.com/web2py/web2py/blob/master/gluon/sqlhtml.py#L366

 The same happens for the checkboxeswidget.

 Some time ago I opened an issue on this matter (
 https://code.google.com/p/web2py/issues/detail?id=1821) but only the 
 first problem was corrected. 
 Maybe we should open another issue ticket. What do you think?


 Il giorno lunedì 6 gennaio 2014 20:27:15 UTC+1, Richard ha scritto:
>
> Or you will have to create a custom widget... You can grab the 
> radio.widget in /gluon/sqlhtml.py ans search for RadioWidget class...
>
> You can turn it into a method with the help of the book.
>
> But the kargs above should work as far as I can see look at the code 
> of the RadioWidget...
>
> Richard
>
>
> On Mon, Jan 6, 2014 at 2:24 PM, Richard Vézina 
> wrote:
>
>> You can try this :
>>
>> **{'_class': 'radio'}
>>
>> As a kargs...
>>
>> Richard
>>
>>
>> On Mon, Jan 6, 2014 at 1:53 PM, Annet  wrote:
>>
>>> I have the following field definition in a table:
>>>
>>> Field('title', length=8, requires=IS_IN_SET(['Mr', 'Mrs'. 'Ms']), 
>>> widget=lambda k,v: SQLFORM.widgets.radio.widget(k, v, 
>>> style='divs')),
>>>
>>> I would like to style the radio widget, but adding _class='radio' to 
>>> the widget function does not add a class attribute to the divs.
>>> Is there a way to add this class?
>>>
>>> Kind regards.
>>>
>>> Annet
>>>
>>> -- 
>>> 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/groups/opt_out.
>>>
>>
>>
>  -- 
 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/groups/opt_out.

>>>
>>>  -- 
>> 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/groups/opt_out.
>>
>
>

-- 
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/groups/opt_out.


[web2py] Re: !! NEW ADMIN !!

2014-01-07 Thread Massimo Di Pierro
Really nice. I will try it asap. How can I help distributing this?

On Monday, 6 January 2014 15:19:54 UTC-6, samuel bonill wrote:
>
>
> Admin
>  
> Plus(A-Plus) is a web2py plugin that provides an easy-to-use interface for 
> managing your data
>
> link: https://github.com/pyner/admin_plus
>
> install
>
> 1. Download and install the plugin
> 2. go to "127.0.0.1:8000//plugin_admin_plus/install"
>  3. Get the permissions " plugin_admin_plus_superuser " in "
> 127.0.0.1:8000//appadmin/insert/db/auth_membership"
> 4. !! ready! Now you can log in...  " 127.0.0.1:8000/
> /plugin_admin_plus/index"
>
> NOTE:  is  replaced by the name of your application
>
>

-- 
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/groups/opt_out.


[web2py] Re: Possibly a problem with CAS redirection in v2.8.2

2014-01-07 Thread Massimo Di Pierro
Thanks Tim. Your patch is in trunk.

On Tuesday, 7 January 2014 01:50:49 UTC-6, Tim Richardson wrote:
>
> this time it was throwing a ticket due to an undefined variable. 

-- 
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/groups/opt_out.


[web2py] Redirecting From Register Function

2014-01-07 Thread Michael Gheith
I have two different register forms in my application.  One is pretty basic 
and I control where it redirects to using:
auth.settings.register_next = URL('default', 'home')

In my other register function I want to redirect it to a completely 
different place, and I want to send some vars over to the different place. 
 It looks like the following (simplified):

def register_invite():
form = auth.register()
a = 10
b = 11
return dict(form=form)

So to sum up my question again:  How can I redirect this function along 
with the variables a and b, to say a middle function named "middle", after 
successful processing and after if being accepted?

-- 
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/groups/opt_out.


[web2py] Web2py Integration with Sentry

2014-01-07 Thread James Q
Has anyone ever integrated web2py an Sentry 
(https://github.com/getsentry/sentry)? I would like it if all web2py 
generated exceptions generate a ticket like usual, but also generates an 
event to a sentry server. Has anyone ever done this? If not, could anyone 
point to where I would need to patch web2py or how best this integration 
would work?

Thanks for any help!

-- 
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/groups/opt_out.


[web2py] Re: Important New Year News: Edison Award

2014-01-07 Thread Joe Barnhart
Wow.  How cool would THAT be??

I'm hoping and pulling for you Massimo!  Nobody deserves the award more 
than US!  
(Yes, we're all planning to bask in your reflected glory!)

-- Joe B.

On Friday, January 3, 2014 8:08:38 PM UTC-8, Massimo Di Pierro wrote:
>
> Web2py/me have been nominated for the Edison Award. Please wish web2py 
> (and me) good luck. :-)
>
>

-- 
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/groups/opt_out.


[web2py] Re: outer join? i guess

2014-01-07 Thread lucas
ah, nice.  didn't know that.  now i read it in the manual, and the 
db._lastsql makes it even a bit easier after the statement has run to 
compare to the output also.  sweet.  thanx for the tip.  learned a new 
little thing.  and after seeing the SQLs for all the different wanderings i 
did, things are much clearer now.  thanx again.  lucas

-- 
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/groups/opt_out.


Re: [web2py] Re: !! NEW ADMIN !!

2014-01-07 Thread Ovidio Marinho
Good job, administrative inteface is very important, but more importantly
would create an engine of reports that web2py does not. Let's think about
this.




 Ovidio Marinho Falcao Neto
  ITJP.NET.BR
 ovidio...@gmail.com
 Brasil



2014/1/7 Massimo Di Pierro 

> Really nice. I will try it asap. How can I help distributing this?
>
> On Monday, 6 January 2014 15:19:54 UTC-6, samuel bonill wrote:
>>
>> Admin
>> Plus(A-Plus) is a web2py plugin that provides an easy-to-use interface for
>> managing your data
>>
>>
>> link: https://github.com/pyner/admin_plus
>>
>> install
>>
>> 1. Download and install the plugin
>> 2. go to "127.0.0.1:8000//plugin_admin_plus/install"
>>  3. Get the permissions " plugin_admin_plus_superuser " in "
>> 127.0.0.1:8000//appadmin/insert/db/auth_membership"
>> 4. !! ready! Now you can log in...  " 127.0.0.1:8000//plugin_
>> admin_plus/index"
>>
>> NOTE:  is  replaced by the name of your application
>>
>>  --
> 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/groups/opt_out.
>

-- 
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/groups/opt_out.


[web2py] Re: Getting a 'list' object has no attribute 'xml' error when exporting smartgrid data in HTML format.

2014-01-07 Thread Tim Richardson
trunk means the current state of the repository.  the zip downloads are behind. 
 gi to github.com and learn how to clone the repository.  there is some 
discussion of this in the book under the chapter 'helping web2py', you need the 
pre-6th edition version of the book.  or skip the book and learn from github.  
It's really easy. 
 

-- 
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/groups/opt_out.


[web2py] Different applications usiong same set of tables

2014-01-07 Thread Jayadevan M
I have an application app1. I want to create another application - app2 
which will use the same set of tables as used by app1. For this, what I 
have to do is create a tables.py under app2/models and mention 
migrate=False for the common tables. Is that right? Do I have to set 
fake_migrate=True and ensure the table files are created under databases 
folder in app2? My simple tests tell me it is not necessary. Just for 
confirmation.

-- 
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/groups/opt_out.


[web2py] Re: Getting a 'list' object has no attribute 'xml' error when exporting smartgrid data in HTML format.

2014-01-07 Thread Tim Richardson
Here is the link to the book section where the git repository is discussed: 
http://web2py.com/books/default/chapter/29/15/helping-web2py

On Tuesday, 7 January 2014 22:35:28 UTC+11, Tim Richardson wrote:
>
> trunk means the current state of the repository.  the zip downloads are 
> behind.  gi to github.com and learn how to clone the repository.  there 
> is some discussion of this in the book under the chapter 'helping web2py', 
> you need the pre-6th edition version of the book.  or skip the book and 
> learn from github.  It's really easy. 
>  

-- 
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/groups/opt_out.


[web2py] Re: Important New Year News: Edison Award

2014-01-07 Thread Tim Richardson
Massimo,
is there a link to the nomination? Good twitter food.

On Saturday, 4 January 2014 15:08:38 UTC+11, Massimo Di Pierro wrote:
>
> Web2py/me have been nominated for the Edison Award. Please wish web2py 
> (and me) good luck. :-)
>
>

-- 
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/groups/opt_out.


[web2py] Is login dependent on web2py.js?

2014-01-07 Thread Robin Manoli
I'm using web2py with jQuery Mobile and I noticed that the login breaks if 
I omit web2py.js. I end up at an empty page with no fetched body content.

Is it supposed to be so? I'm not sure I want to use web2py.js.

-- 
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/groups/opt_out.


Re: [web2py] Re: !! NEW ADMIN !!

2014-01-07 Thread samuel bonill
thanks all.

massimo, can help with a posting on reddit, hacker news etc ...


2014/1/7 Ovidio Marinho 

> Good job, administrative inteface is very important, but more importantly
> would create an engine of reports that web2py does not. Let's think about
> this.
>
>
>
>
>  Ovidio Marinho Falcao Neto
>   ITJP.NET.BR
>  ovidio...@gmail.com
>  Brasil
>
>
>
> 2014/1/7 Massimo Di Pierro 
>
>> Really nice. I will try it asap. How can I help distributing this?
>>
>> On Monday, 6 January 2014 15:19:54 UTC-6, samuel bonill wrote:
>>>
>>> Admin
>>> Plus(A-Plus) is a web2py plugin that provides an easy-to-use interface for
>>> managing your data
>>>
>>>
>>> link: https://github.com/pyner/admin_plus
>>>
>>> install
>>>
>>> 1. Download and install the plugin
>>> 2. go to "127.0.0.1:8000//plugin_admin_plus/install"
>>>  3. Get the permissions " plugin_admin_plus_superuser " in "
>>> 127.0.0.1:8000//appadmin/insert/db/auth_membership"
>>> 4. !! ready! Now you can log in...  " 127.0.0.1:8000//plugin_
>>> admin_plus/index"
>>>
>>> NOTE:  is  replaced by the name of your application
>>>
>>>  --
>> 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/groups/opt_out.
>>
>
>  --
> 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 a topic in the
> Google Groups "web2py-users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/web2py/irlm_8dGSnQ/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> web2py+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
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/groups/opt_out.


[web2py] ckeditor in appadmin

2014-01-07 Thread Michel Hayek
hi guys,

is there any way to implement the ckeditor in the appadmin page when adding 
or editing records?

Thanks



-- 
 

*This e-mail is confidential and may also be privileged. If you are not the 
intended **recipient, please notify the sender immediately, delete it from 
your system and do **not copy, disseminate, distribute or disclose any 
information contained therein.*

-- 
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/groups/opt_out.


Re: [web2py] Re: !! NEW ADMIN !!

2014-01-07 Thread samuel bonill
You can Contribute in many ways:

1. reporting errors
2. writing code
3. contributing with Ideas
4. Also You can support  with Bitcoin

the next version will feature:

1. website for A-Plus
2. settings
3. ckeditor 4.3, (with with limitations in GAE)
4. create and customize permissions


2014/1/7 samuel bonill 

> thanks all.
>
> massimo, can help with a posting on reddit, hacker news etc ...
>
>
> 2014/1/7 Ovidio Marinho 
>
>> Good job, administrative inteface is very important, but more importantly
>> would create an engine of reports that web2py does not. Let's think about
>> this.
>>
>>
>>
>>
>>  Ovidio Marinho Falcao Neto
>>   ITJP.NET.BR
>>  ovidio...@gmail.com
>>  Brasil
>>
>>
>>
>> 2014/1/7 Massimo Di Pierro 
>>
>>>  Really nice. I will try it asap. How can I help distributing this?
>>>
>>> On Monday, 6 January 2014 15:19:54 UTC-6, samuel bonill wrote:

 Admin
 Plus(A-Plus) is a web2py plugin that provides an easy-to-use interface for
 managing your data


 link: https://github.com/pyner/admin_plus

 install

 1. Download and install the plugin
 2. go to "127.0.0.1:8000//plugin_admin_plus/install"
  3. Get the permissions " plugin_admin_plus_superuser " in "
 127.0.0.1:8000//appadmin/insert/db/auth_membership"
 4. !! ready! Now you can log in...  " 127.0.0.1:8000//plugin_
 admin_plus/index"

 NOTE:  is  replaced by the name of your application

  --
>>> 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/groups/opt_out.
>>>
>>
>>  --
>> 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 a topic in the
>> Google Groups "web2py-users" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/web2py/irlm_8dGSnQ/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> web2py+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>

-- 
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/groups/opt_out.


[web2py] Re: IS_IN_SET in SQLFORM.dictform

2014-01-07 Thread brushek
Thank You Massimo, it's enaugh for me - indeed, the code is rather simple.

Regards and good luck :)
brushek

W dniu wtorek, 7 stycznia 2014 09:09:04 UTC+1 użytkownik Massimo Di Pierro 
napisał:
>
> This is the source for SQLFORM.dictform:
>
> def dictform(dictionary, **kwargs):
> fields = []
> for key, value in sorted(dictionary.items()):
> t, requires = SQLFORM.AUTOTYPES.get(type(value), (None, None))
> if t:
> fields.append(Field(key, t, requires=requires,
> default=value))
> return SQLFORM.factory(*fields, **kwargs)
>
> As you can see it is just a SQLFORM.factory except that it makes a guess 
> for field types and requires. If you want to change those defaults, than 
> you do not need this function at all. Perhaps it can be used as an example 
> of how to do what you need to do.
>
>
>
> On Sunday, 5 January 2014 10:48:08 UTC-6, brushek wrote:
>>
>> Thank You Masimo for answer,
>>
>> Hm... so this is huge problem for me, because I have in dict many other 
>> options (I showed only one field to show the problem). Is there any easy 
>> way to append or insert Field (with corect select option generated in the 
>> view) to the form created by SQLFORM.dictform ? Or, to change the 
>> SQLFORM.dictform to SQLFORM.factory, but factory need to take dict with 
>> (many) fields ? I was very happy to see dictform - it perfectly fit into 
>> the config setter/updater for me, last thing I needed is to make select for 
>> some of the fields :(. 
>>
>> Regards
>> brushek
>>
>>
>>
>>
>> W dniu niedziela, 5 stycznia 2014 17:07:09 UTC+1 użytkownik Massimo Di 
>> Pierro napisał:
>>>
>>> Unfortunately dictform does not support this. You can do:
>>>
>>> session.config = dict(NAME = 'a')
>>> form = 
>>> SQLFORM.factory(Field('NAME',default=session.config['NAME'],requires=IS_IN_SET(('a','b','c','d','e'),
>>>  
>>> error_message="Choose between a and e")))
>>>  if form.process().accepted: 
>>> session.config['NAME'] = form.vars['NAME']
>>>
>>>
>>>
>>> On Saturday, 4 January 2014 11:26:10 UTC-6, brushek wrote:

 Hello :)

 I have following code in controller:

 session.config = dict(NAME = 'a')
 form = SQLFORM.dictform(session.config)
 form.custom.widget.NAME['requires'] = IS_IN_SET(('a','b','c','d','e'), 
 error_message="Choose between a and e")
  if form.process().accepted: 
 session.config.update(form.vars)

 validator is working OK, but I would like to change the type of NAME 
 field in form to select dropdown, instead simple input. How to do this ? 
 How to change the type of field after it is created by any SQLFORM(.*)  ?

 Regards
 brushek

>>>

-- 
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/groups/opt_out.


[web2py] Re: Temporarily Poll View

2014-01-07 Thread EW
Answered in 
https://groups.google.com/forum/#!msg/web2py/4G8TBqqy33c/QqMMS31DSFMJ

On Thursday, January 2, 2014 11:49:14 AM UTC-8, EW wrote:

>  Thanks, but I don't understand..how would I know when the insert 
> (scheduler task) has completed?
>  
>  
>
> On Thursday, January 2, 2014 11:14:00 AM UTC-8, Anthony wrote:
>
>> You can set a component to reload indefinitely and then stop the 
>> reloading by doing: 
>>
>>jQuery('#mydiv').addClass('w2p_component_stop');
>>
>> However, in this case, rather than continually reloading the entire grid 
>> while waiting for the database insert, it might be better to simply poll 
>> the server every x seconds, and only when the insert has finally occurred, 
>> then do a single reload of the grid.
>>
>> Anthony
>>
>> On Friday, December 20, 2013 1:24:00 PM UTC-5, EW wrote: 
>>>
>>>  I have a load component with a grid in it and a user-triggered action 
>>> that could insert/update the database table that my grid's based on.  
>>> Depending on many factors, the database insert could take a long time, say 
>>> 45s+.  I would like to update the view to show the updating grid while the 
>>> inserts are going on rather than having a stagnant page that looks like 
>>> it's not doing anything for 45s+.  
>>>  
>>> So I created a scheduler and am doing the db inserts in a scheduler 
>>> task.  But I'm not sure what the best way is to update the view.  I know 
>>> that I could use the 'times' and 'timeout' parameters in the LOAD.  Or I 
>>> could poll in javascript using setInterval to call web2py_component.  But 
>>> is it burdensome to always have my page updating this, say every second?  
>>> The scheduler task for my db inserts only happen when the user clicks 
>>> something; at all other times it is unnecessary to reload the grid.  Is 
>>> there a way to make the view constantly update on the user's click but once 
>>> the scheduler task has completed (i.e. finished inserting into the 
>>> database) to stop the view from updating?
>>>
>>

-- 
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/groups/opt_out.


Re: [web2py] styling widget divs

2014-01-07 Thread Paolo Caruccio

Patch:

https://code.google.com/p/web2py/issues/detail?id=1845




Il giorno martedì 7 gennaio 2014 09:15:50 UTC+1, Massimo Di Pierro ha 
scritto:
>
> Is there a patch for this? I'd take it.
>
> On Monday, 6 January 2014 15:27:59 UTC-6, Richard wrote:
>>
>> Ok, seems like a easy one, why not just commit the change on github?
>>
>> :)
>>
>> Richard
>>
>>
>> On Mon, Jan 6, 2014 at 4:22 PM, Paolo Caruccio wrote:
>>
>>> That was the solution I proposed.
>>>
>>> Il giorno lunedì 6 gennaio 2014 22:10:04 UTC+1, Richard ha scritto:

 Could the CAT just be replaced by another DIV?

 Richard


 On Mon, Jan 6, 2014 at 3:56 PM, Paolo Caruccio 
 wrote:

> The radiowidget function returns https://github.com/
> web2py/web2py/blob/master/gluon/sqlhtml.py#L384
>
> parent(*opts, **attr)
>
> so the kargs solution of Richard works but not when style is 'divs' 
> because the parent is 'CAT' https://github.com/
> web2py/web2py/blob/master/gluon/sqlhtml.py#L364 and http
> s://github.com/web2py/web2py/blob/master/gluon/sqlhtml.py#L366
>
> The same happens for the checkboxeswidget.
>
> Some time ago I opened an issue on this matter (
> https://code.google.com/p/web2py/issues/detail?id=1821) but only the 
> first problem was corrected. 
> Maybe we should open another issue ticket. What do you think?
>
>
> Il giorno lunedì 6 gennaio 2014 20:27:15 UTC+1, Richard ha scritto:
>>
>> Or you will have to create a custom widget... You can grab the 
>> radio.widget in /gluon/sqlhtml.py ans search for RadioWidget class...
>>
>> You can turn it into a method with the help of the book.
>>
>> But the kargs above should work as far as I can see look at the code 
>> of the RadioWidget...
>>
>> Richard
>>
>>
>> On Mon, Jan 6, 2014 at 2:24 PM, Richard Vézina > > wrote:
>>
>>> You can try this :
>>>
>>> **{'_class': 'radio'}
>>>
>>> As a kargs...
>>>
>>> Richard
>>>
>>>
>>> On Mon, Jan 6, 2014 at 1:53 PM, Annet wrote:
>>>
 I have the following field definition in a table:

 Field('title', length=8, requires=IS_IN_SET(['Mr', 'Mrs'. 'Ms']), 
 widget=lambda k,v: SQLFORM.widgets.radio.widget(k, v, 
 style='divs')),

 I would like to style the radio widget, but adding _class='radio' 
 to the widget function does not add a class attribute to the divs.
 Is there a way to add this class?

 Kind regards.

 Annet

 -- 
 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/groups/opt_out.

>>>
>>>
>>  -- 
> 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/groups/opt_out.
>

  -- 
>>> 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/groups/opt_out.
>>>
>>
>>

-- 
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/groups/opt_out.


[web2py] Re: Rows.compact and other Rows methods

2014-01-07 Thread Anthony
.render() works fine on Rows objects with compact=True, and it also works 
fine on the results of .sort(), .exclude(), &, and | operations. The only 
problem is with the results of .find() operations when the original Rows 
object has compact=True. The problem is that the .find() method modifies 
the Row objects in self.records when compact=True, which it probably should 
not due.

Aside from this issue, perhaps the various Rows methods should preserve the 
"compact" attribute -- not sure why they don't.

Forwarding to the developers list for discussion.

Anthony

On Tuesday, January 7, 2014 3:10:00 AM UTC-5, Joe Barnhart wrote:
>
> I've been experimenting with the render method of the Rows class, and I am 
> very impressed.  But one drawback I found is that the Rows object must have 
> its value set to "compact=False" to work properly with render().  It isn't 
> a problem if the Rows object is used directly without any operators, but I 
> discovered that many, if not most, Rows methods do not preserve the 
> "compact" setting.
>
> For example. if you "sort" the Rows, it leaves compact=True.  Ditto, if 
> you use "extract" or "find" on the Rows object.  The "&" and "|" operators 
> also set the compact variable to "True".  The upshot is that you can't use 
> any of these operators on the Rows object and then use "render" on the 
> resulting object.
>
> It is a simple change to add the preservation of the "compact" flag during 
> any of these steps, but I'm unsure if this will break existing code.  Other 
> than coming up with a completely parallel set of methods, which leave 
> compact set the way it came in, I can't think of another approach will be 
> provably backwards-compatible.
>
> Here is an example:
>
>
> def __and__(self,other):
> if self.colnames!=other.colnames:
> raise Exception('Cannot & incompatible Rows objects')
> records = self.records+other.records
> return Rows(self.db,records,self.colnames)
>
>
> Becomes:
>
>
> def __and__(self,other):
> if self.colnames!=other.colnames:
> raise Exception('Cannot & incompatible Rows objects')
> records = self.records+other.records
> return Rows(self.db,records,self.colnames,compact=(self.compact 
> or other.compact))
>
>
> In the case above, the flag compact will be set True if either of the 
> participating Rows object is also "compact".  My logic is, if you've lost 
> the "table" values on either Rows object, you may as well lose them on the 
> combined set.
>
> What do you think?
>
> -- Joe B.
>
>
>

-- 
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/groups/opt_out.


[web2py] Matplotlib webagg in web2py

2014-01-07 Thread ArtDijk
Hi,
I want to do data analysis in pandas and show results via web2py to 
managers.

Is it possible to use the new webagg from matplot lib in web2py ?
http://matplotlib.org/users/whats_new.html?highlight=webagg#backends
If the answer is yes can you show an example ?

Thanks very much
Art

-- 
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/groups/opt_out.


[web2py] Re: Rows.compact and other Rows methods

2014-01-07 Thread Anthony
The Rows.find() method does the following:

for row in self:
if f(row):
if a<=k: records.append(row)
k += 1
if k==b: break

In a Rows object, there is self.records, which is a list of Row objects. 
Each Row object has at least one top-level key with the table name, and the 
record is stored in the value associated with that key:



When .find() is called on a Rows object with compact=True, the __iter__ 
method (called by the "for row in self" loop) returns a transformed version 
of each Row object, removing the top-level table key:



I believe this is an unnecessary transformation, and it is what is 
subsequently causing the .render() method to fail (the .render() method 
expects the top-level table key to be there, whether or not compact=True). 
I propose the following change to .find():

for i, row in enumerate(self):
if f(row):
if a<=k: records.append(self.records[i])
k += 1
if k==b: break

The above code appends self.records[i] instead of row, which preserves the 
original Row objects instead of including transformed objects. Anyone see 
any problems with that change?

Also, is there any reason all of the Rows methods (i.e., find, exclude, 
__and__, __or__) should not be preserving the "compact" attribute of the 
original Rows object? Perhaps we should change them all to do so. (Note, 
this is a separate issue unrelated to the above problem with .find() and 
.render().)

Anthony

On Tuesday, January 7, 2014 10:47:28 AM UTC-5, Anthony wrote:
>
> .render() works fine on Rows objects with compact=True, and it also works 
> fine on the results of .sort(), .exclude(), &, and | operations. The only 
> problem is with the results of .find() operations when the original Rows 
> object has compact=True. The problem is that the .find() method modifies 
> the Row objects in self.records when compact=True, which it probably should 
> not due.
>
> Aside from this issue, perhaps the various Rows methods should preserve 
> the "compact" attribute -- not sure why they don't.
>
> Forwarding to the developers list for discussion.
>
> Anthony
>
> On Tuesday, January 7, 2014 3:10:00 AM UTC-5, Joe Barnhart wrote:
>>
>> I've been experimenting with the render method of the Rows class, and I 
>> am very impressed.  But one drawback I found is that the Rows object must 
>> have its value set to "compact=False" to work properly with render().  It 
>> isn't a problem if the Rows object is used directly without any operators, 
>> but I discovered that many, if not most, Rows methods do not preserve the 
>> "compact" setting.
>>
>> For example. if you "sort" the Rows, it leaves compact=True.  Ditto, if 
>> you use "extract" or "find" on the Rows object.  The "&" and "|" operators 
>> also set the compact variable to "True".  The upshot is that you can't use 
>> any of these operators on the Rows object and then use "render" on the 
>> resulting object.
>>
>> It is a simple change to add the preservation of the "compact" flag 
>> during any of these steps, but I'm unsure if this will break existing code. 
>>  Other than coming up with a completely parallel set of methods, which 
>> leave compact set the way it came in, I can't think of another approach 
>> will be provably backwards-compatible.
>>
>> Here is an example:
>>
>>
>> def __and__(self,other):
>> if self.colnames!=other.colnames:
>> raise Exception('Cannot & incompatible Rows objects')
>> records = self.records+other.records
>> return Rows(self.db,records,self.colnames)
>>
>>
>> Becomes:
>>
>>
>> def __and__(self,other):
>> if self.colnames!=other.colnames:
>> raise Exception('Cannot & incompatible Rows objects')
>> records = self.records+other.records
>> return Rows(self.db,records,self.colnames,compact=(self.compact 
>> or other.compact))
>>
>>
>> In the case above, the flag compact will be set True if either of the 
>> participating Rows object is also "compact".  My logic is, if you've lost 
>> the "table" values on either Rows object, you may as well lose them on the 
>> combined set.
>>
>> What do you think?
>>
>> -- Joe B.
>>
>>
>>

-- 
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/groups/opt_out.


Re: [web2py] Matplotlib webagg in web2py

2014-01-07 Thread Richard Vézina
Look more like a interactive Ipython and built-in webserver then something
that could be integrated with web2py, but there is few detail about how it
works so can say for sure...

Richard


On Tue, Jan 7, 2014 at 10:51 AM, ArtDijk  wrote:

> Hi,
> I want to do data analysis in pandas and show results via web2py to
> managers.
>
> Is it possible to use the new webagg from matplot lib in web2py ?
> http://matplotlib.org/users/whats_new.html?highlight=webagg#backends
> If the answer is yes can you show an example ?
>
> Thanks very much
> Art
>
> --
> 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/groups/opt_out.
>

-- 
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/groups/opt_out.


Re: [web2py] Re: !! NEW ADMIN !!

2014-01-07 Thread Alan Etkin

>
> You can Contribute in many ways:
>

Consider posting this to the plugins list in web2pyslices, adding a link to 
the installer (.w2p file) so it can be installed directly from admin.

-- 
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/groups/opt_out.


[web2py] intercept closing session

2014-01-07 Thread Giuseppe D'Amico
Hi, I am new with web2py, is there a way to intercept  the closing of a 
session?

-- 
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/groups/opt_out.


[web2py] Re: intercept closing session

2014-01-07 Thread Alan Etkin
El martes, 7 de enero de 2014 14:40:38 UTC-3, Giuseppe D'Amico escribió:
>
> Hi, I am new with web2py, is there a way to intercept  the closing of a 
> session?
>

You mean you want to catch a user logout from the scaffolding app?

You could modify the user action at controllers.py so it checks wether the 
"logout" action was asked:

def user():
if request.args[0] == "logout":


There's also the auth.settings.logout_onlogout which can be a function that 
receives auth.user as argument (undocumented) and auth.settings.logout_next 
(a URL for redirection after logout).

-- 
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/groups/opt_out.


Re: [web2py] intercept closing session

2014-01-07 Thread Richard Vézina
tornado and websocket_messaging.py in contrib

Richard


On Tue, Jan 7, 2014 at 12:40 PM, Giuseppe D'Amico <
damicogiusepp...@gmail.com> wrote:

> Hi, I am new with web2py, is there a way to intercept  the closing of a
> session?
>
> --
> 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/groups/opt_out.
>

-- 
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/groups/opt_out.


Re: [web2py] intercept closing session

2014-01-07 Thread Richard Vézina
You need websocket_messaging.py if you want to know who is actually
connected... Alan solution may works if you only want to catch logout
event, but you don't have logout event in case user closer the browser...

Richard


On Tue, Jan 7, 2014 at 1:03 PM, Richard Vézina
wrote:

> You may found more info with comet_messaging.py since it have been rename
> to websocket_messaging,py recently
>
> Richard
>
>
> On Tue, Jan 7, 2014 at 12:59 PM, Richard Vézina <
> ml.richard.vez...@gmail.com> wrote:
>
>> tornado and websocket_messaging.py in contrib
>>
>> Richard
>>
>>
>> On Tue, Jan 7, 2014 at 12:40 PM, Giuseppe D'Amico <
>> damicogiusepp...@gmail.com> wrote:
>>
>>> Hi, I am new with web2py, is there a way to intercept  the closing of a
>>> session?
>>>
>>> --
>>> 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/groups/opt_out.
>>>
>>
>>
>

-- 
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/groups/opt_out.


Re: [web2py] intercept closing session

2014-01-07 Thread Richard Vézina
You may found more info with comet_messaging.py since it have been rename
to websocket_messaging,py recently

Richard


On Tue, Jan 7, 2014 at 12:59 PM, Richard Vézina  wrote:

> tornado and websocket_messaging.py in contrib
>
> Richard
>
>
> On Tue, Jan 7, 2014 at 12:40 PM, Giuseppe D'Amico <
> damicogiusepp...@gmail.com> wrote:
>
>> Hi, I am new with web2py, is there a way to intercept  the closing of a
>> session?
>>
>> --
>> 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/groups/opt_out.
>>
>
>

-- 
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/groups/opt_out.


[web2py] Re: Need more than one value to unpack

2014-01-07 Thread Akash Agrawall


 Traceback (most recent call last):
  File 
"/home/hornet632/webapps/joyofreading/web2py/applications/AK_M14/controllers/appadmin.py",
 line 243, in select
limitby=(start, stop))
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 10335, 
in select
return adapter.select(self.query,fields,attributes)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 2388, 
in select
return super(SQLiteAdapter, self).select(query, fields, attributes)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1831, 
in select
return self._select_aux(sql,fields,attributes)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1796, 
in _select_aux
self.execute(sql)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1916, 
in execute
return self.log_execute(*a, **b)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1910, 
in log_execute
ret = self.cursor.execute(command, *a[1:], **b)
  File "/usr/local/lib/python2.7/sqlite3/dbapi2.py", line 66, in 
convert_timestamp
datepart, timepart = val.split(" ")
ValueError: need more than 1 value to unpack



On Tuesday, January 7, 2014 2:11:35 AM UTC+5:30, Dave S wrote:
>
> On Monday, January 6, 2014 12:32:01 PM UTC-8, Akash Agrawall wrote:
>>
>> I am getting this error:
>> "Need more than one value to unpack"
>>
>>
> Can you tell us which line the error message is referencing?  Is there a 
> traceback in the ticket?
>
> /dps
>
>
>  
>
>> *db.py:*
>> class IS_CATEGORYIT(object):
>> def __init__(self, error_message="Zip code not allowed"):
>> self.error_message = error
>> def __call__(self, value):
>> error = None
>> print len(value)
>> if len(value)==0:
>> error = self.error_message
>> return (value, error)
>> db.define_table('book',
>> db.Field('Name','string'),
>> db.Field('Category','string',requires=IS_CATEGORYIT),
>> db.Field('Quantity','integer'),
>> db.Field('ISBN','string',unique=True),
>> db.Field('Age_group','list:string', 
>> requires=IS_IN_SET(['1-4','5-8','9-12','13-17'])),
>> 
>> db.Field('entry_date','date',default=datetime.date.today(),requires=IS_DATE(format=('%d-%m-%Y'))),
>> db.Field('Description','text'),
>> db.Field('Image','upload',uploadfield='picture_file'),
>> db.Field('picture_file','blob'),
>> db.Field('Available','integer'),
>> db.Field('Author','string'),
>> db.Field('Link','string',requires=IS_EMPTY_OR(IS_URL(
>>
>> db.book.Description.widget= lambda field,value: 
>> SQLFORM.widgets.text.widget(field,value,_style='width:400px',_rows=5)
>> db.book.Category.requires=IS_IN_SET(['ficton','non-fiction','action and 
>> adventure','travel','biography','story'],multiple=True,zero=None),IS_NOT_EMPTY(error_message="cannot
>>  
>> be empty")
>> db.book.Category.widget= lambda field,value: 
>> SQLFORM.widgets.checkboxes.widget(field,value)
>>
>> *controller: default.py*
>> def add_book():
>> form1=SQLFORM(db.book)
>> form1.add_button('Cancel', URL('add_book'))
>> if form1.accepts(request.vars,session):
>> response.flash="Book Inserted"
>> elif form1.errors:
>> response.flash="Errors in form"
>> return dict(form1=form1)
>>
>> *view:add_book.html*
>> {{=form1.custom.begin}}
>> 
>> Name > style="color:red;">*: {{=form1.custom.widget.Name
>> }}
>>  Quantity *: 
>> {{=form1.custom.widget.Quantity}}
>> Available > style="color:red;">*: 
>> {{=form1.custom.widget.Available}}
>> ISBN *: 
>> {{=form1.custom.widget.ISBN}}
>> Entry Date > style="color:red;">*: 
>> {{=form1.custom.widget.entry_date}}
>> 
>>  
>> Category> style="color:red;">*:   
>> 
>> > class="checkbox inline">{{=form1.custom.widget.Category[0]}}
>> > class="checkbox 
>> inline">{{=form1.custom.widget.Category[1]}}
>> > class="checkbox inline">{{=form1.custom.widget.Category[3]}}
>> {{=form1.custom.widget.Category[4]}}
>> > class="checkbox inline">{{=form1.custom.widget.Category[5]}}
>> > class="checkbox inline">{{=form1.custom.widget.Category[2]}}
>> 
>>  
>> 
>> Age Group > style="color:red;">*: 
>> {{=form1.custom.widget.Age_group}}
>> Author: 
>> {{=form1.custom.widget.Author}}
>> Amazon Link: 
>> {{=form1.custom.widget.Link}}
>> Description: 
>> {{=form1.custom.widget.Description}}
>> Image: 
>> {{=form1.custom.widget.Image}}
>> > style="width:45%">{{=form1.custom.submit}}   {{=form1[0][11][1][1]}}
>> 
>> {{=form1.custom.end}}
>>
>> Please hava look at this. need reply to this. ASAP. thanx in 
>> advance
>>
>>

-- 
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 be

[web2py] Re: Need more than one value to unpack

2014-01-07 Thread Akash Agrawall


On Tuesday, January 7, 2014 2:11:35 AM UTC+5:30, Dave S wrote:
>
> On Monday, January 6, 2014 12:32:01 PM UTC-8, Akash Agrawall wrote:
>>
>> I am getting this error:
>> "Need more than one value to unpack"
>>
>>
> Can you tell us which line the error message is referencing?  Is there a 
> traceback in the ticket?
>
> /dps
>
>
>
Traceback (most recent call last):
  File 
"/home/hornet632/webapps/joyofreading/web2py/applications/AK_M14/controllers/appadmin.py",
 line 243, in select
limitby=(start, stop))
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 10335, 
in select
return adapter.select(self.query,fields,attributes)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 2388, 
in select
return super(SQLiteAdapter, self).select(query, fields, attributes)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1831, 
in select
return self._select_aux(sql,fields,attributes)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1796, 
in _select_aux
self.execute(sql)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1916, 
in execute
return self.log_execute(*a, **b)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1910, 
in log_execute
ret = self.cursor.execute(command, *a[1:], **b)
  File "/usr/local/lib/python2.7/sqlite3/dbapi2.py", line 66, in 
convert_timestamp
datepart, timepart = val.split(" ")
ValueError: need more than 1 value to unpack

 

>  
>
>> *db.py:*
>> class IS_CATEGORYIT(object):
>> def __init__(self, error_message="Zip code not allowed"):
>> self.error_message = error
>> def __call__(self, value):
>> error = None
>> print len(value)
>> if len(value)==0:
>> error = self.error_message
>> return (value, error)
>> db.define_table('book',
>> db.Field('Name','string'),
>> db.Field('Category','string',requires=IS_CATEGORYIT),
>> db.Field('Quantity','integer'),
>> db.Field('ISBN','string',unique=True),
>> db.Field('Age_group','list:string', 
>> requires=IS_IN_SET(['1-4','5-8','9-12','13-17'])),
>> 
>> db.Field('entry_date','date',default=datetime.date.today(),requires=IS_DATE(format=('%d-%m-%Y'))),
>> db.Field('Description','text'),
>> db.Field('Image','upload',uploadfield='picture_file'),
>> db.Field('picture_file','blob'),
>> db.Field('Available','integer'),
>> db.Field('Author','string'),
>> db.Field('Link','string',requires=IS_EMPTY_OR(IS_URL(
>>
>> db.book.Description.widget= lambda field,value: 
>> SQLFORM.widgets.text.widget(field,value,_style='width:400px',_rows=5)
>> db.book.Category.requires=IS_IN_SET(['ficton','non-fiction','action and 
>> adventure','travel','biography','story'],multiple=True,zero=None),IS_NOT_EMPTY(error_message="cannot
>>  
>> be empty")
>> db.book.Category.widget= lambda field,value: 
>> SQLFORM.widgets.checkboxes.widget(field,value)
>>
>> *controller: default.py*
>> def add_book():
>> form1=SQLFORM(db.book)
>> form1.add_button('Cancel', URL('add_book'))
>> if form1.accepts(request.vars,session):
>> response.flash="Book Inserted"
>> elif form1.errors:
>> response.flash="Errors in form"
>> return dict(form1=form1)
>>
>> *view:add_book.html*
>> {{=form1.custom.begin}}
>> 
>> Name > style="color:red;">*: {{=form1.custom.widget.Name
>> }}
>>  Quantity *: 
>> {{=form1.custom.widget.Quantity}}
>> Available > style="color:red;">*: 
>> {{=form1.custom.widget.Available}}
>> ISBN *: 
>> {{=form1.custom.widget.ISBN}}
>> Entry Date > style="color:red;">*: 
>> {{=form1.custom.widget.entry_date}}
>> 
>>  
>> Category> style="color:red;">*:   
>> 
>> > class="checkbox inline">{{=form1.custom.widget.Category[0]}}
>> > class="checkbox 
>> inline">{{=form1.custom.widget.Category[1]}}
>> > class="checkbox inline">{{=form1.custom.widget.Category[3]}}
>> {{=form1.custom.widget.Category[4]}}
>> > class="checkbox inline">{{=form1.custom.widget.Category[5]}}
>> > class="checkbox inline">{{=form1.custom.widget.Category[2]}}
>> 
>>  
>> 
>> Age Group > style="color:red;">*: 
>> {{=form1.custom.widget.Age_group}}
>> Author: 
>> {{=form1.custom.widget.Author}}
>> Amazon Link: 
>> {{=form1.custom.widget.Link}}
>> Description: 
>> {{=form1.custom.widget.Description}}
>> Image: 
>> {{=form1.custom.widget.Image}}
>> > style="width:45%">{{=form1.custom.submit}}   {{=form1[0][11][1][1]}}
>> 
>> {{=form1.custom.end}}
>>
>> Please hava look at this. need reply to this. ASAP. thanx in 
>> advance
>>
>>

-- 
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 

[web2py] Re: Need more than one value to unpack

2014-01-07 Thread Akash Agrawall


Traceback (most recent call last):
  File 
"/home/hornet632/webapps/joyofreading/web2py/applications/AK_M14/controllers/appadmin.py",
 line 243, in select
limitby=(start, stop))
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 10335, 
in select
return adapter.select(self.query,fields,attributes)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 2388, 
in select
return super(SQLiteAdapter, self).select(query, fields, attributes)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1831, 
in select
return self._select_aux(sql,fields,attributes)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1796, 
in _select_aux
self.execute(sql)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1916, 
in execute
return self.log_execute(*a, **b)
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1910, 
in log_execute
ret = self.cursor.execute(command, *a[1:], **b)
  File "/usr/local/lib/python2.7/sqlite3/dbapi2.py", line 66, in 
convert_timestamp
datepart, timepart = val.split(" ")
ValueError: need more than 1 value to unpack



On Tuesday, January 7, 2014 3:21:09 AM UTC+5:30, Anthony wrote:
>
> Yes, please provide more detail.
>
> Also, requires=IS_CATEGORYIT should be requires=IS_CATEGORYIT().
>
> Anthony
>
> On Monday, January 6, 2014 3:41:35 PM UTC-5, Dave S wrote:
>>
>> On Monday, January 6, 2014 12:32:01 PM UTC-8, Akash Agrawall wrote:
>>>
>>> I am getting this error:
>>> "Need more than one value to unpack"
>>>
>>>
>> Can you tell us which line the error message is referencing?  Is there a 
>> traceback in the ticket?
>>
>> /dps
>>
>>
>>  
>>
>>> *db.py:*
>>> class IS_CATEGORYIT(object):
>>> def __init__(self, error_message="Zip code not allowed"):
>>> self.error_message = error
>>> def __call__(self, value):
>>> error = None
>>> print len(value)
>>> if len(value)==0:
>>> error = self.error_message
>>> return (value, error)
>>> db.define_table('book',
>>> db.Field('Name','string'),
>>> db.Field('Category','string',requires=IS_CATEGORYIT),
>>> db.Field('Quantity','integer'),
>>> db.Field('ISBN','string',unique=True),
>>> db.Field('Age_group','list:string', 
>>> requires=IS_IN_SET(['1-4','5-8','9-12','13-17'])),
>>> 
>>> db.Field('entry_date','date',default=datetime.date.today(),requires=IS_DATE(format=('%d-%m-%Y'))),
>>> db.Field('Description','text'),
>>> db.Field('Image','upload',uploadfield='picture_file'),
>>> db.Field('picture_file','blob'),
>>> db.Field('Available','integer'),
>>> db.Field('Author','string'),
>>> db.Field('Link','string',requires=IS_EMPTY_OR(IS_URL(
>>>
>>> db.book.Description.widget= lambda field,value: 
>>> SQLFORM.widgets.text.widget(field,value,_style='width:400px',_rows=5)
>>> db.book.Category.requires=IS_IN_SET(['ficton','non-fiction','action and 
>>> adventure','travel','biography','story'],multiple=True,zero=None),IS_NOT_EMPTY(error_message="cannot
>>>  
>>> be empty")
>>> db.book.Category.widget= lambda field,value: 
>>> SQLFORM.widgets.checkboxes.widget(field,value)
>>>
>>> *controller: default.py*
>>> def add_book():
>>> form1=SQLFORM(db.book)
>>> form1.add_button('Cancel', URL('add_book'))
>>> if form1.accepts(request.vars,session):
>>> response.flash="Book Inserted"
>>> elif form1.errors:
>>> response.flash="Errors in form"
>>> return dict(form1=form1)
>>>
>>> *view:add_book.html*
>>> {{=form1.custom.begin}}
>>> 
>>> Name >> style="color:red;">*: {{=form1.custom.widget.Name
>>> }}
>>>  Quantity *: 
>>> {{=form1.custom.widget.Quantity}}
>>> Available >> style="color:red;">*: 
>>> {{=form1.custom.widget.Available}}
>>> ISBN *: 
>>> {{=form1.custom.widget.ISBN}}
>>> Entry Date >> style="color:red;">*: 
>>> {{=form1.custom.widget.entry_date}}
>>> 
>>>  
>>> Category>> style="color:red;">*:   
>>> 
>>> {{=form1.custom.widget.Category[0]}}
>>> {{=form1.custom.widget.Category[1]}}
>>> {{=form1.custom.widget.Category[3]}}
>>> {{=form1.custom.widget.Category[4]}}
>>> {{=form1.custom.widget.Category[5]}}
>>> {{=form1.custom.widget.Category[2]}}
>>> 
>>>  
>>> 
>>> Age Group >> style="color:red;">*: 
>>> {{=form1.custom.widget.Age_group}}
>>> Author: 
>>> {{=form1.custom.widget.Author}}
>>> Amazon Link: 
>>> {{=form1.custom.widget.Link}}
>>> Description: 
>>> {{=form1.custom.widget.Description}}
>>> Image: 
>>> {{=form1.custom.widget.Image}}
>>> >> style="width:45%">{{=form1.custom.submit}}   {{=form1[0][11][1][1]}}
>>> 
>>> {{=form1.custom.end}}
>>>
>>> Please hava look at this. need reply to this. ASAP. thanx in 
>>> advance
>>>
>>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Do

[web2py] Re: Need more than one value to unpack

2014-01-07 Thread Akash Agrawall
on doing the change you mentioned a ticket comes up. 

Traceback (most recent call last):
  File "/home/hornet632/webapps/joyofreading/web2py/gluon/restricted.py", line 
217, in restricted
exec ccode in environment
  File 
"/home/hornet632/webapps/joyofreading/web2py/applications/AK_M14/models/db.py" 
, line 125, in 

db.Field('Category','string',requires=IS_CATEGORYIT()),
  File 
"/home/hornet632/webapps/joyofreading/web2py/applications/AK_M14/models/db.py" 
, line 105, in 
__init__
self.error_message = error
NameError: global name 'error' is not defined



On Tuesday, January 7, 2014 3:21:09 AM UTC+5:30, Anthony wrote:
>
> Yes, please provide more detail.
>
> Also, requires=IS_CATEGORYIT should be requires=IS_CATEGORYIT().
>
> Anthony
>
> On Monday, January 6, 2014 3:41:35 PM UTC-5, Dave S wrote:
>>
>> On Monday, January 6, 2014 12:32:01 PM UTC-8, Akash Agrawall wrote:
>>>
>>> I am getting this error:
>>> "Need more than one value to unpack"
>>>
>>>
>> Can you tell us which line the error message is referencing?  Is there a 
>> traceback in the ticket?
>>
>> /dps
>>
>>
>>  
>>
>>> *db.py:*
>>> class IS_CATEGORYIT(object):
>>> def __init__(self, error_message="Zip code not allowed"):
>>> self.error_message = error
>>> def __call__(self, value):
>>> error = None
>>> print len(value)
>>> if len(value)==0:
>>> error = self.error_message
>>> return (value, error)
>>> db.define_table('book',
>>> db.Field('Name','string'),
>>> db.Field('Category','string',requires=IS_CATEGORYIT),
>>> db.Field('Quantity','integer'),
>>> db.Field('ISBN','string',unique=True),
>>> db.Field('Age_group','list:string', 
>>> requires=IS_IN_SET(['1-4','5-8','9-12','13-17'])),
>>> 
>>> db.Field('entry_date','date',default=datetime.date.today(),requires=IS_DATE(format=('%d-%m-%Y'))),
>>> db.Field('Description','text'),
>>> db.Field('Image','upload',uploadfield='picture_file'),
>>> db.Field('picture_file','blob'),
>>> db.Field('Available','integer'),
>>> db.Field('Author','string'),
>>> db.Field('Link','string',requires=IS_EMPTY_OR(IS_URL(
>>>
>>> db.book.Description.widget= lambda field,value: 
>>> SQLFORM.widgets.text.widget(field,value,_style='width:400px',_rows=5)
>>> db.book.Category.requires=IS_IN_SET(['ficton','non-fiction','action and 
>>> adventure','travel','biography','story'],multiple=True,zero=None),IS_NOT_EMPTY(error_message="cannot
>>>  
>>> be empty")
>>> db.book.Category.widget= lambda field,value: 
>>> SQLFORM.widgets.checkboxes.widget(field,value)
>>>
>>> *controller: default.py*
>>> def add_book():
>>> form1=SQLFORM(db.book)
>>> form1.add_button('Cancel', URL('add_book'))
>>> if form1.accepts(request.vars,session):
>>> response.flash="Book Inserted"
>>> elif form1.errors:
>>> response.flash="Errors in form"
>>> return dict(form1=form1)
>>>
>>> *view:add_book.html*
>>> {{=form1.custom.begin}}
>>> 
>>> Name >> style="color:red;">*: {{=form1.custom.widget.Name
>>> }}
>>>  Quantity *: 
>>> {{=form1.custom.widget.Quantity}}
>>> Available >> style="color:red;">*: 
>>> {{=form1.custom.widget.Available}}
>>> ISBN *: 
>>> {{=form1.custom.widget.ISBN}}
>>> Entry Date >> style="color:red;">*: 
>>> {{=form1.custom.widget.entry_date}}
>>> 
>>>  
>>> Category>> style="color:red;">*:   
>>> 
>>> {{=form1.custom.widget.Category[0]}}
>>> {{=form1.custom.widget.Category[1]}}
>>> {{=form1.custom.widget.Category[3]}}
>>> {{=form1.custom.widget.Category[4]}}
>>> {{=form1.custom.widget.Category[5]}}
>>> {{=form1.custom.widget.Category[2]}}
>>> 
>>>  
>>> 
>>> Age Group >> style="color:red;">*: 
>>> {{=form1.custom.widget.Age_group}}
>>> Author: 
>>> {{=form1.custom.widget.Author}}
>>> Amazon Link: 
>>> {{=form1.custom.widget.Link}}
>>> Description: 
>>> {{=form1.custom.widget.Description}}
>>> Image: 
>>> {{=form1.custom.widget.Image}}
>>> >> style="width:45%">{{=form1.custom.submit}}   {{=form1[0][11][1][1]}}
>>> 
>>> {{=form1.custom.end}}
>>>
>>> Please hava look at this. need reply to this. ASAP. thanx in 
>>> advance
>>>
>>>

-- 
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/groups/opt_out.


Re: [web2py] Re: intercept closing session

2014-01-07 Thread Giuseppe D'Amico
thanks I will do like you say


2014/1/7 Alan Etkin 

> El martes, 7 de enero de 2014 14:40:38 UTC-3, Giuseppe D'Amico escribió:
>
>> Hi, I am new with web2py, is there a way to intercept  the closing of a
>> session?
>>
>
> You mean you want to catch a user logout from the scaffolding app?
>
> You could modify the user action at controllers.py so it checks wether the
> "logout" action was asked:
>
> def user():
> if request.args[0] == "logout":
> 
>
> There's also the auth.settings.logout_onlogout which can be a function
> that receives auth.user as argument (undocumented) and
> auth.settings.logout_next (a URL for redirection after logout).
>
>  --
> 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 a topic in the
> Google Groups "web2py-users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/web2py/rzS37obsTI4/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> web2py+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
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/groups/opt_out.


Re: [web2py] Re: intercept closing session

2014-01-07 Thread Giuseppe D'Amico
what if someone does not do the logout, but for some reason the session end?


2014/1/7 Giuseppe D'Amico 

> thanks I will do like you say
>
>
> 2014/1/7 Alan Etkin 
>
>> El martes, 7 de enero de 2014 14:40:38 UTC-3, Giuseppe D'Amico escribió:
>>
>>> Hi, I am new with web2py, is there a way to intercept  the closing of a
>>> session?
>>>
>>
>> You mean you want to catch a user logout from the scaffolding app?
>>
>> You could modify the user action at controllers.py so it checks wether
>> the "logout" action was asked:
>>
>> def user():
>> if request.args[0] == "logout":
>> 
>>
>> There's also the auth.settings.logout_onlogout which can be a function
>> that receives auth.user as argument (undocumented) and
>> auth.settings.logout_next (a URL for redirection after logout).
>>
>>  --
>> 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 a topic in the
>> Google Groups "web2py-users" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/web2py/rzS37obsTI4/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> web2py+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>

-- 
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/groups/opt_out.


[web2py] Re: Need more than one value to unpack

2014-01-07 Thread Dave S
On Tuesday, January 7, 2014 10:11:27 AM UTC-8, Akash Agrawall wrote:
>
>
>
> On Tuesday, January 7, 2014 2:11:35 AM UTC+5:30, Dave S wrote:
>>
>> On Monday, January 6, 2014 12:32:01 PM UTC-8, Akash Agrawall wrote:
>>>
>>> I am getting this error:
>>> "Need more than one value to unpack"
>>>
>>>
>> Can you tell us which line the error message is referencing?  Is there a 
>> traceback in the ticket?
>>
>> [...]
>
>  

>   File "/usr/local/lib/python2.7/sqlite3/dbapi2.py", line 66, in 
> convert_timestamp
> datepart, timepart = val.split(" ")
> ValueError: need more than 1 value to unpack
>
>  
>

The following seem to be the two places where you are dealing with dates, 
and this is the sort of message that the Python date parser gives when your 
date string being parsed doesn't match the pattern it is parsing to.

 

>  
>>
>>> *db.py:*
>>>
>>  

> db.define_table('book',
>>> db.Field('Name','string'),
>>> db.Field('Category','string',requires=IS_CATEGORYIT),
>>> db.Field('Quantity','integer'),
>>> db.Field('ISBN','string',unique=True),
>>> db.Field('Age_group','list:string', 
>>> requires=IS_IN_SET(['1-4','5-8','9-12','13-17'])),
>>> 
>>> db.Field('entry_date','date',default=datetime.date.today(),requires=IS_DATE(format=('%d-%m-%Y'))),
>>>
>>  

> *view:add_book.html*
>>> {{=form1.custom.begin}}
>>> 
>>> Name >> style="color:red;">*: {{=form1.custom.widget.Name
>>> }}
>>>  Quantity *: 
>>> {{=form1.custom.widget.Quantity}}
>>> Available >> style="color:red;">*: 
>>> {{=form1.custom.widget.Available}}
>>> ISBN *: 
>>> {{=form1.custom.widget.ISBN}}
>>> Entry Date >> style="color:red;">*: 
>>> {{=form1.custom.widget.entry_date}}
>>>
>>  
 
 Good luck!

/dps

-- 
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/groups/opt_out.


[web2py] Re: Need more than one value to unpack

2014-01-07 Thread Anthony
There's a bug in your custom validator code -- should be:

 self.error_message = error_message


On Tuesday, January 7, 2014 1:12:51 PM UTC-5, Akash Agrawall wrote:
>
> on doing the change you mentioned a ticket comes up. 
>
> Traceback (most recent call last):
>   File "/home/hornet632/webapps/joyofreading/web2py/gluon/restricted.py", 
> line 217, in restricted
> exec ccode in environment
>   File 
> "/home/hornet632/webapps/joyofreading/web2py/applications/AK_M14/models/db.py"
>  , line 125, 
> in 
> db.Field('Category','string',requires=IS_CATEGORYIT()),
>   File 
> "/home/hornet632/webapps/joyofreading/web2py/applications/AK_M14/models/db.py"
>  , line 105, 
> in __init__
> self.error_message = error
> NameError: global name 'error' is not defined
>
>
>
> On Tuesday, January 7, 2014 3:21:09 AM UTC+5:30, Anthony wrote:
>>
>> Yes, please provide more detail.
>>
>> Also, requires=IS_CATEGORYIT should be requires=IS_CATEGORYIT().
>>
>> Anthony
>>
>> On Monday, January 6, 2014 3:41:35 PM UTC-5, Dave S wrote:
>>>
>>> On Monday, January 6, 2014 12:32:01 PM UTC-8, Akash Agrawall wrote:

 I am getting this error:
 "Need more than one value to unpack"


>>> Can you tell us which line the error message is referencing?  Is there a 
>>> traceback in the ticket?
>>>
>>> /dps
>>>
>>>
>>>  
>>>
 *db.py:*
 class IS_CATEGORYIT(object):
 def __init__(self, error_message="Zip code not allowed"):
 self.error_message = error
 def __call__(self, value):
 error = None
 print len(value)
 if len(value)==0:
 error = self.error_message
 return (value, error)
 db.define_table('book',
 db.Field('Name','string'),
 db.Field('Category','string',requires=IS_CATEGORYIT),
 db.Field('Quantity','integer'),
 db.Field('ISBN','string',unique=True),
 db.Field('Age_group','list:string', 
 requires=IS_IN_SET(['1-4','5-8','9-12','13-17'])),
 
 db.Field('entry_date','date',default=datetime.date.today(),requires=IS_DATE(format=('%d-%m-%Y'))),
 db.Field('Description','text'),
 db.Field('Image','upload',uploadfield='picture_file'),
 db.Field('picture_file','blob'),
 db.Field('Available','integer'),
 db.Field('Author','string'),
 
 db.Field('Link','string',requires=IS_EMPTY_OR(IS_URL(

 db.book.Description.widget= lambda field,value: 
 SQLFORM.widgets.text.widget(field,value,_style='width:400px',_rows=5)
 db.book.Category.requires=IS_IN_SET(['ficton','non-fiction','action and 
 adventure','travel','biography','story'],multiple=True,zero=None),IS_NOT_EMPTY(error_message="cannot
  
 be empty")
 db.book.Category.widget= lambda field,value: 
 SQLFORM.widgets.checkboxes.widget(field,value)

 *controller: default.py*
 def add_book():
 form1=SQLFORM(db.book)
 form1.add_button('Cancel', URL('add_book'))
 if form1.accepts(request.vars,session):
 response.flash="Book Inserted"
 elif form1.errors:
 response.flash="Errors in form"
 return dict(form1=form1)

 *view:add_book.html*
 {{=form1.custom.begin}}
 
 Name >>> style="color:red;">*: {{=form1.custom.widget.Name
 }}
  Quantity *: 
 {{=form1.custom.widget.Quantity}}
 Available >>> style="color:red;">*: 
 {{=form1.custom.widget.Available}}
 ISBN *: 
 {{=form1.custom.widget.ISBN}}
 Entry Date >>> style="color:red;">*: 
 {{=form1.custom.widget.entry_date}}
 
  
 Category>>> style="color:red;">*:   
 
 {{=form1.custom.widget.Category[0]}}
 {{=form1.custom.widget.Category[1]}}
 {{=form1.custom.widget.Category[3]}}
 {{=form1.custom.widget.Category[4]}}
 {{=form1.custom.widget.Category[5]}}
 {{=form1.custom.widget.Category[2]}}
 
  
 
 Age Group >>> style="color:red;">*: 
 {{=form1.custom.widget.Age_group}}
 Author: 
 {{=form1.custom.widget.Author}}
 Amazon Link: 
 {{=form1.custom.widget.Link}}
 Description: 
 {{=form1.custom.widget.Description}}
 Image: 
 {{=form1.custom.widget.Image}}
 >>> style="width:45%">{{=form1.custom.submit}}   {{=form1[0][11][1][1]}}
 
 {{=form1.custom.end}}

 Please hava look at this. need reply to this. ASAP. thanx 
 in advance



-- 
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 m

[web2py] Re: Need more than one value to unpack

2014-01-07 Thread Anthony
This error comes from appadmin. Exactly what were you doing in appadmin to 
generate this error (what URL was requested)?

Anthony

On Tuesday, January 7, 2014 1:10:45 PM UTC-5, Akash Agrawall wrote:
>
>  Traceback (most recent call last):
>   File 
> "/home/hornet632/webapps/joyofreading/web2py/applications/AK_M14/controllers/appadmin.py",
>  line 243, in select
> limitby=(start, stop))
>   File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 
> 10335, in select
> return adapter.select(self.query,fields,attributes)
>   File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 2388, 
> in select
> return super(SQLiteAdapter, self).select(query, fields, attributes)
>   File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1831, 
> in select
> return self._select_aux(sql,fields,attributes)
>   File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1796, 
> in _select_aux
> self.execute(sql)
>   File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1916, 
> in execute
> return self.log_execute(*a, **b)
>   File "/home/hornet632/webapps/joyofreading/web2py/gluon/dal.py", line 1910, 
> in log_execute
> ret = self.cursor.execute(command, *a[1:], **b)
>   File "/usr/local/lib/python2.7/sqlite3/dbapi2.py", line 66, in 
> convert_timestamp
> datepart, timepart = val.split(" ")
> ValueError: need more than 1 value to unpack
>
>
>
> On Tuesday, January 7, 2014 2:11:35 AM UTC+5:30, Dave S wrote:
>>
>> On Monday, January 6, 2014 12:32:01 PM UTC-8, Akash Agrawall wrote:
>>>
>>> I am getting this error:
>>> "Need more than one value to unpack"
>>>
>>>
>> Can you tell us which line the error message is referencing?  Is there a 
>> traceback in the ticket?
>>
>> /dps
>>
>>
>>  
>>
>>> *db.py:*
>>> class IS_CATEGORYIT(object):
>>> def __init__(self, error_message="Zip code not allowed"):
>>> self.error_message = error
>>> def __call__(self, value):
>>> error = None
>>> print len(value)
>>> if len(value)==0:
>>> error = self.error_message
>>> return (value, error)
>>> db.define_table('book',
>>> db.Field('Name','string'),
>>> db.Field('Category','string',requires=IS_CATEGORYIT),
>>> db.Field('Quantity','integer'),
>>> db.Field('ISBN','string',unique=True),
>>> db.Field('Age_group','list:string', 
>>> requires=IS_IN_SET(['1-4','5-8','9-12','13-17'])),
>>> 
>>> db.Field('entry_date','date',default=datetime.date.today(),requires=IS_DATE(format=('%d-%m-%Y'))),
>>> db.Field('Description','text'),
>>> db.Field('Image','upload',uploadfield='picture_file'),
>>> db.Field('picture_file','blob'),
>>> db.Field('Available','integer'),
>>> db.Field('Author','string'),
>>> db.Field('Link','string',requires=IS_EMPTY_OR(IS_URL(
>>>
>>> db.book.Description.widget= lambda field,value: 
>>> SQLFORM.widgets.text.widget(field,value,_style='width:400px',_rows=5)
>>> db.book.Category.requires=IS_IN_SET(['ficton','non-fiction','action and 
>>> adventure','travel','biography','story'],multiple=True,zero=None),IS_NOT_EMPTY(error_message="cannot
>>>  
>>> be empty")
>>> db.book.Category.widget= lambda field,value: 
>>> SQLFORM.widgets.checkboxes.widget(field,value)
>>>
>>> *controller: default.py*
>>> def add_book():
>>> form1=SQLFORM(db.book)
>>> form1.add_button('Cancel', URL('add_book'))
>>> if form1.accepts(request.vars,session):
>>> response.flash="Book Inserted"
>>> elif form1.errors:
>>> response.flash="Errors in form"
>>> return dict(form1=form1)
>>>
>>> *view:add_book.html*
>>> {{=form1.custom.begin}}
>>> 
>>> Name >> style="color:red;">*: {{=form1.custom.widget.Name
>>> }}
>>>  Quantity *: 
>>> {{=form1.custom.widget.Quantity}}
>>> Available >> style="color:red;">*: 
>>> {{=form1.custom.widget.Available}}
>>> ISBN *: 
>>> {{=form1.custom.widget.ISBN}}
>>> Entry Date >> style="color:red;">*: 
>>> {{=form1.custom.widget.entry_date}}
>>> 
>>>  
>>> Category>> style="color:red;">*:   
>>> 
>>> {{=form1.custom.widget.Category[0]}}
>>> {{=form1.custom.widget.Category[1]}}
>>> {{=form1.custom.widget.Category[3]}}
>>> {{=form1.custom.widget.Category[4]}}
>>> {{=form1.custom.widget.Category[5]}}
>>> {{=form1.custom.widget.Category[2]}}
>>> 
>>>  
>>> 
>>> Age Group >> style="color:red;">*: 
>>> {{=form1.custom.widget.Age_group}}
>>> Author: 
>>> {{=form1.custom.widget.Author}}
>>> Amazon Link: 
>>> {{=form1.custom.widget.Link}}
>>> Description: 
>>> {{=form1.custom.widget.Description}}
>>> Image: 
>>> {{=form1.custom.widget.Image}}
>>> >> style="width:45%">{{=form1.custom.submit}}   {{=form1[0][11][1][1]}}
>>> 
>>> {{=form1.custom.end}}
>>>
>>> Please hava look at this. need reply to this. ASAP. thanx in 
>>> ad

Re: [web2py] Re: Possibly a problem with CAS redirection in v2.8.2

2014-01-07 Thread Vinicius Assef
Congrats.

:-)

On Tue, Jan 7, 2014 at 6:19 AM, Massimo Di Pierro
 wrote:
> Thanks Tim. Your patch is in trunk.
>
>
> On Tuesday, 7 January 2014 01:50:49 UTC-6, Tim Richardson wrote:
>>
>> this time it was throwing a ticket due to an undefined variable.
>
> --
> 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/groups/opt_out.

-- 
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/groups/opt_out.


Re: [web2py] Re: intercept closing session

2014-01-07 Thread Richard Vézina
The same I guess, you will need websocket_messaging.py and tornado server...

This video is great even if in portuguese : http://vimeo.com/38972256

Richard


On Tue, Jan 7, 2014 at 1:39 PM, Giuseppe D'Amico  wrote:

> what if someone does not do the logout, but for some reason the session
> end?
>
>
> 2014/1/7 Giuseppe D'Amico 
>
>> thanks I will do like you say
>>
>>
>> 2014/1/7 Alan Etkin 
>>
>>> El martes, 7 de enero de 2014 14:40:38 UTC-3, Giuseppe D'Amico escribió:
>>>
 Hi, I am new with web2py, is there a way to intercept  the closing of a
 session?

>>>
>>> You mean you want to catch a user logout from the scaffolding app?
>>>
>>> You could modify the user action at controllers.py so it checks wether
>>> the "logout" action was asked:
>>>
>>> def user():
>>> if request.args[0] == "logout":
>>> 
>>>
>>> There's also the auth.settings.logout_onlogout which can be a function
>>> that receives auth.user as argument (undocumented) and
>>> auth.settings.logout_next (a URL for redirection after logout).
>>>
>>>  --
>>> 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 a topic in the
>>> Google Groups "web2py-users" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/web2py/rzS37obsTI4/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> web2py+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>
>  --
> 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/groups/opt_out.
>

-- 
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/groups/opt_out.


Re: [web2py] Re: intercept closing session

2014-01-07 Thread Richard Vézina
There is also this vid : http://vimeo.com/18399381

Richard


On Tue, Jan 7, 2014 at 2:14 PM, Richard Vézina
wrote:

> The same I guess, you will need websocket_messaging.py and tornado
> server...
>
> This video is great even if in portuguese : http://vimeo.com/38972256
>
> Richard
>
>
> On Tue, Jan 7, 2014 at 1:39 PM, Giuseppe D'Amico <
> damicogiusepp...@gmail.com> wrote:
>
>> what if someone does not do the logout, but for some reason the session
>> end?
>>
>>
>> 2014/1/7 Giuseppe D'Amico 
>>
>>> thanks I will do like you say
>>>
>>>
>>> 2014/1/7 Alan Etkin 
>>>
 El martes, 7 de enero de 2014 14:40:38 UTC-3, Giuseppe D'Amico escribió:

> Hi, I am new with web2py, is there a way to intercept  the closing of
> a session?
>

 You mean you want to catch a user logout from the scaffolding app?

 You could modify the user action at controllers.py so it checks wether
 the "logout" action was asked:

 def user():
 if request.args[0] == "logout":
 

 There's also the auth.settings.logout_onlogout which can be a function
 that receives auth.user as argument (undocumented) and
 auth.settings.logout_next (a URL for redirection after logout).

  --
 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 a topic in the
 Google Groups "web2py-users" group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/web2py/rzS37obsTI4/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to
 web2py+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.

>>>
>>>
>>  --
>> 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/groups/opt_out.
>>
>
>

-- 
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/groups/opt_out.


Re: [web2py] Re: Important New Year News: Edison Award

2014-01-07 Thread Richard Vézina
Congrats!

:)

Richartd


On Tue, Jan 7, 2014 at 6:51 AM, Tim Richardson wrote:

> Massimo,
> is there a link to the nomination? Good twitter food.
>
>
> On Saturday, 4 January 2014 15:08:38 UTC+11, Massimo Di Pierro wrote:
>>
>> Web2py/me have been nominated for the Edison Award. Please wish web2py
>> (and me) good luck. :-)
>>
>>  --
> 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/groups/opt_out.
>

-- 
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/groups/opt_out.


[web2py][share] gluttony for graph python project dependencies

2014-01-07 Thread Richard
Hello,

I was looking to find a way to compile the dependencies of my project and I 
falled on this :

https://bitbucket.org/victorlin/gluttony

It might be an interesting addon to web2py?

Richard

-- 
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/groups/opt_out.


Re: [web2py][share] gluttony for graph python project dependencies

2014-01-07 Thread Richard Vézina
Ho! Forget about that, there is no web2py pip package and gluttony required
a pip package to work... So, not possible to make it works for app I guess.

Richard


On Tue, Jan 7, 2014 at 2:31 PM, Richard  wrote:

> Hello,
>
> I was looking to find a way to compile the dependencies of my project and
> I falled on this :
>
> https://bitbucket.org/victorlin/gluttony
>
> It might be an interesting addon to web2py?
>
> Richard
>
> --
> 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/groups/opt_out.
>

-- 
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/groups/opt_out.


Re: [web2py] Re: intercept closing session

2014-01-07 Thread Anthony
What exactly do you need to do?

On Tuesday, January 7, 2014 1:39:04 PM UTC-5, Giuseppe D'Amico wrote:
>
> what if someone does not do the logout, but for some reason the session 
> end?
>
>
> 2014/1/7 Giuseppe D'Amico >
>
>> thanks I will do like you say
>>
>>
>> 2014/1/7 Alan Etkin >
>>
>>> El martes, 7 de enero de 2014 14:40:38 UTC-3, Giuseppe D'Amico escribió:
>>>
 Hi, I am new with web2py, is there a way to intercept  the closing of a 
 session?

>>>
>>> You mean you want to catch a user logout from the scaffolding app?
>>>
>>> You could modify the user action at controllers.py so it checks wether 
>>> the "logout" action was asked:
>>>
>>> def user():
>>> if request.args[0] == "logout":
>>> 
>>>
>>> There's also the auth.settings.logout_onlogout which can be a function 
>>> that receives auth.user as argument (undocumented) and 
>>> auth.settings.logout_next (a URL for redirection after logout).
>>>
>>>  -- 
>>> 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 a topic in the 
>>> Google Groups "web2py-users" group.
>>> To unsubscribe from this topic, visit 
>>> https://groups.google.com/d/topic/web2py/rzS37obsTI4/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to 
>>> web2py+un...@googlegroups.com .
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>
>

-- 
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/groups/opt_out.


[web2py] Re: Ajax

2014-01-07 Thread Ruud Schroen
Have you found a solution for this yet? I'm struggling with this as well..

On Thursday, September 10, 2009 5:21:11 AM UTC+2, eddwinston wrote:
>
> Hi, 
>
> I am trying to make an ajax login, I am currently sending request to 
> this url: [app]/default/user/login. But it has been fruitless. I just 
> get a full page html markup and the user will not be logged in. Is 
> there a way I can do it? 
>
> Regards, 
> Winston

-- 
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/groups/opt_out.


[web2py] Re: custom widgets

2014-01-07 Thread Anthony

>
> 1. Where should I put my custom widget logic? 
>
> Right now i have it grossely stored in my db.py 
>

You can always put it in a module file and import it.
 

> 2. Can i pass more information to my widget other than field, value from 
> my 
> db.table.colum.widget = mywidgetfunc


If you have:

def mywidget(field, value, arg1, arg2):

you can do:

db.table.column.widget = lambda f, v: mywidget(f, v, value1, value2)

or:

import functools
db.table.column.widget = functools.partial(mywidget, arg1=value1, arg2=
value2)

Anthony

-- 
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/groups/opt_out.


Re: [web2py] Re: custom widgets

2014-01-07 Thread Calvin Morrison
great thanks!

On 7 January 2014 15:18, Anthony  wrote:
>> 1. Where should I put my custom widget logic?
>>
>> Right now i have it grossely stored in my db.py
>
>
> You can always put it in a module file and import it.
>
>>
>> 2. Can i pass more information to my widget other than field, value from
>> my
>> db.table.colum.widget = mywidgetfunc
>
>
> If you have:
>
> def mywidget(field, value, arg1, arg2):
>
> you can do:
>
> db.table.column.widget = lambda f, v: mywidget(f, v, value1, value2)
>
> or:
>
> import functools
> db.table.column.widget = functools.partial(mywidget, arg1=value1,
> arg2=value2)
>
> Anthony
>
> --
> 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/groups/opt_out.

-- 
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/groups/opt_out.


Re: [web2py][share] gluttony for graph python project dependencies

2014-01-07 Thread Marco Mansilla
El Tue, 7 Jan 2014 14:55:17 -0500
Richard Vézina  escribió:

> Ho! Forget about that, there is no web2py pip package and gluttony
> required a pip package to work... So, not possible to make it works
> for app I guess.
> 
> Richard
> 
> 
> On Tue, Jan 7, 2014 at 2:31 PM, Richard 
> wrote:
> 
> > Hello,
> >
> > I was looking to find a way to compile the dependencies of my
> > project and I falled on this :
> >
> > https://bitbucket.org/victorlin/gluttony
> >
> > It might be an interesting addon to web2py?
> >
> > Richard
> >
> > --
> > 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/groups/opt_out.
> >
> 

There **IS**:

$pip install web2py
Downloading/unpacking web2py-2.1.1.tar.gz

but maybe pypi version should be updated... 



  Downloading web2py-2.1.1.tar.gz

-- 
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/groups/opt_out.


Re: [web2py][share] gluttony for graph python project dependencies

2014-01-07 Thread Niphlod
except that web2py depends on nothing by default, and in fact you can run 
it on the standard python library with no additions.
That project just parses the various setup.py in packages to find 
dependencies that are explicitely written into setup.py, it doesn't inspect 
your code to see what libraries are imported.

On Tuesday, January 7, 2014 9:27:40 PM UTC+1, marco mansilla wrote:
>
> El Tue, 7 Jan 2014 14:55:17 -0500 
> Richard Vézina > escribió: 
>
> > Ho! Forget about that, there is no web2py pip package and gluttony 
> > required a pip package to work... So, not possible to make it works 
> > for app I guess. 
> > 
> > Richard 
> > 
> > 
> > On Tue, Jan 7, 2014 at 2:31 PM, Richard 
> > > 
>
> > wrote: 
> > 
> > > Hello, 
> > > 
> > > I was looking to find a way to compile the dependencies of my 
> > > project and I falled on this : 
> > > 
> > > https://bitbucket.org/victorlin/gluttony 
> > > 
> > > It might be an interesting addon to web2py? 
> > > 
> > > Richard 
> > > 
> > > -- 
> > > 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/groups/opt_out. 
> > > 
> > 
>
> There **IS**: 
>
> $pip install web2py 
> Downloading/unpacking web2py-2.1.1.tar.gz 
>
> but maybe pypi version should be updated... 
>
>
>
>   Downloading web2py-2.1.1.tar.gz 
>

-- 
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/groups/opt_out.


[web2py] Re: Different applications usiong same set of tables

2014-01-07 Thread Niphlod
migrate=False prevents web2py to check if the underlying tables are in sync 
with your model.
you don't need to run fake_migrate=True if you're not planning on altering 
tables on app2.
fake_migrate=True just generates .table files according to your model, so 
you'll get (assuming the connection string is identical) exactly the same 
files that you can find under app1/databases/

On Tuesday, January 7, 2014 12:44:10 PM UTC+1, Jayadevan M wrote:
>
> I have an application app1. I want to create another application - app2 
> which will use the same set of tables as used by app1. For this, what I 
> have to do is create a tables.py under app2/models and mention 
> migrate=False for the common tables. Is that right? Do I have to set 
> fake_migrate=True and ensure the table files are created under databases 
> folder in app2? My simple tests tell me it is not necessary. Just for 
> confirmation.
>

-- 
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/groups/opt_out.


Re: [web2py] Re: !! NEW ADMIN !!

2014-01-07 Thread Niphlod
before spreading the work, you could rename all spanish comments and 
variables in english.
At least in my POV (Italian, knows english, "tries to auto-translate 
spanish but doesn't know a single word of it") its the first step towards 
getting more developers contributing.

On Tuesday, January 7, 2014 6:10:27 PM UTC+1, Alan Etkin wrote:
>
> You can Contribute in many ways:
>>
>
> Consider posting this to the plugins list in web2pyslices, adding a link 
> to the installer (.w2p file) so it can be installed directly from admin.
>

-- 
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/groups/opt_out.


Re: [web2py][share] gluttony for graph python project dependencies

2014-01-07 Thread Richard Vézina
I didn't try before post :(

I should have...

I know web2py is self containing, but I may have import other python
package from my app...

Do you have a cue about a prog or a python script that could ramp my source
and list my dependencies?

Thanks

Richard


On Tue, Jan 7, 2014 at 3:46 PM, Niphlod  wrote:

> except that web2py depends on nothing by default, and in fact you can run
> it on the standard python library with no additions.
> That project just parses the various setup.py in packages to find
> dependencies that are explicitely written into setup.py, it doesn't inspect
> your code to see what libraries are imported.
>
>
> On Tuesday, January 7, 2014 9:27:40 PM UTC+1, marco mansilla wrote:
>
>> El Tue, 7 Jan 2014 14:55:17 -0500
>> Richard Vézina  escribió:
>>
>> > Ho! Forget about that, there is no web2py pip package and gluttony
>> > required a pip package to work... So, not possible to make it works
>> > for app I guess.
>> >
>> > Richard
>> >
>> >
>> > On Tue, Jan 7, 2014 at 2:31 PM, Richard 
>> > wrote:
>> >
>> > > Hello,
>> > >
>> > > I was looking to find a way to compile the dependencies of my
>> > > project and I falled on this :
>> > >
>> > > https://bitbucket.org/victorlin/gluttony
>> > >
>> > > It might be an interesting addon to web2py?
>> > >
>> > > Richard
>> > >
>> > > --
>> > > 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/groups/opt_out.
>> > >
>> >
>>
>> There **IS**:
>>
>> $pip install web2py
>> Downloading/unpacking web2py-2.1.1.tar.gz
>>
>> but maybe pypi version should be updated...
>>
>>
>>
>>   Downloading web2py-2.1.1.tar.gz
>>
>  --
> 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/groups/opt_out.
>

-- 
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/groups/opt_out.


Re: [web2py][share] gluttony for graph python project dependencies

2014-01-07 Thread Richard Vézina
This may seems what I am searching for :
http://furius.ca/snakefood/

Richard


On Tue, Jan 7, 2014 at 3:54 PM, Richard Vézina
wrote:

> I didn't try before post :(
>
> I should have...
>
> I know web2py is self containing, but I may have import other python
> package from my app...
>
> Do you have a cue about a prog or a python script that could ramp my
> source and list my dependencies?
>
> Thanks
>
> Richard
>
>
> On Tue, Jan 7, 2014 at 3:46 PM, Niphlod  wrote:
>
>> except that web2py depends on nothing by default, and in fact you can run
>> it on the standard python library with no additions.
>> That project just parses the various setup.py in packages to find
>> dependencies that are explicitely written into setup.py, it doesn't inspect
>> your code to see what libraries are imported.
>>
>>
>> On Tuesday, January 7, 2014 9:27:40 PM UTC+1, marco mansilla wrote:
>>
>>> El Tue, 7 Jan 2014 14:55:17 -0500
>>> Richard Vézina  escribió:
>>>
>>> > Ho! Forget about that, there is no web2py pip package and gluttony
>>> > required a pip package to work... So, not possible to make it works
>>> > for app I guess.
>>> >
>>> > Richard
>>> >
>>> >
>>> > On Tue, Jan 7, 2014 at 2:31 PM, Richard 
>>> > wrote:
>>> >
>>> > > Hello,
>>> > >
>>> > > I was looking to find a way to compile the dependencies of my
>>> > > project and I falled on this :
>>> > >
>>> > > https://bitbucket.org/victorlin/gluttony
>>> > >
>>> > > It might be an interesting addon to web2py?
>>> > >
>>> > > Richard
>>> > >
>>> > > --
>>> > > 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/groups/opt_out.
>>> > >
>>> >
>>>
>>> There **IS**:
>>>
>>> $pip install web2py
>>> Downloading/unpacking web2py-2.1.1.tar.gz
>>>
>>> but maybe pypi version should be updated...
>>>
>>>
>>>
>>>   Downloading web2py-2.1.1.tar.gz
>>>
>>  --
>> 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/groups/opt_out.
>>
>
>

-- 
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/groups/opt_out.


[web2py] Re: Important New Year News: Edison Award

2014-01-07 Thread Carlos Zenteno
Congratulations and good luck!
Routing for you!

On Friday, January 3, 2014 10:08:38 PM UTC-6, Massimo Di Pierro wrote:
>
> Web2py/me have been nominated for the Edison Award. Please wish web2py 
> (and me) good luck. :-)
>
>

-- 
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/groups/opt_out.


Re: [web2py][share] gluttony for graph python project dependencies

2014-01-07 Thread Niphlod
never tried. I'd go for http://pythonhosted.org/modulegraph/index.html.
BTW: why don't you just initialize an empty venv, run your test suite and 
add modules as they are found missing ?
Given the nature of web2py applications you'll have hard times to figure 
out dependencies without running every model and every controller through a 
dependency parser. 

On Tuesday, January 7, 2014 9:57:40 PM UTC+1, Richard wrote:
>
> This may seems what I am searching for : 
> http://furius.ca/snakefood/
>
> Richard
>
>
> On Tue, Jan 7, 2014 at 3:54 PM, Richard Vézina 
> 
> > wrote:
>
>> I didn't try before post :(
>>
>> I should have...
>>
>> I know web2py is self containing, but I may have import other python 
>> package from my app...
>>
>> Do you have a cue about a prog or a python script that could ramp my 
>> source and list my dependencies?
>>
>> Thanks
>>
>> Richard
>>
>>
>> On Tue, Jan 7, 2014 at 3:46 PM, Niphlod > >wrote:
>>
>>> except that web2py depends on nothing by default, and in fact you can 
>>> run it on the standard python library with no additions.
>>> That project just parses the various setup.py in packages to find 
>>> dependencies that are explicitely written into setup.py, it doesn't inspect 
>>> your code to see what libraries are imported.
>>>
>>>
>>> On Tuesday, January 7, 2014 9:27:40 PM UTC+1, marco mansilla wrote:
>>>
 El Tue, 7 Jan 2014 14:55:17 -0500 
 Richard Vézina  escribió: 

 > Ho! Forget about that, there is no web2py pip package and gluttony 
 > required a pip package to work... So, not possible to make it works 
 > for app I guess. 
 > 
 > Richard 
 > 
 > 
 > On Tue, Jan 7, 2014 at 2:31 PM, Richard  
 > wrote: 
 > 
 > > Hello, 
 > > 
 > > I was looking to find a way to compile the dependencies of my 
 > > project and I falled on this : 
 > > 
 > > https://bitbucket.org/victorlin/gluttony 
 > > 
 > > It might be an interesting addon to web2py? 
 > > 
 > > Richard 
 > > 
 > > -- 
 > > 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/groups/opt_out. 
 > > 
 > 

 There **IS**: 

 $pip install web2py 
 Downloading/unpacking web2py-2.1.1.tar.gz 

 but maybe pypi version should be updated... 



   Downloading web2py-2.1.1.tar.gz 

>>>  -- 
>>> 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/groups/opt_out.
>>>
>>
>>
>

-- 
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/groups/opt_out.


[web2py] Re: Different applications usiong same set of tables

2014-01-07 Thread Anthony
You can also define models in a module function or class and import into 
both apps (e.g., the way Auth works). There is also 
http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#Using-DAL-without-define-tables,
 
though you don't get the web2py specific attributes, such as validators, 
widgets, etc.

Anthony

On Tuesday, January 7, 2014 6:44:10 AM UTC-5, Jayadevan M wrote:
>
> I have an application app1. I want to create another application - app2 
> which will use the same set of tables as used by app1. For this, what I 
> have to do is create a tables.py under app2/models and mention 
> migrate=False for the common tables. Is that right? Do I have to set 
> fake_migrate=True and ensure the table files are created under databases 
> folder in app2? My simple tests tell me it is not necessary. Just for 
> confirmation.
>

-- 
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/groups/opt_out.


Re: [web2py][share] gluttony for graph python project dependencies

2014-01-07 Thread Richard Vézina
That's a idea... You are right snakefood can't import web2py modules...

Thanks

Richard


On Tue, Jan 7, 2014 at 4:31 PM, Niphlod  wrote:

> never tried. I'd go for http://pythonhosted.org/modulegraph/index.html.
> BTW: why don't you just initialize an empty venv, run your test suite and
> add modules as they are found missing ?
> Given the nature of web2py applications you'll have hard times to figure
> out dependencies without running every model and every controller through a
> dependency parser.
>
> On Tuesday, January 7, 2014 9:57:40 PM UTC+1, Richard wrote:
>
>> This may seems what I am searching for :
>> http://furius.ca/snakefood/
>>
>> Richard
>>
>>
>> On Tue, Jan 7, 2014 at 3:54 PM, Richard Vézina wrote:
>>
>>> I didn't try before post :(
>>>
>>> I should have...
>>>
>>> I know web2py is self containing, but I may have import other python
>>> package from my app...
>>>
>>> Do you have a cue about a prog or a python script that could ramp my
>>> source and list my dependencies?
>>>
>>> Thanks
>>>
>>> Richard
>>>
>>>
>>> On Tue, Jan 7, 2014 at 3:46 PM, Niphlod  wrote:
>>>
 except that web2py depends on nothing by default, and in fact you can
 run it on the standard python library with no additions.
 That project just parses the various setup.py in packages to find
 dependencies that are explicitely written into setup.py, it doesn't inspect
 your code to see what libraries are imported.


 On Tuesday, January 7, 2014 9:27:40 PM UTC+1, marco mansilla wrote:

> El Tue, 7 Jan 2014 14:55:17 -0500
> Richard Vézina  escribió:
>
> > Ho! Forget about that, there is no web2py pip package and gluttony
> > required a pip package to work... So, not possible to make it works
> > for app I guess.
> >
> > Richard
> >
> >
> > On Tue, Jan 7, 2014 at 2:31 PM, Richard 
> > wrote:
> >
> > > Hello,
> > >
> > > I was looking to find a way to compile the dependencies of my
> > > project and I falled on this :
> > >
> > > https://bitbucket.org/victorlin/gluttony
> > >
> > > It might be an interesting addon to web2py?
> > >
> > > Richard
> > >
> > > --
> > > 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/groups/opt_out.
> > >
> >
>
> There **IS**:
>
> $pip install web2py
> Downloading/unpacking web2py-2.1.1.tar.gz
>
> but maybe pypi version should be updated...
>
>
>
>   Downloading web2py-2.1.1.tar.gz
>
  --
 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/groups/opt_out.

>>>
>>>
>>  --
> 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/groups/opt_out.
>

-- 
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/groups/opt_out.


Re: [web2py] Re: !! NEW ADMIN !!

2014-01-07 Thread samuel bonill
>
> before spreading the work, you could rename all spanish comments and
> variables in english.
> At least in my POV (Italian, knows english, "tries to auto-translate
> spanish but doesn't know a single word of it") its the first step towards
> getting more developers contributing.
>

thanks Niphlod, comments in english now are available
https://github.com/pyner/admin_plus/blob/master/models/plugin_admin_plus.py
I need help with the documentation in inglish

-- 
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/groups/opt_out.


[web2py] Re: Rows.compact and other Rows methods

2014-01-07 Thread Joe Barnhart
It's actually a little deeper problem.  I see that Rows.sort() has the 
effect of stripping the table key from the resulting Row objects.

If I try the obvious fix, to use the built-in "sorted" on self.records 
instead of self, then the next problem surfaces -- the supplied sort key 
must include the table and the field key, and they must both be supplied to 
the sort.  Which would break all manner of existing programs.

I love the concept of "compact" vs non-compact, but the implementation of 
stripping the table keys from the Row objects has left quite a mess!

-- Joe

On Tuesday, January 7, 2014 8:03:56 AM UTC-8, Anthony wrote:
>
> The Rows.find() method does the following:
>
> for row in self:
> if f(row):
> if a<=k: records.append(row)
> k += 1
> if k==b: break
>
> In a Rows object, there is self.records, which is a list of Row objects. 
> Each Row object has at least one top-level key with the table name, and the 
> record is stored in the value associated with that key:
>
> 
>
> When .find() is called on a Rows object with compact=True, the __iter__ 
> method (called by the "for row in self" loop) returns a transformed version 
> of each Row object, removing the top-level table key:
>
> 
>
> I believe this is an unnecessary transformation, and it is what is 
> subsequently causing the .render() method to fail (the .render() method 
> expects the top-level table key to be there, whether or not compact=True). 
> I propose the following change to .find():
>
> for i, row in enumerate(self):
> if f(row):
> if a<=k: records.append(self.records[i])
> k += 1
> if k==b: break
>
> The above code appends self.records[i] instead of row, which preserves the 
> original Row objects instead of including transformed objects. Anyone see 
> any problems with that change?
>
> Also, is there any reason all of the Rows methods (i.e., find, exclude, 
> __and__, __or__) should not be preserving the "compact" attribute of the 
> original Rows object? Perhaps we should change them all to do so. (Note, 
> this is a separate issue unrelated to the above problem with .find() and 
> .render().)
>
> Anthony
>
> On Tuesday, January 7, 2014 10:47:28 AM UTC-5, Anthony wrote:
>>
>> .render() works fine on Rows objects with compact=True, and it also works 
>> fine on the results of .sort(), .exclude(), &, and | operations. The only 
>> problem is with the results of .find() operations when the original Rows 
>> object has compact=True. The problem is that the .find() method modifies 
>> the Row objects in self.records when compact=True, which it probably should 
>> not due.
>>
>> Aside from this issue, perhaps the various Rows methods should preserve 
>> the "compact" attribute -- not sure why they don't.
>>
>> Forwarding to the developers list for discussion.
>>
>> Anthony
>>
>> On Tuesday, January 7, 2014 3:10:00 AM UTC-5, Joe Barnhart wrote:
>>>
>>> I've been experimenting with the render method of the Rows class, and I 
>>> am very impressed.  But one drawback I found is that the Rows object must 
>>> have its value set to "compact=False" to work properly with render().  It 
>>> isn't a problem if the Rows object is used directly without any operators, 
>>> but I discovered that many, if not most, Rows methods do not preserve the 
>>> "compact" setting.
>>>
>>> For example. if you "sort" the Rows, it leaves compact=True.  Ditto, if 
>>> you use "extract" or "find" on the Rows object.  The "&" and "|" operators 
>>> also set the compact variable to "True".  The upshot is that you can't use 
>>> any of these operators on the Rows object and then use "render" on the 
>>> resulting object.
>>>
>>> It is a simple change to add the preservation of the "compact" flag 
>>> during any of these steps, but I'm unsure if this will break existing code. 
>>>  Other than coming up with a completely parallel set of methods, which 
>>> leave compact set the way it came in, I can't think of another approach 
>>> will be provably backwards-compatible.
>>>
>>> Here is an example:
>>>
>>>
>>> def __and__(self,other):
>>> if self.colnames!=other.colnames:
>>> raise Exception('Cannot & incompatible Rows objects')
>>> records = self.records+other.records
>>> return Rows(self.db,records,self.colnames)
>>>
>>>
>>> Becomes:
>>>
>>>
>>> def __and__(self,other):
>>> if self.colnames!=other.colnames:
>>> raise Exception('Cannot & incompatible Rows objects')
>>> records = self.records+other.records
>>> return Rows(self.db,records,self.colnames,compact=(self.compact 
>>> or other.compact))
>>>
>>>
>>> In the case above, the flag compact will be set True if either of the 
>>> participating Rows object is also "compact".  My logic is, if you've lost 
>>> the "table" values on either Rows object, you may as well lose them on the 
>>> combined set.
>>>

[web2py] Re: Rows.compact and other Rows methods

2014-01-07 Thread Anthony
Ah, I see, .sort has the same problem as .find. I think we should just try 
to fix .sort.

Anthony

On Tuesday, January 7, 2014 5:53:15 PM UTC-5, Joe Barnhart wrote:
>
> It's actually a little deeper problem.  I see that Rows.sort() has the 
> effect of stripping the table key from the resulting Row objects.
>
> If I try the obvious fix, to use the built-in "sorted" on self.records 
> instead of self, then the next problem surfaces -- the supplied sort key 
> must include the table and the field key, and they must both be supplied to 
> the sort.  Which would break all manner of existing programs.
>
> I love the concept of "compact" vs non-compact, but the implementation of 
> stripping the table keys from the Row objects has left quite a mess!
>
> -- Joe
>

-- 
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/groups/opt_out.


[web2py] Re: Rows.compact and other Rows methods

2014-01-07 Thread Anthony
Note, same problem with .sort (it modifies the Row objects in 
self.records), so we should probably fix that as well (will be a bit more 
complicated).

Anthony

On Tuesday, January 7, 2014 11:03:56 AM UTC-5, Anthony wrote:
>
> The Rows.find() method does the following:
>
> for row in self:
> if f(row):
> if a<=k: records.append(row)
> k += 1
> if k==b: break
>
> In a Rows object, there is self.records, which is a list of Row objects. 
> Each Row object has at least one top-level key with the table name, and the 
> record is stored in the value associated with that key:
>
> 
>
> When .find() is called on a Rows object with compact=True, the __iter__ 
> method (called by the "for row in self" loop) returns a transformed version 
> of each Row object, removing the top-level table key:
>
> 
>
> I believe this is an unnecessary transformation, and it is what is 
> subsequently causing the .render() method to fail (the .render() method 
> expects the top-level table key to be there, whether or not compact=True). 
> I propose the following change to .find():
>
> for i, row in enumerate(self):
> if f(row):
> if a<=k: records.append(self.records[i])
> k += 1
> if k==b: break
>
> The above code appends self.records[i] instead of row, which preserves the 
> original Row objects instead of including transformed objects. Anyone see 
> any problems with that change?
>
> Also, is there any reason all of the Rows methods (i.e., find, exclude, 
> __and__, __or__) should not be preserving the "compact" attribute of the 
> original Rows object? Perhaps we should change them all to do so. (Note, 
> this is a separate issue unrelated to the above problem with .find() and 
> .render().)
>
> Anthony
>
> On Tuesday, January 7, 2014 10:47:28 AM UTC-5, Anthony wrote:
>>
>> .render() works fine on Rows objects with compact=True, and it also works 
>> fine on the results of .sort(), .exclude(), &, and | operations. The only 
>> problem is with the results of .find() operations when the original Rows 
>> object has compact=True. The problem is that the .find() method modifies 
>> the Row objects in self.records when compact=True, which it probably should 
>> not due.
>>
>> Aside from this issue, perhaps the various Rows methods should preserve 
>> the "compact" attribute -- not sure why they don't.
>>
>> Forwarding to the developers list for discussion.
>>
>> Anthony
>>
>> On Tuesday, January 7, 2014 3:10:00 AM UTC-5, Joe Barnhart wrote:
>>>
>>> I've been experimenting with the render method of the Rows class, and I 
>>> am very impressed.  But one drawback I found is that the Rows object must 
>>> have its value set to "compact=False" to work properly with render().  It 
>>> isn't a problem if the Rows object is used directly without any operators, 
>>> but I discovered that many, if not most, Rows methods do not preserve the 
>>> "compact" setting.
>>>
>>> For example. if you "sort" the Rows, it leaves compact=True.  Ditto, if 
>>> you use "extract" or "find" on the Rows object.  The "&" and "|" operators 
>>> also set the compact variable to "True".  The upshot is that you can't use 
>>> any of these operators on the Rows object and then use "render" on the 
>>> resulting object.
>>>
>>> It is a simple change to add the preservation of the "compact" flag 
>>> during any of these steps, but I'm unsure if this will break existing code. 
>>>  Other than coming up with a completely parallel set of methods, which 
>>> leave compact set the way it came in, I can't think of another approach 
>>> will be provably backwards-compatible.
>>>
>>> Here is an example:
>>>
>>>
>>> def __and__(self,other):
>>> if self.colnames!=other.colnames:
>>> raise Exception('Cannot & incompatible Rows objects')
>>> records = self.records+other.records
>>> return Rows(self.db,records,self.colnames)
>>>
>>>
>>> Becomes:
>>>
>>>
>>> def __and__(self,other):
>>> if self.colnames!=other.colnames:
>>> raise Exception('Cannot & incompatible Rows objects')
>>> records = self.records+other.records
>>> return Rows(self.db,records,self.colnames,compact=(self.compact 
>>> or other.compact))
>>>
>>>
>>> In the case above, the flag compact will be set True if either of the 
>>> participating Rows object is also "compact".  My logic is, if you've lost 
>>> the "table" values on either Rows object, you may as well lose them on the 
>>> combined set.
>>>
>>> What do you think?
>>>
>>> -- Joe B.
>>>
>>>
>>>

-- 
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 a

[web2py] web2py administrative interface issue

2014-01-07 Thread sonu kumar
Hi,

Today I was trying to access my application via web2py administrative 
interface but one of my application was not opening on 'edit' click in 
'manage' button. It waits and throws a internal server error.
Till yesterday it was working fine...
Whereas other application like 'example' is opening after 'edit' click.

Why it is happening?

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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[web2py] Re: SQLFORM and IS_IN_SET problem

2014-01-07 Thread User
I have the same problem as the original poster.  I am only storing a single 
value as of now but I'm using list:string instead of string so that if I 
change my mind to allow multiple values it will be easier to transition.  
Is this a bug that it won't preselect the selected value?  Alternatively, 
does migration from a string field to a list:string field preserve the 
string data?


On Monday, October 10, 2011 7:20:46 PM UTC-4, Anthony wrote:

> On Monday, October 10, 2011 6:01:49 PM UTC-4, Cliff wrote:
>>
>> Mostly fixed now.  There was also a bug in my controller code that was 
>> complicating things. 
>>
>> One problem remains.  With readonly=True, the field still shows the 
>> dictionary key rather than the value.
>>
>
> With readonly, I guess it's not using the widget, so it will just show the 
> value stored in the field itself. Maybe you can define a represent function 
> for the field so it shows the label associated with the value.
>
> Anthony
>

-- 
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/groups/opt_out.


[web2py] Re: Web2py Integration with Sentry

2014-01-07 Thread Derek
I haven't, but I've done something similar with a different piece of 
software. You'd usually just use it as a wsgi middleware around your app. 
So you'd need to run web2py as wsgi and wrap it with Sentry.

On Monday, January 6, 2014 8:14:46 PM UTC-7, James Q wrote:
>
> Has anyone ever integrated web2py an Sentry (
> https://github.com/getsentry/sentry)? I would like it if all web2py 
> generated exceptions generate a ticket like usual, but also generates an 
> event to a sentry server. Has anyone ever done this? If not, could anyone 
> point to where I would need to patch web2py or how best this integration 
> would work?
>
> Thanks for any help!
>

-- 
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/groups/opt_out.


[web2py] Re: Why web2py and AnguljarJS?

2014-01-07 Thread Derek
Yea, there are a lot of similarities, I decided myself just to skip web2py 
and do most of the work in a client side template, where the webserver only 
serves static files and json, and the client framework handles everything 
else. It works pretty good on the desktop, but I haven't even tested in on 
mobile. There's room for both.

On Sunday, January 5, 2014 3:06:43 PM UTC-7, Ruud Schroen wrote:
>
> I see more and more about using angularjs with web2py.
>
> But why? What would be an example of a benefit from using those two.
> Cause when i look at AngularJS, it already looks alot like web2py.
>
> Not saying that it's a bad idea, just wondering ;)
>

-- 
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/groups/opt_out.


[web2py] Re: Rows.compact and other Rows methods

2014-01-07 Thread Joe Barnhart
Maybe the best answer is to change Row so that it always holds the full set 
of keys (table:field) and change the __getitem__ method to look up the key 
recursively if only one part is provided.  Here is a sample method which 
implements this strategy of testing keys for dicts within dicts.  Our case 
is a little simpler since we never "recurse" more than one level deep.

def _finditem(obj, key):
if key in obj: return obj[key]
for k, v in obj.items():
if isinstance(v,dict):
item = _finditem(v, key)
if item is not None:
return item


This has the advantage of working with existing code and preserving as much 
information as possible in the Row object.  I have a feeling this could 
make the internals of web2py a good deal more consistent.  Less testing for 
special cases is always good!

-- Joe B.

On Tuesday, January 7, 2014 3:48:39 PM UTC-8, Anthony wrote:
>
> Note, same problem with .sort (it modifies the Row objects in 
> self.records), so we should probably fix that as well (will be a bit more 
> complicated).
>
> Anthony
>
> On Tuesday, January 7, 2014 11:03:56 AM UTC-5, Anthony wrote:
>>
>> The Rows.find() method does the following:
>>
>> for row in self:
>> if f(row):
>> if a<=k: records.append(row)
>> k += 1
>> if k==b: break
>>
>> In a Rows object, there is self.records, which is a list of Row objects. 
>> Each Row object has at least one top-level key with the table name, and the 
>> record is stored in the value associated with that key:
>>
>> 
>>
>> When .find() is called on a Rows object with compact=True, the __iter__ 
>> method (called by the "for row in self" loop) returns a transformed version 
>> of each Row object, removing the top-level table key:
>>
>> 
>>
>> I believe this is an unnecessary transformation, and it is what is 
>> subsequently causing the .render() method to fail (the .render() method 
>> expects the top-level table key to be there, whether or not compact=True). 
>> I propose the following change to .find():
>>
>> for i, row in enumerate(self):
>> if f(row):
>> if a<=k: records.append(self.records[i])
>> k += 1
>> if k==b: break
>>
>> The above code appends self.records[i] instead of row, which preserves 
>> the original Row objects instead of including transformed objects. Anyone 
>> see any problems with that change?
>>
>> Also, is there any reason all of the Rows methods (i.e., find, exclude, 
>> __and__, __or__) should not be preserving the "compact" attribute of the 
>> original Rows object? Perhaps we should change them all to do so. (Note, 
>> this is a separate issue unrelated to the above problem with .find() and 
>> .render().)
>>
>> Anthony
>>
>> On Tuesday, January 7, 2014 10:47:28 AM UTC-5, Anthony wrote:
>>>
>>> .render() works fine on Rows objects with compact=True, and it also 
>>> works fine on the results of .sort(), .exclude(), &, and | operations. The 
>>> only problem is with the results of .find() operations when the original 
>>> Rows object has compact=True. The problem is that the .find() method 
>>> modifies the Row objects in self.records when compact=True, which it 
>>> probably should not due.
>>>
>>> Aside from this issue, perhaps the various Rows methods should preserve 
>>> the "compact" attribute -- not sure why they don't.
>>>
>>> Forwarding to the developers list for discussion.
>>>
>>> Anthony
>>>
>>> On Tuesday, January 7, 2014 3:10:00 AM UTC-5, Joe Barnhart wrote:

 I've been experimenting with the render method of the Rows class, and I 
 am very impressed.  But one drawback I found is that the Rows object must 
 have its value set to "compact=False" to work properly with render().  It 
 isn't a problem if the Rows object is used directly without any operators, 
 but I discovered that many, if not most, Rows methods do not preserve the 
 "compact" setting.

 For example. if you "sort" the Rows, it leaves compact=True.  Ditto, if 
 you use "extract" or "find" on the Rows object.  The "&" and "|" operators 
 also set the compact variable to "True".  The upshot is that you can't use 
 any of these operators on the Rows object and then use "render" on the 
 resulting object.

 It is a simple change to add the preservation of the "compact" flag 
 during any of these steps, but I'm unsure if this will break existing 
 code. 
  Other than coming up with a completely parallel set of methods, which 
 leave compact set the way it came in, I can't think of another approach 
 will be provably backwards-compatible.

 Here is an example:


 def __and__(self,other):
 if self.colnames!=other.colnames:
 raise Exception('Cannot & incompatible Rows objects')
 records = self.records+other.records
 return Rows(sel

[web2py] Re: Different applications usiong same set of tables

2014-01-07 Thread Jayadevan M
Thank you. So fake_migrate=True will scan the structure defined for tables 
defined under models in the .py files and create files under databases so 
that the structure defined in the python files and in the databases folder 
are same. It wil not really connect to the database at all. 
If we set migrate=false, web2py will not do any checks at all, but 'assume' 
that the database table structure is in synch with those defined under the 
models, and issue a ticket if there are issues.
The files under database folder have no significance if migrate=False.
On Wednesday, January 8, 2014 2:18:59 AM UTC+5:30, Niphlod wrote:
>
> migrate=False prevents web2py to check if the underlying tables are in 
> sync with your model.
> you don't need to run fake_migrate=True if you're not planning on altering 
> tables on app2.
> fake_migrate=True just generates .table files according to your model, so 
> you'll get (assuming the connection string is identical) exactly the same 
> files that you can find under app1/databases/
>
> On Tuesday, January 7, 2014 12:44:10 PM UTC+1, Jayadevan M wrote:
>>
>> I have an application app1. I want to create another application - app2 
>> which will use the same set of tables as used by app1. For this, what I 
>> have to do is create a tables.py under app2/models and mention 
>> migrate=False for the common tables. Is that right? Do I have to set 
>> fake_migrate=True and ensure the table files are created under databases 
>> folder in app2? My simple tests tell me it is not necessary. Just for 
>> confirmation.
>>
>

-- 
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/groups/opt_out.


Re: [web2py] Re: intercept closing session

2014-01-07 Thread Giuseppe D'Amico
I have to  connect to a database known only at runtime, I create the  model
on the fly, but it is not thread safe, so I
thoughtthat a possible solution
could be to give to the model the name of the
session_id, but I believe that there is a better solution, how do you think
a  thing  like that should be done?


2014/1/7 Anthony 

> What exactly do you need to do?
>
>
> On Tuesday, January 7, 2014 1:39:04 PM UTC-5, Giuseppe D'Amico wrote:
>
>> what if someone does not do the logout, but for some reason the session
>> end?
>>
>>
>> 2014/1/7 Giuseppe D'Amico 
>>
>>> thanks I will do like you say
>>>
>>>
>>> 2014/1/7 Alan Etkin 
>>>
 El martes, 7 de enero de 2014 14:40:38 UTC-3, Giuseppe D'Amico escribió:

> Hi, I am new with web2py, is there a way to intercept  the closing of
> a session?
>

 You mean you want to catch a user logout from the scaffolding app?

 You could modify the user action at controllers.py so it checks wether
 the "logout" action was asked:

 def user():
 if request.args[0] == "logout":
 

 There's also the auth.settings.logout_onlogout which can be a function
 that receives auth.user as argument (undocumented) and
 auth.settings.logout_next (a URL for redirection after logout).

  --
 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 a topic in the
 Google Groups "web2py-users" group.
 To unsubscribe from this topic, visit https://groups.google.com/d/
 topic/web2py/rzS37obsTI4/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to
 web2py+un...@googlegroups.com.

 For more options, visit https://groups.google.com/groups/opt_out.

>>>
>>>
>>  --
> 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 a topic in the
> Google Groups "web2py-users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/web2py/rzS37obsTI4/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> web2py+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
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/groups/opt_out.