[web2py] Earn $1000-$2500 per month

2011-06-03 Thread rose
Earn $1000-$2500 per month
If you Register your name
You Get Sign-up bonus $5
   AND
Get $.20 cent for each referral.
Further details

http://www.earnbyforex.com/index.php?id=35678365



[web2py] Re: Authorize.net CIM XML - any experts?

2011-06-03 Thread vapirix
Brilliant. :)
Thank you, I'm going to give this a shot.

On Jun 3, 3:33 pm, howesc  wrote:
> skip the XML, use SOAP.  that's my solution:
>
>    profile_id = 42
>    merchantAuthentication={'name':api_login_id,
>                         'transactionKey':transaction_key}
>
>     from pysimplesoap.client import SoapClient
>     #@TODO: can i cache the SoapClient object?
>     client =
> SoapClient(wsdl="https://apitest.authorize.net/soap/v1/Service.asmx?WSDL";,
> exceptions=False)
>
>     cust_profile = client.GetCustomerProfile( \
>         merchantAuthentication=merchantAuthentication,
>         customerProfileId=profile_id)
>
>     return cust_profile
>
> and now your response is a dict and you can just use it.   i'm in the middle
> of an authorize.net CIM and AIM implementation, so lemme know if you have
> more questions, we can figure this out!
>
> cfh


Re: [web2py] Re: ajax run unexpected in show page

2011-06-03 Thread Stifan Kristi
thank you so much for your hint and correction, massimo, it works, now.
web2py is so cool

On Sat, Jun 4, 2011 at 9:28 AM, Massimo Di Pierro <
massimo.dipie...@gmail.com> wrote:

>  ajax('blog_like',...
>
> should be
>
>  ajax('{{=URL('blog_like.load')}}',..
>
> > hi,
> >
> > i have an ajax run unexpected in show page but not in index page, when
> > i click the ajax in show page it will return an index page, not to
> > update the value when i click like it work in index page. actually the
> > ajax code is same for index and show page.
> >
> > === show.html ===
> > 
> > 
> > 
> > {{=H1(page.title)}}
> > {{=DIV(page.content)}}
> > {{=DIV(db.blog_category[page.category_id].category)}}
> > {{=SPAN(page.like,
> > _id = 'blog_like_%s' % page.id)}}
> > {{=SPAN(T('People Like This'))}}
> > 
> > {{=A(T('Like'),
> >  _href = '#')}}
> > 
> >
> > i know it seems like i missed something in my code, did anyone know
> > which part i missed and how to solve it?
> > any hints, corrections is greatly appreciate, thank you so much in
> > advance.


Re: [web2py] vps - memory problems

2011-06-03 Thread Carlos
Thanks for all the recommendations.

But it still worries me that web2py (or uwsgi) does not automatically (a) 
cache/reuse unmodified code and (b) release memory after requests are served 
(or while idle), after each web request, and regardless of how small or big 
models actually are.

   Carlos



Re: [web2py] vps - memory problems

2011-06-03 Thread Bruno Rocha
On Fri, Jun 3, 2011 at 11:50 PM, pbreit  wrote:

> I thnk we need more guidance on how to optimize performance and memory
> consumption.


*what I am doing:*

- In models only table definitions and configuration. Avoid the use of
models for classes, functions and other objects.
- Use of submodels when your design allows you to separate table definitions
- More use of modules, specially for user defined classes, functions and
large objects
- Use of an external cache system (memcached)
- Disable session in places where it is not needed (and there's no need to
auth) session.forget()
- Avoid to load too much values in dropdown widgets and lists/grids (do
pagination, load scrolling and autocompletation)
- Serve static files outside web2py
- Do not stay with sqlite in production


Re: [web2py] vps - memory problems

2011-06-03 Thread pbreit
I thnk we need more guidance on how to optimize performance and memory 
consumption.


[web2py] Re: ajax run unexpected in show page

2011-06-03 Thread Massimo Di Pierro
 ajax('blog_like',...

should be

 ajax('{{=URL('blog_like.load')}}',..

> hi,
>
> i have an ajax run unexpected in show page but not in index page, when
> i click the ajax in show page it will return an index page, not to
> update the value when i click like it work in index page. actually the
> ajax code is same for index and show page.
>
> === show.html ===
> 
>     
> 
> {{=H1(page.title)}}
> {{=DIV(page.content)}}
> {{=DIV(db.blog_category[page.category_id].category)}}
> {{=SPAN(page.like,
>         _id = 'blog_like_%s' % page.id)}}
> {{=SPAN(T('People Like This'))}}
> 
> {{=A(T('Like'),
>      _href = '#')}}
> 
>
> i know it seems like i missed something in my code, did anyone know
> which part i missed and how to solve it?
> any hints, corrections is greatly appreciate, thank you so much in
> advance.


Re: [web2py] vps - memory problems

2011-06-03 Thread Bruno Rocha
On Fri, Jun 3, 2011 at 10:39 PM, Carlos  wrote:

> Hi guys,
>
> Many thanks for all your suggestions.
>
> Can you please confirm / correct the following? ...
>
> Does web2py load the code from all models into memory for each and every
> web request?, or does it cache/reuse the same code (as long as it does not
> change)?.
>


  if your model file resides in /models everyone in there will be loaded for
each request, so you can put some model in subfolders related to controllers
and functions and that models will only be loaded for the related functions.


>
> I know web2py executes all models for every web request, but does it
> actually *load* the code into memory as well for every single web request?.
>

Yes, every request is a separate process, every definitions will be loades
in to memory (take a look at the subfolders improvement on latest version)


>
> Furthermore, if I move code from models to modules, will web2py still
> *reload* all code into memory for every web request, or will this be
> avoided?.
>

Every module that you import on to yor application flow will be reloaded on
every request, because in every request web2py destroy& recreate the
environment (many frameworks does that)

But, you can choose if you want to put some objects in cache using web2py
cache functionality, or maybe using an external cache system as memcached.


>
> I just confirmed that by defining a very long class (without even
> instantiating it) in the default Welcome model, I can see the memory being
> consumed by the uwsgi processes while loading /welcome/default/index ...
> this does not mean any leaking on the app, right?, then what can I check in
> order to avoid all this memory leaking?.
>

avoid the use of models to define classes, put in models only constants for
configuration, create your system logic under /modules then import it when
you really need. Or go with models subfolders.


>
> Thanks again,
>
>Carlos
>
>


Re: [web2py] vps - memory problems

2011-06-03 Thread Carlos
Hi guys,

Many thanks for all your suggestions.

Can you please confirm / correct the following? ...

Does web2py load the code from all models into memory for each and every web 
request?, or does it cache/reuse the same code (as long as it does not 
change)?.

I know web2py executes all models for every web request, but does it 
actually *load* the code into memory as well for every single web request?.

Furthermore, if I move code from models to modules, will web2py still 
*reload* all code into memory for every web request, or will this be 
avoided?.

I just confirmed that by defining a very long class (without even 
instantiating it) in the default Welcome model, I can see the memory being 
consumed by the uwsgi processes while loading /welcome/default/index ... 
this does not mean any leaking on the app, right?, then what can I check in 
order to avoid all this memory leaking?.

Thanks again,

   Carlos



Re: [web2py] splitting the field values of a list:string field

2011-06-03 Thread Richard Vézina
This thread could be of some help for you :
http://groups.google.com/group/web2py/browse_thread/thread/50af0d67554c94d9/dfc30ce6fb4455eb?pli=1

I still not work again on this aspect, hopt to do it in the future...

Richard

On Fri, Jun 3, 2011 at 10:44 AM, max  wrote:

> I have the following use case.
> --
> User has to input a  unknown number of strings in a pref-defined
> format.
> eg.  a#b#c , a1#b1#c1, a2#b1#c2
>
> Currently i am using the list:string  and allow the user to directly
> add the string with a hash sign.
>
> But I would prefer to format the input like this,
>
> myfield:   name [a1]  name2 [b1] name3 [c1]  where the [] are input
> fields of a form horizontally. and the + sign of the web2py list adds
> more from the same format.
>
> For me it is ok. that everything in the myfield is saved in the |a|b|
> c| format.
>
> thanks for any ideas.
>
>
>


[web2py] ajax run unexpected in show page

2011-06-03 Thread 黄祥
hi,

i have an ajax run unexpected in show page but not in index page, when
i click the ajax in show page it will return an index page, not to
update the value when i click like it work in index page. actually the
ajax code is same for index and show page.

=== show.html ===



{{=H1(page.title)}}
{{=DIV(page.content)}}
{{=DIV(db.blog_category[page.category_id].category)}}
{{=SPAN(page.like,
_id = 'blog_like_%s' % page.id)}}
{{=SPAN(T('People Like This'))}}

{{=A(T('Like'),
 _href = '#')}}


i know it seems like i missed something in my code, did anyone know
which part i missed and how to solve it?
any hints, corrections is greatly appreciate, thank you so much in
advance.


[web2py] Re: Trapped Ajax Links (bug?)

2011-06-03 Thread Sebastian E. Ovide
tracked in http://code.google.com/p/web2py/issues/detail?id=286

On Fri, Jun 3, 2011 at 7:50 PM, Sebastian E. Ovide <
sebastian.ov...@gmail.com> wrote:

> Hi All,
>
> in the view
>
> {{=LOAD(f="seba.load",ajax=True)}}
>
> in the controller
>
> def seba():
> import random
> return dict(txt=random.random())
>
> in seba.load
>
> {{=A ('click me', _href=URL 
> ('seba.load'),cid=request 
> .cid)}}
>
>
> It works great with ajax=True, but it does'n work with
> {{=LOAD(f="seba.load",ajax_trap=True)}}
>
> when I click on the link it load the seba.load on the whole screen...
>
> any ideas ?
>
> --
> Sebastian E. Ovide
>
>
>
>


-- 
Sebastian E. Ovide


Re: [web2py] Re: BUG?: Funny Bug with LOAD;

2011-06-03 Thread Sebastian E. Ovide
tracked in http://code.google.com/p/web2py/issues/detail?id=285

On Sat, Jun 4, 2011 at 12:53 AM, Massimo Di Pierro <
massimo.dipie...@gmail.com> wrote:

> please open an issue on google code
>
> On Jun 3, 1:53 pm, "Sebastian E. Ovide" 
> wrote:
> > you are right, with ajax=True it doesn't work
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > On Fri, Jun 3, 2011 at 7:35 PM, David J.  wrote:
> > >  Let me see are you using ajax=True or False?
> >
> > > Because I am using ajax; and login page loaded in the content panel.
> >
> > > I will update my trunk now and test agian.
> >
> > > On 6/3/11 2:29 PM, Sebastian E. Ovide wrote:
> >
> > > it works for me (1.96.2)... I can see the login page in the whole
> page
> >
> > > On Fri, Jun 3, 2011 at 4:09 PM, David J.  wrote:
> >
> > >> Maybe its not a bug;
> >
> > >> But I found a strange behavior;
> >
> > >> I am using LOAD to load some views; I also use @auth.requires_login()
> >
> > >> I just saw that If I try to reload the component after the session
> expires
> > >> the component loads the login page where the component should go;
> >
> > >> Perhaps once the session expires; we should force the whole page to be
> > >> redirected?
> >
> > >> Any thoughts?
> >
> > >> Thanks.
> >
> > > --
> > > Sebastian E. Ovide
> >
> > --
> > Sebastian E. Ovide
>



-- 
Sebastian E. Ovide


[web2py] Re: web2py 1.96.1 is OUT

2011-06-03 Thread Massimo Di Pierro
please open a ticken on google code

On Jun 3, 2:40 pm, Alessandro Iob  wrote:
> I have tried the new modules import feature (from mymodule import *, looks
> for mymodule in applications/thisapp/ modules first and then in sys.path. No
> more need for local_import) and it works wonderfully on OS/X but not at all
> on Windows. Below you can find the traceback.
>
> web2py™Version 1.96.2 (2011-06-03 16:11:39)PythonPython 2.5.4:
> C:\web2py\web2py.exe
>
> Traceback (most recent call last):
>   File "gluon/restricted.py", line 184, in restricted
>   File "C:/web2py/applications/castalia/controllers/default.py" 
> , 
> line 2, in 
>   File "gluon/custom_import.py", line 280, in __call__
>   File "gluon/custom_import.py", line 125, in __call__
> ImportError: No module named selfgroup.castalia
>
> Any suggestion?
>
> Thank you


[web2py] Re: BUG?: Funny Bug with LOAD;

2011-06-03 Thread Massimo Di Pierro
please open an issue on google code

On Jun 3, 1:53 pm, "Sebastian E. Ovide" 
wrote:
> you are right, with ajax=True it doesn't work
>
>
>
>
>
>
>
>
>
> On Fri, Jun 3, 2011 at 7:35 PM, David J.  wrote:
> >  Let me see are you using ajax=True or False?
>
> > Because I am using ajax; and login page loaded in the content panel.
>
> > I will update my trunk now and test agian.
>
> > On 6/3/11 2:29 PM, Sebastian E. Ovide wrote:
>
> > it works for me (1.96.2)... I can see the login page in the whole page
>
> > On Fri, Jun 3, 2011 at 4:09 PM, David J.  wrote:
>
> >> Maybe its not a bug;
>
> >> But I found a strange behavior;
>
> >> I am using LOAD to load some views; I also use @auth.requires_login()
>
> >> I just saw that If I try to reload the component after the session expires
> >> the component loads the login page where the component should go;
>
> >> Perhaps once the session expires; we should force the whole page to be
> >> redirected?
>
> >> Any thoughts?
>
> >> Thanks.
>
> > --
> > Sebastian E. Ovide
>
> --
> Sebastian E. Ovide


[web2py] Re: web2py 1.96.1 is OUT

2011-06-03 Thread Alessandro Iob
I have tried the new modules import feature (from mymodule import *, looks 
for mymodule in applications/thisapp/ modules first and then in sys.path. No 
more need for local_import) and it works wonderfully on OS/X but not at all 
on Windows. Below you can find the traceback.
 
web2py™Version 1.96.2 (2011-06-03 16:11:39)PythonPython 2.5.4: 
C:\web2py\web2py.exe

Traceback (most recent call last):
  File "gluon/restricted.py", line 184, in restricted
  File "C:/web2py/applications/castalia/controllers/default.py" 
, 
line 2, in 
  File "gluon/custom_import.py", line 280, in __call__
  File "gluon/custom_import.py", line 125, in __call__
ImportError: No module named selfgroup.castalia


Any suggestion?

Thank you



[web2py] Re: web2py 1.96.2 is OUT & security warning

2011-06-03 Thread alexiob
I have tried the new import behavior (placing modules inside the
application's "modules" folder) and it works correctly under OS/X but
not at all under Windows (XP).

Below you can find the Windows traceback.


web2py™ Version 1.96.2 (2011-06-03 16:11:39)
Python  Python 2.5.4: C:\web2py\web2py.exe

Traceback (most recent call last):
  File "gluon/restricted.py", line 184, in restricted
  File "C:/web2py/applications/castalia/controllers/default.py", line
2, in 
  File "gluon/custom_import.py", line 280, in __call__
  File "gluon/custom_import.py", line 125, in __call__
ImportError: No module named selfgroup.castalia

Any suggestion?

> - from mymodule import *, looks for mymodule in applications/thisapp/
> modules first and then in sys.path. No more need for local_import.
> Thanks Pierre.


Re: [web2py] vps - memory problems

2011-06-03 Thread Jhonny5
On 3 June 2011 21:57, Roberto De Ioris  wrote:

>
> > Hi,
> >
> > My models are relatively big in file size (> 200 kb in total).
> >
> > Is ALL this code being loaded into memory for each web request over and
> > over
> > again, and without reusing the same files (that do not change)?.
> >
> > I'm noticing a consistent increase in memory % in each of the
> uwsgi-python
> > processes/workers for simple web requests.
> >
> > This makes me think that web2py (or uwsgi-python) is loading the code for
> > all models into memory for each web request without any caching /
> reusing,
> > and without releasing any memory from previous requests, but only
> > consuming
> > more and more memory each time.
> >
> > This means that I run out of memory after a very few requests !
> >
> > Am I not correct above?, am I doing something wrong?, is this actually
> > expected?, does this occur regardless of the web server or wsgi
> > interface?.
> >
> > On a related note, should I move everything to modules (instead of
> > models)?,
> > will this fix the memory issues?.
> >
> > How can I solve this show-stopper problem?.
> >
> >
>
> Honestly, (without knowing your app) i do no think this is a problem
> related to web2py (and for sure it is not a uWSGI as its policy is: NO
> LEAK).
>
> Probably something in your app is leaking memory, but in the mean time you
> can "patch" the problem with something like
>
> --reload-on-rss 
>
> where n is the number of megs after which a worker is restarted (freeing
> its memory). I think 200 (megs) should be enough to maintain your
> webserver healthy.
>
> --
> Roberto De Ioris
> http://unbit.it
>

Hey, take a look about this bug:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480541

Check to be sure
that you are getting real info with $ top

hope is useful for you.
Jhonny5.

-- 
Po fueno, po fale, po malegro.

talueee.com

  .,p***"*=b_
 ?P"._   `*b
|P   .d?' &,9|
M:  |}|- H'
&|   `#?_._oH'
`H.   "`"`'
  `#?.
   `^~.
Anyone can make something complicated, but it takes genius to make something
simple.

Linux User #236965 (counter.li.org)


Re: [web2py] components in related tables

2011-06-03 Thread Stifan Kristi
o, i c, thanks so much for showing my code fault, pbreit, i'll try to fix
and test it.

On Sat, Jun 4, 2011 at 5:02 AM, pbreit  wrote:

> I'm not sure exactly how your code works but I'd didn't seen an arg in this
> load:
> {{=LOAD('default', 'blog_comment_show.load', ajax = True)}}


Re: [web2py] components in related tables

2011-06-03 Thread pbreit
I'm not sure exactly how your code works but I'd didn't seen an arg in this 
load:
    {{=LOAD('default', 'blog_comment_show.load', ajax = True)}}


Re: [web2py] Re: GAE taskqueue with Web2py 1.95.1

2011-06-03 Thread Carl Roach
it was this definition:

auth.messages.verify_email
= request.env.http_host+str(URL(r=request,c='default',f='user',
args=['verify_email']))+'/%(key)s to verify your email'

which I had changed from:

auth.messages.verify_email
= request.env.http_host+URL(r=request,c='default',f='user',
args=['verify_email'])+'/%(key)s to verify your email'

when URL's return type was redefined by Web2py.

Running locally on web2py's server and the system blustered on through this
as did dev_appserver most of the time. But when dev_appserver called by
task, it stopped at this line and returned 500.

# set the QAs free I say!



On 3 June 2011 22:17, howesc  wrote:

> i'm curious about what that bug in db.py was that broke the dev_appserver.
>
> if we ever get to the point where development and production environments
> are exactly the same, think about how many QA jobs would be lost!  ;)
>
> cfh
>


[web2py] Re: clarification about upgrading web2py on ajax applications

2011-06-03 Thread Anthony
I think there were also some recent changes in some of the generic view 
files, if you happen to be using any of them.
 
Anthony

On Friday, June 3, 2011 10:33:01 AM UTC-7, sebastian wrote:

> Hi All,
>
> when I upgrade web2py I unzip the file and just run it...
>
> then I copy manually static files (to get any new JS or CSS neded by 
> web2py_ajax.html) and 
> web2py_ajax.htmlfrom
>  the welcome application into my applications.
>
> Am I missing something ?
>
> thanks
>
> -- 
> Sebastian E. Ovide
>
>
>
>
>

[web2py] Re: Authorize.net CIM XML - any experts?

2011-06-03 Thread howesc
skip the XML, use SOAP.  that's my solution:

   profile_id = 42
   merchantAuthentication={'name':api_login_id,
'transactionKey':transaction_key}


from pysimplesoap.client import SoapClient
#@TODO: can i cache the SoapClient object?
client = 
SoapClient(wsdl="https://apitest.authorize.net/soap/v1/Service.asmx?WSDL";, 
exceptions=False)

cust_profile = client.GetCustomerProfile( \
merchantAuthentication=merchantAuthentication,
customerProfileId=profile_id)

return cust_profile


and now your response is a dict and you can just use it.   i'm in the middle 
of an authorize.net CIM and AIM implementation, so lemme know if you have 
more questions, we can figure this out!

cfh


[web2py] Re: Updates and Queries strange behavior

2011-06-03 Thread Francisco
I don't think it's that (anyway I tried and no). The thing is, for
example in one part I use an insert and all values are inserted except
for the value corresponding to the column I recently added.

Any other ideas???

On 3 jun, 13:26, Massimo Di Pierro  wrote:
> db.commit()?
>
> On Jun 3, 12:19 pm, Francisco  wrote:


Re: [web2py] Re: GAE taskqueue with Web2py 1.95.1

2011-06-03 Thread howesc
i'm curious about what that bug in db.py was that broke the dev_appserver.

if we ever get to the point where development and production environments 
are exactly the same, think about how many QA jobs would be lost!  ;)

cfh


Re: [web2py] components in related tables

2011-06-03 Thread Stifan Kristi
thank you so much for your hint, pbreit, i'd already put an id on the
controller.

e.g.
page = table_0(request.args(0)) or redirect(URL(index_link))

any idea, hints or suggestion to solve this problem?
thank you so much in advance.

On Fri, Jun 3, 2011 at 9:12 PM, pbreit  wrote:

> You need to pass an I'd to show controller so it knows what comments to
> pull.


Re: [web2py] vps - memory problems

2011-06-03 Thread Roberto De Ioris

> Hi,
>
> My models are relatively big in file size (> 200 kb in total).
>
> Is ALL this code being loaded into memory for each web request over and
> over
> again, and without reusing the same files (that do not change)?.
>
> I'm noticing a consistent increase in memory % in each of the uwsgi-python
> processes/workers for simple web requests.
>
> This makes me think that web2py (or uwsgi-python) is loading the code for
> all models into memory for each web request without any caching / reusing,
> and without releasing any memory from previous requests, but only
> consuming
> more and more memory each time.
>
> This means that I run out of memory after a very few requests !
>
> Am I not correct above?, am I doing something wrong?, is this actually
> expected?, does this occur regardless of the web server or wsgi
> interface?.
>
> On a related note, should I move everything to modules (instead of
> models)?,
> will this fix the memory issues?.
>
> How can I solve this show-stopper problem?.
>
>

Honestly, (without knowing your app) i do no think this is a problem
related to web2py (and for sure it is not a uWSGI as its policy is: NO
LEAK).

Probably something in your app is leaking memory, but in the mean time you
can "patch" the problem with something like

--reload-on-rss 

where n is the number of megs after which a worker is restarted (freeing
its memory). I think 200 (megs) should be enough to maintain your
webserver healthy.

--
Roberto De Ioris
http://unbit.it


Re: [web2py] vps - memory problems

2011-06-03 Thread Bruno Rocha
On Fri, Jun 3, 2011 at 4:03 PM, Carlos  wrote:

> My models are relatively big in file size (> 200 kb in total).
>
> Is ALL this code being loaded into memory for each web request over and
> over again, and without reusing the same files (that do not change)?
>


Now you can use conditional models in subfolders ->
https://groups.google.com/forum/#!msg/web2py/IWg3nU663Gc/DcbSTlhK2zUJ


[web2py] Re: Authorize.net CIM XML - any experts?

2011-06-03 Thread vapirix
I'm using CIM, not AIM, though.

On Jun 3, 1:25 pm, Massimo Di Pierro 
wrote:
> from gluon.contrib.AuthorizeNet import process
>
> look into
>
> gluon/contrib/AuthorizeNet.py
>
> for examples
>
> On Jun 3, 12:03 pm, vapirix  wrote:
>
>
>
>
>
>
>
> > I'm attempting to test out the CIM XML method of working with
> > authorize.net, and I'm not entirely sure how to even display the
> > response I'm getting. I've tried a few tricks I know, but everything
> > is breaking. I know at this point it's gotta' be a simple thing, but
> > my unfamiliarity with python (still trying to get up to speed) is
> > rearing its ugly head. How would I display that authResponse object
> > just to see what kind of errors/values I'm getting? I've tried
> > authResponse.read and using TAG, but it's coming back in some format I
> > don't know how to deal with.
>
> > Of, even better, if anybody has used CIM XML, can they point me in
> > another direction that works? =)
>
> > Thanks, guys.
>
> >  code 
>
> >     import urllib2
>
> >     payload = '''
> >          >         "AnetApi/xml/v1/schema/AnetApiSchema.xsd">
> >         
> >         
> >         
> >         
> >         '''
>
> >     url = 'https://apitest.authorize.net/xml/v1/request.api'
>
> >     opener = urllib2.build_opener()
> >     opener.addheaders = [('Content-Type', 'text/xml'),]
>
> >     req = urllib2.Request(url=url, data=payload)
> >     assert req.get_method() == 'POST'
> >     authResponse = opener.open(req)


Re: [web2py] vps - memory problems

2011-06-03 Thread Carlos
Hi,

My models are relatively big in file size (> 200 kb in total).

Is ALL this code being loaded into memory for each web request over and over 
again, and without reusing the same files (that do not change)?.

I'm noticing a consistent increase in memory % in each of the uwsgi-python 
processes/workers for simple web requests.

This makes me think that web2py (or uwsgi-python) is loading the code for 
all models into memory for each web request without any caching / reusing, 
and without releasing any memory from previous requests, but only consuming 
more and more memory each time.

This means that I run out of memory after a very few requests !

Am I not correct above?, am I doing something wrong?, is this actually 
expected?, does this occur regardless of the web server or wsgi interface?.

On a related note, should I move everything to modules (instead of models)?, 
will this fix the memory issues?.

How can I solve this show-stopper problem?.

I'm on a vps (vps.net) with ubuntu 10.4 lts lucid, nginx, uwsgi-python, 
postgresql, latest web2py.

Thanks,

   Carlos



Re: [web2py] BUG?: Funny Bug with LOAD;

2011-06-03 Thread Sebastian E. Ovide
you are right, with ajax=True it doesn't work

On Fri, Jun 3, 2011 at 7:35 PM, David J.  wrote:

>  Let me see are you using ajax=True or False?
>
> Because I am using ajax; and login page loaded in the content panel.
>
> I will update my trunk now and test agian.
>
>
>
>
> On 6/3/11 2:29 PM, Sebastian E. Ovide wrote:
>
> it works for me (1.96.2)... I can see the login page in the whole page
>
> On Fri, Jun 3, 2011 at 4:09 PM, David J.  wrote:
>
>> Maybe its not a bug;
>>
>> But I found a strange behavior;
>>
>> I am using LOAD to load some views; I also use @auth.requires_login()
>>
>> I just saw that If I try to reload the component after the session expires
>> the component loads the login page where the component should go;
>>
>> Perhaps once the session expires; we should force the whole page to be
>> redirected?
>>
>> Any thoughts?
>>
>> Thanks.
>>
>>
>>
>>
>
>
> --
> Sebastian E. Ovide
>
>
>
>
>
>


-- 
Sebastian E. Ovide


Re: [web2py] Re: Inserting records using DAL outside of web2py

2011-06-03 Thread Jim Steil
Without respecifying the validators is there a way to get them 
imported?  This seems to be a fairly significant hole.  Is there 
something I'm missing?


-Jim

On 6/3/2011 1:26 PM, Massimo Di Pierro wrote:

Mind that DAL(...,auto_import=True) does NOT import validators.

On Jun 3, 12:13 pm, "j...@qlf.com"  wrote:

Perfect, thanks!

From: web2py@googlegroups.com [mailto:web2py@googlegroups.com] On Behalf Of 
Ross Peoples
Sent: Friday, June 03, 2011 12:11 PM
To: web2py@googlegroups.com
Subject: [web2py] Re: Inserting records using DAL outside of web2py

Setting requires only performs validation with CRUD and SQLFORM. Doing a direct 
insert does not cause validation to be checked. Try using validate_and_insert() 
instead of insert().


--
Jim Steil
VP of Information Technology
Quality Liquid Feeds, Inc.
608.935.2345 office
608.341.9896 cell


[web2py] Trapped Ajax Links (bug?)

2011-06-03 Thread Sebastian E. Ovide
Hi All,

in the view

{{=LOAD(f="seba.load",ajax=True)}}

in the controller

def seba():
import random
return dict(txt=random.random())

in seba.load

{{=A ('click me',
_href=URL 
('seba.load'),cid=request
.cid)}}


It works great with ajax=True, but it does'n work with
{{=LOAD(f="seba.load",ajax_trap=True)}}

when I click on the link it load the seba.load on the whole screen...

any ideas ?

-- 
Sebastian E. Ovide


[web2py] Re: BUG?: Funny Bug with LOAD;

2011-06-03 Thread Massimo Di Pierro
I did not change aout thing between 1.96.1 and 1.96.2 but I cannot yet
confirm the problem.

On Jun 3, 1:35 pm, "David J."  wrote:
> Let me see are you using ajax=True or False?
>
> Because I am using ajax; and login page loaded in the content panel.
>
> I will update my trunk now and test agian.
>
> On 6/3/11 2:29 PM, Sebastian E. Ovide wrote:
>
>
>
>
>
>
>
> > it works for me (1.96.2)... I can see the login page in the whole page
>
> > On Fri, Jun 3, 2011 at 4:09 PM, David J.  > > wrote:
>
> >     Maybe its not a bug;
>
> >     But I found a strange behavior;
>
> >     I am using LOAD to load some views; I also use @auth.requires_login()
>
> >     I just saw that If I try to reload the component after the session
> >     expires the component loads the login page where the component
> >     should go;
>
> >     Perhaps once the session expires; we should force the whole page
> >     to be redirected?
>
> >     Any thoughts?
>
> >     Thanks.
>
> > --
> > Sebastian E. Ovide


Re: [web2py] BUG?: Funny Bug with LOAD;

2011-06-03 Thread David J.

Let me see are you using ajax=True or False?

Because I am using ajax; and login page loaded in the content panel.

I will update my trunk now and test agian.



On 6/3/11 2:29 PM, Sebastian E. Ovide wrote:

it works for me (1.96.2)... I can see the login page in the whole page

On Fri, Jun 3, 2011 at 4:09 PM, David J. > wrote:


Maybe its not a bug;

But I found a strange behavior;

I am using LOAD to load some views; I also use @auth.requires_login()

I just saw that If I try to reload the component after the session
expires the component loads the login page where the component
should go;

Perhaps once the session expires; we should force the whole page
to be redirected?

Any thoughts?

Thanks.






--
Sebastian E. Ovide








Re: [web2py] BUG?: Funny Bug with LOAD;

2011-06-03 Thread Sebastian E. Ovide
it works for me (1.96.2)... I can see the login page in the whole page

On Fri, Jun 3, 2011 at 4:09 PM, David J.  wrote:

> Maybe its not a bug;
>
> But I found a strange behavior;
>
> I am using LOAD to load some views; I also use @auth.requires_login()
>
> I just saw that If I try to reload the component after the session expires
> the component loads the login page where the component should go;
>
> Perhaps once the session expires; we should force the whole page to be
> redirected?
>
> Any thoughts?
>
> Thanks.
>
>
>
>


-- 
Sebastian E. Ovide


[web2py] Re: clarification about upgrading web2py on ajax applications

2011-06-03 Thread Massimo Di Pierro
Yes. The new wb2py_ajax.html imports static/js/web2py_ajax.js

Massimo

On Jun 3, 12:33 pm, "Sebastian E. Ovide" 
wrote:
> Hi All,
>
> when I upgrade web2py I unzip the file and just run it...
>
> then I copy manually static files (to get any new JS or CSS neded by
> web2py_ajax.html) and
> web2py_ajax.htmlfrom
> the welcome application into my applications.
>
> Am I missing something ?
>
> thanks
>
> --
> Sebastian E. Ovide


[web2py] Re: Updates and Queries strange behavior

2011-06-03 Thread Massimo Di Pierro
db.commit()?

On Jun 3, 12:19 pm, Francisco  wrote:
> Hi everyone
>
> I have a strange issue with web2py and a mysql db. So far I always
> developed locally in my computer and only uploaded code once
> development was done, and only small modifications were made then. But
> right now I have an app that I'm working on a web server. I have been
> able to add views and controller with no problem. But yesterday I need
> to add a new field to two tables of the db. So I modified the db.py to
> add this fields. The applications is still working. I have forms to
> fill this new fields, and they appear to work, but once you try to
> read them they return None.
>
> I then connected through phpmyadmin and observed that the new columns
> of the db are there, but that the information is not. The thing is
> that web2py raises no exception or error. Can you please help me
> figure out what could possibly be wrong?
>
> By the way all coding has been done through ssh with a command line
> editor, so I was wondering if maybe the web browser interfaces updates
> some other configuration files when the db is modified. Could this be
> the problem?
>
> Thank you.


[web2py] Re: Inserting records using DAL outside of web2py

2011-06-03 Thread Massimo Di Pierro
Mind that DAL(...,auto_import=True) does NOT import validators.

On Jun 3, 12:13 pm, "j...@qlf.com"  wrote:
> Perfect, thanks!
>
> From: web2py@googlegroups.com [mailto:web2py@googlegroups.com] On Behalf Of 
> Ross Peoples
> Sent: Friday, June 03, 2011 12:11 PM
> To: web2py@googlegroups.com
> Subject: [web2py] Re: Inserting records using DAL outside of web2py
>
> Setting requires only performs validation with CRUD and SQLFORM. Doing a 
> direct insert does not cause validation to be checked. Try using 
> validate_and_insert() instead of insert().


[web2py] Re: Authorize.net CIM XML - any experts?

2011-06-03 Thread Massimo Di Pierro
from gluon.contrib.AuthorizeNet import process

look into

gluon/contrib/AuthorizeNet.py

for examples

On Jun 3, 12:03 pm, vapirix  wrote:
> I'm attempting to test out the CIM XML method of working with
> authorize.net, and I'm not entirely sure how to even display the
> response I'm getting. I've tried a few tricks I know, but everything
> is breaking. I know at this point it's gotta' be a simple thing, but
> my unfamiliarity with python (still trying to get up to speed) is
> rearing its ugly head. How would I display that authResponse object
> just to see what kind of errors/values I'm getting? I've tried
> authResponse.read and using TAG, but it's coming back in some format I
> don't know how to deal with.
>
> Of, even better, if anybody has used CIM XML, can they point me in
> another direction that works? =)
>
> Thanks, guys.
>
>  code 
>
>     import urllib2
>
>     payload = '''
>                  "AnetApi/xml/v1/schema/AnetApiSchema.xsd">
>         
>         
>         
>         
>         '''
>
>     url = 'https://apitest.authorize.net/xml/v1/request.api'
>
>     opener = urllib2.build_opener()
>     opener.addheaders = [('Content-Type', 'text/xml'),]
>
>     req = urllib2.Request(url=url, data=payload)
>     assert req.get_method() == 'POST'
>     authResponse = opener.open(req)


[web2py] Re: web2py 1.96.2 is OUT & security warning

2011-06-03 Thread Massimo Di Pierro
anywhere you like:

response.headers['Content-Type']='test/html'

On Jun 3, 11:35 am, "David J."  wrote:
> Where do we set the response headers?
>
> On 6/3/11 12:17 PM, GoldenTiger wrote:
>
>
>
>
>
>
>
> > Very good security upgrade
>
> > About conditional models, what are they exactly?
>
> > On 3 jun, 17:23, Massimo Di Pierro  wrote:
> >> We fixed a few more bugs (strangely most of them preexisting 1.96.1).
> >> We also addressed two security issues as I will explain later in this
> >> email:
>
> >> here is am reporting the 1.96.1 changelog with some additions
>
> >> Changelog:
> >> - "from gluon import *" imports in every python module a web2py
> >> environment (A, DIV,..SQLFORM, DAL, Field,...) including
> >> current.request, current.response, current.session, current.T,
> >> current.cache, thanks Jonathan.
> >> - conditional models in
> >>    models//a.py and models///a.py
> >> - from mymodule import *, looks for mymodule in applications/thisapp/
> >> modules first and then in sys.path. No more need for local_import.
> >> Thanks Pierre.
> >> - usage of generic.* views is - by default - restricted to localhost
> >> for security. This can be changed in a granular way with:
> >> response.generic_patterns=['*']. This is a slight change of behavior
> >> for new app but a major security fix.
> >> - all applications have cas 2.0 provider athttp://.../user/cas/login
> >> - all applications can delegate to login to external provider
> >> Auth(...,cas_provider='http://.../other_app/default/user/cas')
> >> - A(...,callback=URL(...),larget='id') does Ajax
> >> - URL(...,user_signature=True), LOAD(...,user_signature=True) can
> >> sign
> >> urls and @auth.requires_signature() will check the signature for any
> >> decorated action.
> >> - DAL(...,migrate_enabled=False) to disable all migrations
> >> - DAL(...,fake_migrate_all=True) to rebuild all corrupted metadata
> >> - new DAL metadata format (databases/*.table)
> >> - DAL(...,adapter_arg={}) allows support for alternate drivers
> >> - DAL now allows circular table defintions
> >> - DAL(..,auto_import=True) automatically imports tables from metadata
> >> without need to db.define_table(...)s.
> >> - new alterante syntax for inner joins: db(...).select(join=...)
> >> - experimental cubrid database support
> >> - DAL 'request_tenant' fields are special, the altomatically filer
> >> all
> >> records based on their default value.
> >> - db._common_fields.append(Field('owner')) allows to add fields to
> >> ALL
> >> tables
> >> - DAL ignores repeated fields with same names
> >> - web2py_ajax.html is more modular, thanks Anthony
> >> - request.is_local
> >> - request.is_http
> >> - new sessions2trash.py thanks Jim Karsten
> >> - corrupted cache files are automatically deleted
> >> - new simpler API gluon.contrib.AuthorizeNet.procss(...)
> >> - fixed recaptcha (as they released new API)
> >> - messages in validators have default internationalization
> >> - No more Auth(globals(),db), just Auth(db). Same for Crud and
> >> Service.
> >> - scripts/access.wsgi allows apache+mod_wsgi to delegate
> >> authentication of any URL to any web2py app
> >> - json now supports T(...)
> >> - scripts/setup-web2py-nginx-uwsgi-ubuntu.sh
> >> - web2py HTTP responses now set: "X-Powered-By: web2py", thanks Bruno
> >> - mostly fixed generic.pdf. You can view any page in PDF if you have
> >> pdflatex installed or if your html follows the pyfpdf convention.
> >> - auth.settings.extra_fields['auth_user'].append(Field('country'))
> >> allows to extend auth_* tables without need of definiting a custom
> >> auth_* table. Must be placed before auth.define_tables()
> >> - {{=response.toolbar()}} to help you debug applications
> >> - web based shell now supports object modifications (but no
> >> redefinitions of non-serializable types)
> >> - jQuery 1.6.1
> >> - more secure uuid function to protect sessions form cryptographic
> >> attacks
> >> - auto logout of appadmin
> >> - Lots of bug fixes
>
> >> ## Security wanring
>
> >> This release fixes two security issues:
>
> >> 1) web2py used random to generate uuid. This is mostly fine but it was
> >> technically possible for an attacker to retrieve a lot of session
> >> uuids, extrapolate information about the pseudo-random-generator and
> >> use the information to guess somebody else's session. Our new
> >> contributor and security expert David Wager, spotted this problem and
> >> suggested rewriting the web2py uuid function used for generating
> >> session names. The new function uses /dev/urandom as entropy source
> >> and falls back to the old method when the entropy source is not
> >> available, issuing a warning.
>
> >> 2) appadmin uses admin authentication but failed to detect expires
> >> sessions (60minutes). This has now been corrected.


[web2py] clarification about upgrading web2py on ajax applications

2011-06-03 Thread Sebastian E. Ovide
Hi All,

when I upgrade web2py I unzip the file and just run it...

then I copy manually static files (to get any new JS or CSS neded by
web2py_ajax.html) and
web2py_ajax.htmlfrom
the welcome application into my applications.

Am I missing something ?

thanks

-- 
Sebastian E. Ovide


[web2py] Re : Re: Social network plug-in

2011-06-03 Thread François
I have asked some of these questions on Stackoverflow, because it also 
concerns Python. I have received interesting answers : 
http://stackoverflow.com/questions/6230117/python-reduce-function-and-operator
 
François


[web2py] Updates and Queries strange behavior

2011-06-03 Thread Francisco
Hi everyone

I have a strange issue with web2py and a mysql db. So far I always
developed locally in my computer and only uploaded code once
development was done, and only small modifications were made then. But
right now I have an app that I'm working on a web server. I have been
able to add views and controller with no problem. But yesterday I need
to add a new field to two tables of the db. So I modified the db.py to
add this fields. The applications is still working. I have forms to
fill this new fields, and they appear to work, but once you try to
read them they return None.

I then connected through phpmyadmin and observed that the new columns
of the db are there, but that the information is not. The thing is
that web2py raises no exception or error. Can you please help me
figure out what could possibly be wrong?

By the way all coding has been done through ssh with a command line
editor, so I was wondering if maybe the web browser interfaces updates
some other configuration files when the db is modified. Could this be
the problem?

Thank you.


RE: [web2py] Re: Inserting records using DAL outside of web2py

2011-06-03 Thread j...@qlf.com
Perfect, thanks!





From: web2py@googlegroups.com [mailto:web2py@googlegroups.com] On Behalf Of 
Ross Peoples
Sent: Friday, June 03, 2011 12:11 PM
To: web2py@googlegroups.com
Subject: [web2py] Re: Inserting records using DAL outside of web2py



Setting requires only performs validation with CRUD and SQLFORM. Doing a direct 
insert does not cause validation to be checked. Try using validate_and_insert() 
instead of insert().





Re: [web2py] Error With Plugin Wiki

2011-06-03 Thread joseph simpson
Martin:

Thanks for the pointer.

I installed the latest version and it works now..

Take care..

On Fri, Jun 3, 2011 at 3:12 AM, Martín Mulone wrote:

> You have the last web2py installed?
>
>
> 2011/6/3 joseph simpson 
>
>> I am just starting to use the plugin wiki.
>>
>> Simple text pages appear to work, but the jqgrid component gives the error
>> documented in the attached screen shot.
>>
>> Any ideas on what I am doing wrong?
>>
>> Thanks for your help,
>>
>> Joe
>>
>> --
>> Joe Simpson
>>
>> Sent From My DROID!!
>>
>
>
>
> --
>  http://martin.tecnodoc.com.ar
>
>


-- 
Joe Simpson

Sent From My DROID!!


[web2py] Re: Inserting records using DAL outside of web2py

2011-06-03 Thread Ross Peoples
Setting requires only performs validation with CRUD and SQLFORM. Doing a 
direct insert does not cause validation to be checked. Try using 
validate_and_insert() instead of insert().

Re: [web2py] Re: web2py 1.96.2 is OUT & security warning

2011-06-03 Thread Bruno Rocha
On Fri, Jun 3, 2011 at 1:17 PM, GoldenTiger  wrote:

> Very good security upgrade
>
> About conditional models, what are they exactly?
>


user requests http://127.0.0.1:8000/app and all python files under
app/models folder will be executed, this is not always necessary, because
not all your controllers will need to use objects defined in all models, so
you end up with more objects in memory than you really need.

*Now with conditional models:*

request http://127.0.0.1:8000/app/default/ -> all models under
app/models folders will be executed. also all files under app/models/default

request http://127.0.0.1:8000/app/anothercontroller/ -> all models
under app/models folders will be executed. also all files under
app/models/anothercontroller

request http://127.0.0.1:8000/app/default/home.html -> all models under
app/models + all models under app/models/default + all models under
app/models/default/home

Practically your simple contact page no need to load all models to simply
shows a contact form.

requesting: http://127.0.0.1:8000/app/default/contact will execute all
models under app/models (try to let just global access objects defined
there), also all models under app/models/default (only default.py controller
commom objects) and also all models in app/default/contact (specific objects
for contact page, i.e: define the contact_table, load lists to populate
dropboxes, maps etc..)

I hope it explains how it works.

Bruno Rocha
http://blouweb.com
http://CursoDePython.com.br


[web2py] Authorize.net CIM XML - any experts?

2011-06-03 Thread vapirix
I'm attempting to test out the CIM XML method of working with
authorize.net, and I'm not entirely sure how to even display the
response I'm getting. I've tried a few tricks I know, but everything
is breaking. I know at this point it's gotta' be a simple thing, but
my unfamiliarity with python (still trying to get up to speed) is
rearing its ugly head. How would I display that authResponse object
just to see what kind of errors/values I'm getting? I've tried
authResponse.read and using TAG, but it's coming back in some format I
don't know how to deal with.

Of, even better, if anybody has used CIM XML, can they point me in
another direction that works? =)

Thanks, guys.

 code 

import urllib2

payload = '''





'''

url = 'https://apitest.authorize.net/xml/v1/request.api'

opener = urllib2.build_opener()
opener.addheaders = [('Content-Type', 'text/xml'),]

req = urllib2.Request(url=url, data=payload)
assert req.get_method() == 'POST'
authResponse = opener.open(req)



[web2py] Inserting records using DAL outside of web2py

2011-06-03 Thread j...@qlf.com
Hi



I'm using DAL outside of web2py with the following code:



import sys

sys.path.append('w:/web2py/library.zip')

from gluon import DAL

db = 
DAL('mysql://root:98lkjdfa@asdf09/ic2',folder='w:/web2py/applications/InfoCenter/databases',
 auto_import=True)



print db.tables



rows = db().select(db.auth_user.ALL)



for row in rows:

print row.first_name, row.last_name



result = db.auth_user.insert(first_name='Stephen', last_name='Jones')

print result

db.commit()



The definition of my auth_user table is:



auth_user = db.define_table(

auth.settings.table_user_name,

Field('first_name', length=128, default='', required=True),

Field('last_name', length=128, default='', required=True),

Field('email', length=128, unique=True, required=True),

Field('password', 'password', length=512,

readable=False, label='Password'),

Field('registration_key', length=512,

writable=False, readable=False, default=''),

Field('reset_password_key', length=512,

writable=False, readable=False, default=''),

Field('registration_id', length=512,

writable=False, readable=False, default=''),

Field('brillLogon', length=10, default='', label='Brill Logon'),

Field('technician', 'boolean', default=False))



auth_user.first_name.requires = 
IS_NOT_EMPTY(error_message=auth.messages.is_empty)

auth_user.last_name.requires = 
IS_NOT_EMPTY(error_message=auth.messages.is_empty)

auth_user.password.requires = [IS_STRONG(), CRYPT()]

auth_user.email.requires = [IS_EMAIL(error_message=auth.messages.invalid_email),

IS_NOT_IN_DB(db, auth_user.email),

IS_NOT_EMPTY(error_message=auth.messages.is_empty)]

auth.settings.table_user = auth_user



I'm confused because it is allowing me to insert a row without and email even 
though I'm telling it that email should not be empty and that it is required.  
What am I missing?



-Jim







Re: [web2py] Re: web2py 1.96.2 is OUT & security warning

2011-06-03 Thread David J.

Where do we set the response headers?



On 6/3/11 12:17 PM, GoldenTiger wrote:

Very good security upgrade

About conditional models, what are they exactly?

On 3 jun, 17:23, Massimo Di Pierro  wrote:

We fixed a few more bugs (strangely most of them preexisting 1.96.1).
We also addressed two security issues as I will explain later in this
email:

here is am reporting the 1.96.1 changelog with some additions

Changelog:
- "from gluon import *" imports in every python module a web2py
environment (A, DIV,..SQLFORM, DAL, Field,...) including
current.request, current.response, current.session, current.T,
current.cache, thanks Jonathan.
- conditional models in
   models//a.py and models///a.py
- from mymodule import *, looks for mymodule in applications/thisapp/
modules first and then in sys.path. No more need for local_import.
Thanks Pierre.
- usage of generic.* views is - by default - restricted to localhost
for security. This can be changed in a granular way with:
response.generic_patterns=['*']. This is a slight change of behavior
for new app but a major security fix.
- all applications have cas 2.0 provider athttp://.../user/cas/login
- all applications can delegate to login to external provider
Auth(...,cas_provider='http://.../other_app/default/user/cas')
- A(...,callback=URL(...),larget='id') does Ajax
- URL(...,user_signature=True), LOAD(...,user_signature=True) can
sign
urls and @auth.requires_signature() will check the signature for any
decorated action.
- DAL(...,migrate_enabled=False) to disable all migrations
- DAL(...,fake_migrate_all=True) to rebuild all corrupted metadata
- new DAL metadata format (databases/*.table)
- DAL(...,adapter_arg={}) allows support for alternate drivers
- DAL now allows circular table defintions
- DAL(..,auto_import=True) automatically imports tables from metadata
without need to db.define_table(...)s.
- new alterante syntax for inner joins: db(...).select(join=...)
- experimental cubrid database support
- DAL 'request_tenant' fields are special, the altomatically filer
all
records based on their default value.
- db._common_fields.append(Field('owner')) allows to add fields to
ALL
tables
- DAL ignores repeated fields with same names
- web2py_ajax.html is more modular, thanks Anthony
- request.is_local
- request.is_http
- new sessions2trash.py thanks Jim Karsten
- corrupted cache files are automatically deleted
- new simpler API gluon.contrib.AuthorizeNet.procss(...)
- fixed recaptcha (as they released new API)
- messages in validators have default internationalization
- No more Auth(globals(),db), just Auth(db). Same for Crud and
Service.
- scripts/access.wsgi allows apache+mod_wsgi to delegate
authentication of any URL to any web2py app
- json now supports T(...)
- scripts/setup-web2py-nginx-uwsgi-ubuntu.sh
- web2py HTTP responses now set: "X-Powered-By: web2py", thanks Bruno
- mostly fixed generic.pdf. You can view any page in PDF if you have
pdflatex installed or if your html follows the pyfpdf convention.
- auth.settings.extra_fields['auth_user'].append(Field('country'))
allows to extend auth_* tables without need of definiting a custom
auth_* table. Must be placed before auth.define_tables()
- {{=response.toolbar()}} to help you debug applications
- web based shell now supports object modifications (but no
redefinitions of non-serializable types)
- jQuery 1.6.1
- more secure uuid function to protect sessions form cryptographic
attacks
- auto logout of appadmin
- Lots of bug fixes

## Security wanring

This release fixes two security issues:

1) web2py used random to generate uuid. This is mostly fine but it was
technically possible for an attacker to retrieve a lot of session
uuids, extrapolate information about the pseudo-random-generator and
use the information to guess somebody else's session. Our new
contributor and security expert David Wager, spotted this problem and
suggested rewriting the web2py uuid function used for generating
session names. The new function uses /dev/urandom as entropy source
and falls back to the old method when the entropy source is not
available, issuing a warning.

2) appadmin uses admin authentication but failed to detect expires
sessions (60minutes). This has now been corrected.




[web2py] Re: LOAD: ajax_trap errors... (still in 1.96.1)

2011-06-03 Thread ron_m
Verified fixed in 1.96.2


[web2py] Re: web2py 1.96.2 is OUT & security warning

2011-06-03 Thread GoldenTiger
Very good security upgrade

About conditional models, what are they exactly?

On 3 jun, 17:23, Massimo Di Pierro  wrote:
> We fixed a few more bugs (strangely most of them preexisting 1.96.1).
> We also addressed two security issues as I will explain later in this
> email:
>
> here is am reporting the 1.96.1 changelog with some additions
>
> Changelog:
> - "from gluon import *" imports in every python module a web2py
> environment (A, DIV,..SQLFORM, DAL, Field,...) including
> current.request, current.response, current.session, current.T,
> current.cache, thanks Jonathan.
> - conditional models in
>   models//a.py and models///a.py
> - from mymodule import *, looks for mymodule in applications/thisapp/
> modules first and then in sys.path. No more need for local_import.
> Thanks Pierre.
> - usage of generic.* views is - by default - restricted to localhost
> for security. This can be changed in a granular way with:
> response.generic_patterns=['*']. This is a slight change of behavior
> for new app but a major security fix.
> - all applications have cas 2.0 provider athttp://.../user/cas/login
> - all applications can delegate to login to external provider
> Auth(...,cas_provider='http://.../other_app/default/user/cas')
> - A(...,callback=URL(...),larget='id') does Ajax
> - URL(...,user_signature=True), LOAD(...,user_signature=True) can
> sign
> urls and @auth.requires_signature() will check the signature for any
> decorated action.
> - DAL(...,migrate_enabled=False) to disable all migrations
> - DAL(...,fake_migrate_all=True) to rebuild all corrupted metadata
> - new DAL metadata format (databases/*.table)
> - DAL(...,adapter_arg={}) allows support for alternate drivers
> - DAL now allows circular table defintions
> - DAL(..,auto_import=True) automatically imports tables from metadata
> without need to db.define_table(...)s.
> - new alterante syntax for inner joins: db(...).select(join=...)
> - experimental cubrid database support
> - DAL 'request_tenant' fields are special, the altomatically filer
> all
> records based on their default value.
> - db._common_fields.append(Field('owner')) allows to add fields to
> ALL
> tables
> - DAL ignores repeated fields with same names
> - web2py_ajax.html is more modular, thanks Anthony
> - request.is_local
> - request.is_http
> - new sessions2trash.py thanks Jim Karsten
> - corrupted cache files are automatically deleted
> - new simpler API gluon.contrib.AuthorizeNet.procss(...)
> - fixed recaptcha (as they released new API)
> - messages in validators have default internationalization
> - No more Auth(globals(),db), just Auth(db). Same for Crud and
> Service.
> - scripts/access.wsgi allows apache+mod_wsgi to delegate
> authentication of any URL to any web2py app
> - json now supports T(...)
> - scripts/setup-web2py-nginx-uwsgi-ubuntu.sh
> - web2py HTTP responses now set: "X-Powered-By: web2py", thanks Bruno
> - mostly fixed generic.pdf. You can view any page in PDF if you have
> pdflatex installed or if your html follows the pyfpdf convention.
> - auth.settings.extra_fields['auth_user'].append(Field('country'))
> allows to extend auth_* tables without need of definiting a custom
> auth_* table. Must be placed before auth.define_tables()
> - {{=response.toolbar()}} to help you debug applications
> - web based shell now supports object modifications (but no
> redefinitions of non-serializable types)
> - jQuery 1.6.1
> - more secure uuid function to protect sessions form cryptographic
> attacks
> - auto logout of appadmin
> - Lots of bug fixes
>
> ## Security wanring
>
> This release fixes two security issues:
>
> 1) web2py used random to generate uuid. This is mostly fine but it was
> technically possible for an attacker to retrieve a lot of session
> uuids, extrapolate information about the pseudo-random-generator and
> use the information to guess somebody else's session. Our new
> contributor and security expert David Wager, spotted this problem and
> suggested rewriting the web2py uuid function used for generating
> session names. The new function uses /dev/urandom as entropy source
> and falls back to the old method when the entropy source is not
> available, issuing a warning.
>
> 2) appadmin uses admin authentication but failed to detect expires
> sessions (60minutes). This has now been corrected.


Re: [web2py] vps - memory problems

2011-06-03 Thread Carlos
Thanks Roberto.

I can now see all options for uwsgi (including the one you mention for 
memory-report) here:

http://projects.unbit.it/uwsgi/wiki/Doc

Thanks again,

   Carlos



Re: [web2py] Re: Noob - Using DAL outside of web2py

2011-06-03 Thread Bruno Rocha
Dont forget to run latest 1.96.2 version...
Em 03/06/2011 12:28, "Massimo Di Pierro" 
escreveu:
> no, please do not use exec_environment.
>
> from gluon import DAL
> db = DAL('sqlite://',folder='/your/app/
> databases',auto_import=True)
>
> print db.tables
>
>
>
> On Jun 3, 9:27 am, "j...@qlf.com"  wrote:
>> Hi
>>
>> Just starting with web2py.  I've been using TurboGears (w/ SQLObject) for
many years and am excited about the things that web2py has to offer.  On to
my question...
>>
>> I have a need to use the DAL outside of web2py.  I found the following in
the manual...
>>
>> from gluon.shell import exec_environment
>> cas = exec_environment('applications/cas/models/db.py')
>> rows = cas.db().select(cas.db.user.ALL)
>>
>> I've modified it a bit and came up with...
>>
>> import sys
>>
>> sys.path.append('w:/web2py/library.zip')
>>
>> from gluon.shell import exec_environment
>>
>> ic = exec_environment('/applications/InfoCenter/models/db.py')
>>
>> rows = ic.db().select(ic.db.auth_user.ALL)
>>
>> for row in rows:
>>
>> print row
>>
>> ...but am getting the following:
>>
>> Traceback (most recent call last):
>>
>>   File "C:/dev/miscellaneous/playground/dalOutside.py", line 4, in

>>
>> ic = exec_environment('/applications/InfoCenter/models/db.py')
>>
>>   File "gluon/shell.py", line 60, in exec_environment
>>
>>   File "gluon/compileapp.py", line 230, in build_environment
>>
>>   File "gluon/cache.py", line 371, in __init__
>>
>>   File "gluon/cache.py", line 229, in __init__
>>
>> WindowsError: [Error 3] The system cannot find the path specified:
'applications\\InfoCenter\\cache'
>>
>> Any clues to what I should be looking at?
>>
>> Thanks!
>>
>> -Jim


[web2py] Re: Bug with "list:string" in gae

2011-06-03 Thread Massimo Di Pierro
Can you please open a ticket on google code?

On Jun 3, 10:16 am, Luciano  wrote:
> There is a problem of encoding, to write data to fields of type
> "list:string" in gae.
>
> When we have a field of type "list: string" and try to write data in
> this field, the method represents web2py run () class NoSQLAdapter (),
> is present in web2py/gluon/dal.py, and str (x) in line 2633. However
> the environment gae (SDK), will run unicode (value). encode ('utf-8')
>
> Look at the example:
>
> # In web2py>>> def w2p(x):
>
> ...      """
> ...      executed in the method represent()
> ...      """
> ...      return str(x)
>
> # In gae>>> def gae(value):
>
> ...      """
> ...      Implemented in gae before saving
> ...      """
> ...      return unicode(value).encode('utf-8')
>
> Thus, the instructions will cause an error when we try to enter
> accented characters in this field, no matter how we send data to write
> in this field. The errors presented are:
>
> Example 1 - error in gae():>>> x = 'ãé'
> >>> value = w2p(x)
> >>> gae(value)
>
> Traceback (most recent call last):
>   File "", line 1, in 
>   File "", line 3, in gae
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position
> 0: ordinal not in range(128)
>
> Example 2 - error in web2py:>>> x = 'ãé'
> >>> x = 'ãé'.decode('utf-8')
> >>> value = w2p(x)
>
> Traceback (most recent call last):
>   File "", line 1, in 
>   File "", line 6, in w2p
> UnicodeEncodeError: 'ascii' codec can't encode characters in position
> 0-1: ordinal not in range(128)


RE: [web2py] Re: Noob - Using DAL outside of web2py

2011-06-03 Thread j...@qlf.com
Thanks much for the info.  Being new to web2py I don't have a feel for how 
things happen in the community.  I just purchased/printed the book/manual and 
found this recipe under Core | Execution Environment.  I know that I'm using a 
brand new release.  How often do you update the manual?  Are there other 
resources I should be looking at to get started?

Not complaining at all, loving the capabilities of the tool and the fact that 
it is documented at all.

-Jim


-Original Message-
From: web2py@googlegroups.com [mailto:web2py@googlegroups.com] On Behalf Of 
Massimo Di Pierro
Sent: Friday, June 03, 2011 10:29 AM
To: web2py-users
Subject: [web2py] Re: Noob - Using DAL outside of web2py

no, please do not use exec_environment.

from gluon import DAL
db = DAL('sqlite://',folder='/your/app/
databases',auto_import=True)

print db.tables



On Jun 3, 9:27 am, "j...@qlf.com"  wrote:
> Hi
>
> Just starting with web2py.  I've been using TurboGears (w/ SQLObject) for 
> many years and am excited about the things that web2py has to offer.  On to 
> my question...
>
> I have a need to use the DAL outside of web2py.  I found the following in the 
> manual...
>
> from gluon.shell import exec_environment
> cas = exec_environment('applications/cas/models/db.py')
> rows = cas.db().select(cas.db.user.ALL)
>
> I've modified it a bit and came up with...
>
> import sys
>
> sys.path.append('w:/web2py/library.zip')
>
> from gluon.shell import exec_environment
>
> ic = exec_environment('/applications/InfoCenter/models/db.py')
>
> rows = ic.db().select(ic.db.auth_user.ALL)
>
> for row in rows:
>
>     print row
>
> ...but am getting the following:
>
> Traceback (most recent call last):
>
>   File "C:/dev/miscellaneous/playground/dalOutside.py", line 4, in 
>
>     ic = exec_environment('/applications/InfoCenter/models/db.py')
>
>   File "gluon/shell.py", line 60, in exec_environment
>
>   File "gluon/compileapp.py", line 230, in build_environment
>
>   File "gluon/cache.py", line 371, in __init__
>
>   File "gluon/cache.py", line 229, in __init__
>
> WindowsError: [Error 3] The system cannot find the path specified: 
> 'applications\\InfoCenter\\cache'
>
> Any clues to what I should be looking at?
>
> Thanks!
>
>                 -Jim





Re: [web2py] web2py 1.96.2 is OUT & security warning

2011-06-03 Thread Praneeth Bodduluri
Updated on pypi

--
Praneeth
IRC: lifeeth



On Fri, Jun 3, 2011 at 8:53 PM, Massimo Di Pierro
 wrote:
> We fixed a few more bugs (strangely most of them preexisting 1.96.1).
> We also addressed two security issues as I will explain later in this
> email:
>
> here is am reporting the 1.96.1 changelog with some additions
>
> Changelog:
> - "from gluon import *" imports in every python module a web2py
> environment (A, DIV,..SQLFORM, DAL, Field,...) including
> current.request, current.response, current.session, current.T,
> current.cache, thanks Jonathan.
> - conditional models in
>  models//a.py and models///a.py
> - from mymodule import *, looks for mymodule in applications/thisapp/
> modules first and then in sys.path. No more need for local_import.
> Thanks Pierre.
> - usage of generic.* views is - by default - restricted to localhost
> for security. This can be changed in a granular way with:
> response.generic_patterns=['*']. This is a slight change of behavior
> for new app but a major security fix.
> - all applications have cas 2.0 provider at http://.../user/cas/login
> - all applications can delegate to login to external provider
> Auth(...,cas_provider='http://.../other_app/default/user/cas')
> - A(...,callback=URL(...),larget='id') does Ajax
> - URL(...,user_signature=True), LOAD(...,user_signature=True) can
> sign
> urls and @auth.requires_signature() will check the signature for any
> decorated action.
> - DAL(...,migrate_enabled=False) to disable all migrations
> - DAL(...,fake_migrate_all=True) to rebuild all corrupted metadata
> - new DAL metadata format (databases/*.table)
> - DAL(...,adapter_arg={}) allows support for alternate drivers
> - DAL now allows circular table defintions
> - DAL(..,auto_import=True) automatically imports tables from metadata
> without need to db.define_table(...)s.
> - new alterante syntax for inner joins: db(...).select(join=...)
> - experimental cubrid database support
> - DAL 'request_tenant' fields are special, the altomatically filer
> all
> records based on their default value.
> - db._common_fields.append(Field('owner')) allows to add fields to
> ALL
> tables
> - DAL ignores repeated fields with same names
> - web2py_ajax.html is more modular, thanks Anthony
> - request.is_local
> - request.is_http
> - new sessions2trash.py thanks Jim Karsten
> - corrupted cache files are automatically deleted
> - new simpler API gluon.contrib.AuthorizeNet.procss(...)
> - fixed recaptcha (as they released new API)
> - messages in validators have default internationalization
> - No more Auth(globals(),db), just Auth(db). Same for Crud and
> Service.
> - scripts/access.wsgi allows apache+mod_wsgi to delegate
> authentication of any URL to any web2py app
> - json now supports T(...)
> - scripts/setup-web2py-nginx-uwsgi-ubuntu.sh
> - web2py HTTP responses now set: "X-Powered-By: web2py", thanks Bruno
> - mostly fixed generic.pdf. You can view any page in PDF if you have
> pdflatex installed or if your html follows the pyfpdf convention.
> - auth.settings.extra_fields['auth_user'].append(Field('country'))
> allows to extend auth_* tables without need of definiting a custom
> auth_* table. Must be placed before auth.define_tables()
> - {{=response.toolbar()}} to help you debug applications
> - web based shell now supports object modifications (but no
> redefinitions of non-serializable types)
> - jQuery 1.6.1
> - more secure uuid function to protect sessions form cryptographic
> attacks
> - auto logout of appadmin
> - Lots of bug fixes
>
> ## Security wanring
>
> This release fixes two security issues:
>
> 1) web2py used random to generate uuid. This is mostly fine but it was
> technically possible for an attacker to retrieve a lot of session
> uuids, extrapolate information about the pseudo-random-generator and
> use the information to guess somebody else's session. Our new
> contributor and security expert David Wager, spotted this problem and
> suggested rewriting the web2py uuid function used for generating
> session names. The new function uses /dev/urandom as entropy source
> and falls back to the old method when the entropy source is not
> available, issuing a warning.
>
> 2) appadmin uses admin authentication but failed to detect expires
> sessions (60minutes). This has now been corrected.
>


[web2py] Re: Noob - Using DAL outside of web2py

2011-06-03 Thread Massimo Di Pierro
no, please do not use exec_environment.

from gluon import DAL
db = DAL('sqlite://',folder='/your/app/
databases',auto_import=True)

print db.tables



On Jun 3, 9:27 am, "j...@qlf.com"  wrote:
> Hi
>
> Just starting with web2py.  I've been using TurboGears (w/ SQLObject) for 
> many years and am excited about the things that web2py has to offer.  On to 
> my question...
>
> I have a need to use the DAL outside of web2py.  I found the following in the 
> manual...
>
> from gluon.shell import exec_environment
> cas = exec_environment('applications/cas/models/db.py')
> rows = cas.db().select(cas.db.user.ALL)
>
> I've modified it a bit and came up with...
>
> import sys
>
> sys.path.append('w:/web2py/library.zip')
>
> from gluon.shell import exec_environment
>
> ic = exec_environment('/applications/InfoCenter/models/db.py')
>
> rows = ic.db().select(ic.db.auth_user.ALL)
>
> for row in rows:
>
>     print row
>
> ...but am getting the following:
>
> Traceback (most recent call last):
>
>   File "C:/dev/miscellaneous/playground/dalOutside.py", line 4, in 
>
>     ic = exec_environment('/applications/InfoCenter/models/db.py')
>
>   File "gluon/shell.py", line 60, in exec_environment
>
>   File "gluon/compileapp.py", line 230, in build_environment
>
>   File "gluon/cache.py", line 371, in __init__
>
>   File "gluon/cache.py", line 229, in __init__
>
> WindowsError: [Error 3] The system cannot find the path specified: 
> 'applications\\InfoCenter\\cache'
>
> Any clues to what I should be looking at?
>
> Thanks!
>
>                 -Jim


[web2py] Noob - Using DAL outside of web2py

2011-06-03 Thread j...@qlf.com
Hi



Just starting with web2py.  I've been using TurboGears (w/ SQLObject) for many 
years and am excited about the things that web2py has to offer.  On to my 
question...



I have a need to use the DAL outside of web2py.  I found the following in the 
manual...



from gluon.shell import exec_environment
cas = exec_environment('applications/cas/models/db.py')
rows = cas.db().select(cas.db.user.ALL)



I've modified it a bit and came up with...



import sys

sys.path.append('w:/web2py/library.zip')

from gluon.shell import exec_environment

ic = exec_environment('/applications/InfoCenter/models/db.py')



rows = ic.db().select(ic.db.auth_user.ALL)



for row in rows:

print row



...but am getting the following:



Traceback (most recent call last):

  File "C:/dev/miscellaneous/playground/dalOutside.py", line 4, in 

ic = exec_environment('/applications/InfoCenter/models/db.py')

  File "gluon/shell.py", line 60, in exec_environment

  File "gluon/compileapp.py", line 230, in build_environment

  File "gluon/cache.py", line 371, in __init__

  File "gluon/cache.py", line 229, in __init__

WindowsError: [Error 3] The system cannot find the path specified: 
'applications\\InfoCenter\\cache'



Any clues to what I should be looking at?



Thanks!



-Jim





[web2py] Bug with "list:string" in gae

2011-06-03 Thread Luciano
There is a problem of encoding, to write data to fields of type
"list:string" in gae.

When we have a field of type "list: string" and try to write data in
this field, the method represents web2py run () class NoSQLAdapter (),
is present in web2py/gluon/dal.py, and str (x) in line 2633. However
the environment gae (SDK), will run unicode (value). encode ('utf-8')

Look at the example:

# In web2py
>>> def w2p(x):
...  """
...  executed in the method represent()
...  """
...  return str(x)

# In gae
>>> def gae(value):
...  """
...  Implemented in gae before saving
...  """
...  return unicode(value).encode('utf-8')

Thus, the instructions will cause an error when we try to enter
accented characters in this field, no matter how we send data to write
in this field. The errors presented are:

Example 1 - error in gae():
>>> x = 'ãé'
>>> value = w2p(x)
>>> gae(value)
Traceback (most recent call last):
  File "", line 1, in 
  File "", line 3, in gae
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position
0: ordinal not in range(128)

Example 2 - error in web2py:
>>> x = 'ãé'
>>> x = 'ãé'.decode('utf-8')
>>> value = w2p(x)
Traceback (most recent call last):
  File "", line 1, in 
  File "", line 6, in w2p
UnicodeEncodeError: 'ascii' codec can't encode characters in position
0-1: ordinal not in range(128)





[web2py] web2py 1.96.2 is OUT & security warning

2011-06-03 Thread Massimo Di Pierro
We fixed a few more bugs (strangely most of them preexisting 1.96.1).
We also addressed two security issues as I will explain later in this
email:

here is am reporting the 1.96.1 changelog with some additions

Changelog:
- "from gluon import *" imports in every python module a web2py
environment (A, DIV,..SQLFORM, DAL, Field,...) including
current.request, current.response, current.session, current.T,
current.cache, thanks Jonathan.
- conditional models in
  models//a.py and models///a.py
- from mymodule import *, looks for mymodule in applications/thisapp/
modules first and then in sys.path. No more need for local_import.
Thanks Pierre.
- usage of generic.* views is - by default - restricted to localhost
for security. This can be changed in a granular way with:
response.generic_patterns=['*']. This is a slight change of behavior
for new app but a major security fix.
- all applications have cas 2.0 provider at http://.../user/cas/login
- all applications can delegate to login to external provider
Auth(...,cas_provider='http://.../other_app/default/user/cas')
- A(...,callback=URL(...),larget='id') does Ajax
- URL(...,user_signature=True), LOAD(...,user_signature=True) can
sign
urls and @auth.requires_signature() will check the signature for any
decorated action.
- DAL(...,migrate_enabled=False) to disable all migrations
- DAL(...,fake_migrate_all=True) to rebuild all corrupted metadata
- new DAL metadata format (databases/*.table)
- DAL(...,adapter_arg={}) allows support for alternate drivers
- DAL now allows circular table defintions
- DAL(..,auto_import=True) automatically imports tables from metadata
without need to db.define_table(...)s.
- new alterante syntax for inner joins: db(...).select(join=...)
- experimental cubrid database support
- DAL 'request_tenant' fields are special, the altomatically filer
all
records based on their default value.
- db._common_fields.append(Field('owner')) allows to add fields to
ALL
tables
- DAL ignores repeated fields with same names
- web2py_ajax.html is more modular, thanks Anthony
- request.is_local
- request.is_http
- new sessions2trash.py thanks Jim Karsten
- corrupted cache files are automatically deleted
- new simpler API gluon.contrib.AuthorizeNet.procss(...)
- fixed recaptcha (as they released new API)
- messages in validators have default internationalization
- No more Auth(globals(),db), just Auth(db). Same for Crud and
Service.
- scripts/access.wsgi allows apache+mod_wsgi to delegate
authentication of any URL to any web2py app
- json now supports T(...)
- scripts/setup-web2py-nginx-uwsgi-ubuntu.sh
- web2py HTTP responses now set: "X-Powered-By: web2py", thanks Bruno
- mostly fixed generic.pdf. You can view any page in PDF if you have
pdflatex installed or if your html follows the pyfpdf convention.
- auth.settings.extra_fields['auth_user'].append(Field('country'))
allows to extend auth_* tables without need of definiting a custom
auth_* table. Must be placed before auth.define_tables()
- {{=response.toolbar()}} to help you debug applications
- web based shell now supports object modifications (but no
redefinitions of non-serializable types)
- jQuery 1.6.1
- more secure uuid function to protect sessions form cryptographic
attacks
- auto logout of appadmin
- Lots of bug fixes

## Security wanring

This release fixes two security issues:

1) web2py used random to generate uuid. This is mostly fine but it was
technically possible for an attacker to retrieve a lot of session
uuids, extrapolate information about the pseudo-random-generator and
use the information to guess somebody else's session. Our new
contributor and security expert David Wager, spotted this problem and
suggested rewriting the web2py uuid function used for generating
session names. The new function uses /dev/urandom as entropy source
and falls back to the old method when the entropy source is not
available, issuing a warning.

2) appadmin uses admin authentication but failed to detect expires
sessions (60minutes). This has now been corrected.


[web2py] BUG?: Funny Bug with LOAD;

2011-06-03 Thread David J.

Maybe its not a bug;

But I found a strange behavior;

I am using LOAD to load some views; I also use @auth.requires_login()

I just saw that If I try to reload the component after the session 
expires the component loads the login page where the component should go;


Perhaps once the session expires; we should force the whole page to be 
redirected?


Any thoughts?

Thanks.





[web2py] splitting the field values of a list:string field

2011-06-03 Thread max
I have the following use case.
--
User has to input a  unknown number of strings in a pref-defined
format.
eg.  a#b#c , a1#b1#c1, a2#b1#c2

Currently i am using the list:string  and allow the user to directly
add the string with a hash sign.

But I would prefer to format the input like this,

myfield:   name [a1]  name2 [b1] name3 [c1]  where the [] are input
fields of a form horizontally. and the + sign of the web2py list adds
more from the same format.

For me it is ok. that everything in the myfield is saved in the |a|b|
c| format.

thanks for any ideas.




[web2py] Re: Size of the list:string input box

2011-06-03 Thread max
thanks.

On May 21, 5:14 pm, Anthony  wrote:
> On Saturday, May 21, 2011 3:56:13 AM UTC-4, max wrote:
>
> > I am using the   list string to enter data where the number of input
> > texts.
> > Can I customize the size of the input boxes  in one form because i am
> > inserting large texts?
> > Can't use the type 'text' because the number of entries is not
> > previuosly known.
>
> You should be able to handle that with CSS -- 
> seehttp://web2py.com/book/default/chapter/07#CSS-Conventions.
>
> Anthony


[web2py] Show animated gif to submit

2011-06-03 Thread Jose
Hello,

I need to display a message or an animated gif to submit, similar to
this [1].

I do not know how to do is put in the  the
function call (javascript)

onclick="javascript:animatedcollapse.toggle('uploading')"



This is using crud or SQLFORM. I know I can create the form manually,
but I still use crud or SQLFORm.

Best Regards,
Jose


[1] 
http://forums.devshed.com/javascript-development-115/on-form-submit-fade-out-screen-and-display-animated-loading-784875.html


[web2py] Re: LOAD: ajax_trap errors... (still in 1.96.1)

2011-06-03 Thread Massimo Di Pierro
fixed. there was an unwanted comma in the code.

On Jun 3, 3:16 am, "Sebastian E. Ovide" 
wrote:
> tracked inhttp://code.google.com/p/web2py/issues/detail?id=284
>
>
>
>
>
>
>
>
>
> On Fri, Jun 3, 2011 at 1:44 AM, ron_m  wrote:
> > I figured out the problem. The Javascript generated looks like this:
>
> > web2py_trap_form('('/app/default/testajax.load',)','c831268503949');
>
> > which is illegal because the single quotes around the URL terminate the
> > single quotes of the first parameter for web2py_trap_form
>
> > It looks like a string '(' then /app/default. is no longer inside
> > quotes.
>
> > Line 148 of compileapp.py in version 1.96.1 has the line
>
> >    js = "web2py_trap_form('%s','%s');" % (link, target)
>
> > I traded the quotes around in the Python code like so
>
> >    js = 'web2py_trap_form("%s","%s");' % (link, target)
>
> > so the output would change to look like
>
> > web2py_trap_form("('/app/default/testajax.load',)","c831268503949");
>
> > which is legal Javascript and now I get no errors.
>
> > A second question is why the link is a set, the output formating seems to
> > indicate that. I don't know enough to know whether the first element should
> > be dereferenced e.g. link[0] instead of just link. Then there would not be 2
> > sets of single quotes atcked in the output.
>
> > Ron
>
> --
> Sebastian E. Ovide


Re: [web2py] What is the point of CRUD?

2011-06-03 Thread Sebastian E. Ovide
I didn't look into the code but it looks like CRUD extends SQLFORM... so it
is your choice in using SQLFORM and do few things by hand, or use CRUD and
create a prototype in less lines and therefore in less time !...

On Thu, Jun 2, 2011 at 11:50 AM, apple  wrote:

> In previous post it was stated that CRUD was more for prototyping and
> SQLFORM for when you need more control. However now I see that there
> is some additional functionality in CRUD e.g. the link with the auth
> module; and archiving of records.
>
> It seems to me these are two separate ways of doing the same thing but
> with slightly different interfaces. Quite confusing. I wonder why the
> CRUD functionality was not just incorporated into SQLFORM rather than
> creating a separate interface?
>
> Personally I would rather stick with one or the other because it is
> easier to remember the quirks and names of parameters. Should I choose
> SQLFORM as it allows most flexibility or CRUD as this will ultimately
> have greater functionality?
>
>


-- 
Sebastian E. Ovide


[web2py] components in related tables

2011-06-03 Thread pbreit
You need to pass an I'd to show controller so it knows what comments to pull.


[web2py] Re: Web2py and PyScripter debugging

2011-06-03 Thread Massimo Di Pierro
### no_threads_web2py.py ###
from wsgiref.simple_server import make_server, demo_app
from gluon import wsgibase
httpd = make_server('', 8000, wsgibase)
print "Serving HTTP on port 8000..."
# Respond to requests until process is killed
httpd.serve_forever()
### end file ###


On Jun 3, 12:07 am, Dmitriy  wrote:
> Is there any way to execute web2py in one (main) thread?
> If not, can it be added?
> This can help to debug web2py in PyScripter. PyScripter is great IDE
> for Windows, but currently support only single-thread debugging. A '-n
> 1' command line option doesn't help.
>
> Thanks!


[web2py] Re: versioning and uploads

2011-06-03 Thread Massimo Di Pierro
in trunk. thanks

On Jun 2, 5:39 pm, "Joseph.Piron"  wrote:
> The one created in the application folder when using the web interface
> versioning option.
> Haven't even noticed the distro one. What is its purpose ?
>
> On May 31, 5:19 pm, pbreit  wrote:
>
>
>
>
>
>
>
> > Which .hgignore? The main distro includes:
> > applications/*/uploads/*
>
> >http://code.google.com/p/web2py/source/browse/.hgignore#45


[web2py] Re: single virtual field definition for multiple table

2011-06-03 Thread Massimo Di Pierro
>>> db.define_table('itemx',
Field('unit_price','double'),
Field('quantity','integer'),
>>> db.define_table('itemy',
Field('unit_price','double'),
Field('quantity','integer'),

>>> class MyVirtualFields(object):
def __init__(self,table):
self.table=table
def total_price(self):
record = getattr(self,self.table)
return record.unit_price*record.quantity
>>> db.itemx.virtualfields.append(MyVirtualFields('itemx'))
>>> db.itemy.virtualfields.append(MyVirtualFields('itemy'))


On Jun 2, 4:37 pm, Manuele Pesenti  wrote:
> what if I want to define a virtual field and use it for different table
> with same field names that I want to use in the virtual field
> calculation? Do I have to cut & paste and chance only the table name in
> the formula or there's a modular way to do it?
>
> thanks a lot
>
>         Manuele


[web2py] Re: component refresh with jQuery UI tab plugin

2011-06-03 Thread Massimo Di Pierro
Give a name to your components

{{=LOAD(...,target='one')}}
{{=LOAD(...,target='two')}}
{{=LOAD(...,target='three')}}

now any action can trigger a component reload

response.js="web2py_component('action','target')"

where action is the URL of the component and 'target' is 'one', 'two',
'three'', etc.



On Jun 2, 4:21 pm, Richard Vézina  wrote:
> Hello,
>
> Here my view code :
>
> {{extend 'layout_form.html'}}
>
> 
> @import
> "{{=URL('static','plugin_added/jquery-ui-1.8.9.custom/development-bundle/th 
> emes/base/jquery.ui.all.css')}}";
> 
>
>  src="{{=URL('static','plugin_added/jquery-ui-1.8.9.custom/js/jquery-1.4.4.m 
> in.js')}}">
>  src="{{=URL('static','plugin_added/jquery-ui-1.8.9.custom/development-bundl 
> e/ui/jquery.ui.core.js')}}">
>  src="{{=URL('static','plugin_added/jquery-ui-1.8.9.custom/development-bundl 
> e/ui/jquery.ui.widget.js')}}">
>  src="{{=URL('static','plugin_added/jquery-ui-1.8.9.custom/development-bundl 
> e/ui/jquery.ui.tabs.js')}}">
> 
> $(function() {
>     $( "#tabs" ).tabs();});
>
> 
>
> 
> 
> 
> 
> 
>     
>         {{=T('folder').capitalize()}}
>         {{=T('volume').capitalize()}}
>         {{=T('tome').capitalize()}}
>         {{=T('report').capitalize()}}
>     
>     
>     
>
> {{=LOAD(c='ref',f='create_fvte',args='ref_fnaregistry',extension='load',aja 
> x=True,ajax_trap=False)}}
>     
>     
>     
>
> {{=LOAD(c='ref',f='create_fvte',args='ref_vregistry',extension='load',ajax= 
> True,ajax_trap=False)}}
>     
>     
>     
>
> {{=LOAD(c='ref',f='create_fvte',args='ref_tregistry',extension='load',ajax= 
> True,ajax_trap=False)}}
>     
>     
>     
>
> {{=LOAD(c='ref',f='create_fvte',args='ref_eregistry',extension='load',ajax= 
> True,ajax_trap=False)}}
>     
> 
>
> 
>
> The problem is that when the form loaded with component in tab-1 is submited
> and the user clic on tab-2 to fill the following form... The component is
> not up to date... So the new entry just made into the preceding form is not
> available to be pick in the second form dropbox...
>
> Is there a way to send a refresh component command on tab-2 clic or
> something?? Or the only solution be to add a refresh button that to force
> component reload??
>
> Thanks
>
> Richard


[web2py] Re: web2py 1.96.1 is OUT

2011-06-03 Thread Plumo
some really nice features there that make web2py more like typical python 
scripts. Fantastic!  

Re: [web2py] vps - memory problems

2011-06-03 Thread Roberto De Ioris

> Hi,
>
> I'm testing my production environment (vps with ubuntu 10.4 lts lucid,
> nginx, uwsgi, postgresql, latest web2py), and I detected some memory
> problems, please check:
>
>
> root@vps:~# htop
>
>   1  [||
>  1.0%] Tasks: 104 total, 1 running
>   2  [
>  0.0%] Load average: 0.57 0.17 0.04
>
> Mem[|||342/358MB]
> Uptime: 5 days, 05:55:08
>   Swp[
>297/1023MB]
>
>   PID USER PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
>
> 25948 www-data  20   0  124M   932   412 S  0.0  0.3  0:01.31  `-
> /usr/bin/uwsgi-python --master --no-orphans --processes 2 --logdate
> --chmod-socket=660 --uid www-data --gid www-data --daemonize
> /var/log/uwsgi-python/web2py.log --pidfile
>
> 25963 www-data  20   0  393M 88796  2124 D  0.0 24.2  0:12.39  |   `-
> /usr/bin/uwsgi-python --master --no-orphans --processes 2 --logdate
> --chmod-socket=660 --uid www-data --gid www-data --daemonize
> /var/log/uwsgi-python/web2py.log --pid
>
> 25962 www-data  20   0  364M  189M  2116 S  0.0 52.9  0:11.34  |   `-
> /usr/bin/uwsgi-python --master --no-orphans --processes 2 --logdate
> --chmod-socket=660 --uid www-data --gid www-data --daemonize
> /var/log/uwsgi-python/web2py.log --pid
>
>
>

Add --memory-report to your uWSGI command line. You will get in
/var/log/uwsgi-python/web2py.log the memory consumed after each request.
If there is a leak you should find it preatty easy.


-- 
Roberto De Ioris
http://unbit.it


[web2py] vps - memory problems

2011-06-03 Thread Carlos
Hi,

I'm testing my production environment (vps with ubuntu 10.4 lts lucid, 
nginx, uwsgi, postgresql, latest web2py), and I detected some memory 
problems, please check:


root@vps:~# htop

  1  [|| 
 1.0%] Tasks: 104 total, 1 running
  2  [   
 0.0%] Load average: 0.57 0.17 0.04
  
Mem[|||342/358MB]
 
Uptime: 5 days, 05:55:08
  Swp[   
   297/1023MB]

  PID USER PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command

25948 www-data  20   0  124M   932   412 S  0.0  0.3  0:01.31  `- 
/usr/bin/uwsgi-python --master --no-orphans --processes 2 --logdate 
--chmod-socket=660 --uid www-data --gid www-data --daemonize 
/var/log/uwsgi-python/web2py.log --pidfile

25963 www-data  20   0  393M 88796  2124 D  0.0 24.2  0:12.39  |   `- 
/usr/bin/uwsgi-python --master --no-orphans --processes 2 --logdate 
--chmod-socket=660 --uid www-data --gid www-data --daemonize 
/var/log/uwsgi-python/web2py.log --pid

25962 www-data  20   0  364M  189M  2116 S  0.0 52.9  0:11.34  |   `- 
/usr/bin/uwsgi-python --master --no-orphans --processes 2 --logdate 
--chmod-socket=660 --uid www-data --gid www-data --daemonize 
/var/log/uwsgi-python/web2py.log --pid


Why are these processes consuming so much memory?, what are they doing?, why 
are they not ended?.

The performance of my vps was excellent up until these processes ate all the 
memory.

Thanks for your input.

   Carlos



[web2py] vps - memory problems

2011-06-03 Thread Carlos
Hi,

I'm testing my production environment (vps with ubuntu 10.4 lts lucid, 
nginx, uwsgi, postgresql, latest web2py), and I detected some memory 
problems, please check:


root@vps:~# htop

  1  [|| 
 1.0%] Tasks: 104 total, 1 running
  2  [   
 0.0%] Load average: 0.57 0.17 0.04
  
Mem[|||342/358MB]
 
Uptime: 5 days, 05:55:08
  Swp[   
   297/1023MB]

  PID USER PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command

25948 www-data  20   0  124M   932   412 S  0.0  0.3  0:01.31  `- 
/usr/bin/uwsgi-python --master --no-orphans --processes 2 --logdate 
--chmod-socket=660 --uid www-data --gid www-data --daemonize 
/var/log/uwsgi-python/web2py.log --pidfile

25963 www-data  20   0  393M 88796  2124 D  0.0 24.2  0:12.39  |   `- 
/usr/bin/uwsgi-python --master --no-orphans --processes 2 --logdate 
--chmod-socket=660 --uid www-data --gid www-data --daemonize 
/var/log/uwsgi-python/web2py.log --pid

25962 www-data  20   0  364M  189M  2116 S  0.0 52.9  0:11.34  |   `- 
/usr/bin/uwsgi-python --master --no-orphans --processes 2 --logdate 
--chmod-socket=660 --uid www-data --gid www-data --daemonize 
/var/log/uwsgi-python/web2py.log --pid


Why are these processes consuming so much memory?, what are they doing?, why 
are they not ended?.

The performance of my vps was excellent up until these processes ate all the 
memory.

Thanks for your input.

   Carlos



[web2py] components in related tables

2011-06-03 Thread 黄祥
hi,

is it possible to use components in related tables? lets say like a
blog with comments related with it. i want to make comments as a
components that can be load in index list and blog show page. thank
you so much in advance.


[web2py] components in related tables

2011-06-03 Thread 黄祥
hi,

is it possible to use components in related tables? lets say like the
blog that have a comment related, i want to make the comment as a
components that can be use in list index and show itself. thank you so
much before.

e.g.
=== index.html ===
{{extend 'layout.html'}}
{{for i, row in enumerate(rows):}}
{{if i == items_per_page: break}}
{{=DIV(A(row.title,
 _href = URL(show_link,
 args = row.id),
   _title = row.title))}}
{{=DIV(row.content)}}
{{=LOAD('default', 'blog_comment_show.load', ajax = True)}}
{{=LOAD('default', 'blog_comment_add.load', ajax = True, target =
'blog_comment_show')}}
{{=BR()}}
{{pass}}
{{if page:}}
{{=A(T('Previous'),
 _href = URL(args = [page - 1]),
 _title = T('Previous'))}}
{{pass}}
{{if len(rows) > items_per_page:}}
{{=A(T('Next'),
 _href = URL(args = [page + 1]),
 _title = T('Next'))}}
{{pass}}

=== blog_comment_show.load ===
{{if len(results):}}
{{=DIV(A(T('View Comments (%s)' % len(results)),
 _href = '#'),
   _id = 'view')}}

{{for blog_comment in results:}}
{{=SPAN(db.auth_user[blog_comment.created_by].first_name,
T(' on '),
blog_comment.created_on,
T(' Said '),
blog_comment.comment)}}
{{pass}}

{{else:}}
{{=DIV(B(T('No Comments Posted Yet')))}}
{{pass}}

=== blog_comment_add.load ===
{{=SCRIPT(_src = URL('static',
 'js/comments.js'))}}

{{=DIV(A(T('Post a Comment'),
 _href = '#'),
   _class = 'post')}}

{{=DIV(form,
   _class = 'form hidden')}}


[web2py] Re: template in crud

2011-06-03 Thread max
i will go for the controller version. thanks a lot.


On Jun 2, 3:14 am, Richard Vézina  wrote:
> You have typo.. (see quote in red)
>
> Why do you want to do that like this?
>
> In controller you could go like this :
>
> db.tablename.fieldname.readable = True or False
>
> If you need to hide field base on user group membership you will have to
> define the readable/writable field for each group in your function... You
> could also use function decorators and CRUD...
>
> Richard
>
> On Mon, May 30, 2011 at 10:16 AM, max  wrote:
> > Hi all,
> > I have been searching for a customizable way to select and deselect
> > fields.
> > i have found this way
>
> > tempate_01 = {'myfiled':False, 'myscofield':True}
> > read this values in the db defitionion.
> >   Field('myfield', type='text',readable=template_01['myfiled']),
>
> > is this a good way to do this?
> > Because i generally don't like writing lots of global variables,
> > thanks
>
>


[web2py] Re: Social network plug-in

2011-06-03 Thread François
I can answer 4). 'friendship' is an Ajax callback defined later on.

The only problem with this otherwise excellent video is that sometimes
we cannot see the ends of the lines. For example around 9:50 (at the
end of the URL).

François


On 3 juin, 02:02, François  wrote:
> I have a few questions on the code.
>
> 1) The "myfriends" table is defined as :
>
>   myfriends = db(Link.source==me)(Link.accepted==True)
>
> But if someone asks for my friendship and I accept, then he won't be
> in "myfriends" until I ask myself for his friendship (and he accepts).
> Am I right ?
> Maybe we could do two queries and unite them with "lambda a,b:a&b" ?
>
> 2) There are many functions which end with :
>
>   return locals()
>
> Does it return all the local variables defined in the function ?
>
> 3) Although I know what the result is, I don't understand the logic of
> this query :
>
>   # list all friendship requests we received
>   friends = db(User.id==Link.source)
> (Link.target==me).select(orderby=alphabetical)
>
> What I don't understand is that the query deals with two different
> tables.
>
> 4) Then all that ajax is Chinese for me ;)
>
>  onclick="ajax('{{=URL('friendship',args=('request',user.id))}}',
> [,null);$(this).parent().html('pending')">request friendship
>
> Where was the 'friendship' of the URL defined ?
>
> Thanks to anybody who answers part of these questions,
> François
>
> On 2 juin, 23:03, Massimo Di Pierro 
> wrote:
>
>
>
> > I have it somewhere. I will post it on web2py appliances asap.
>
> > On Jun 2, 3:06 pm, François  wrote:
>
> > > Thank you, this is nice and impressive !
>
> > > Is there a place where I can download the code ?
>
> > > François
>
> > > On 2 juin, 17:57, Massimo Di Pierro 
> > > wrote:
>
> > > > Something like this?http://vimeo.com/21364178
>
> > > > On Jun 2, 10:09 am, François  wrote:
>
> > > > > Hello everybody,
>
> > > > > Is there a social network plug-in for Web2py, which for example allows
> > > > > users to send messages to each other ?
>
> > > > > Thank you very much,
> > > > > François- Masquer le texte des messages précédents -
>
> > > > - Afficher le texte des messages précédents -- Masquer le texte des 
> > > > messages précédents -
>
> > - Afficher le texte des messages précédents -- Masquer le texte des 
> > messages précédents -
>
> - Afficher le texte des messages précédents -


Re: [web2py] Error With Plugin Wiki

2011-06-03 Thread Martín Mulone
You have the last web2py installed?

2011/6/3 joseph simpson 

> I am just starting to use the plugin wiki.
>
> Simple text pages appear to work, but the jqgrid component gives the error
> documented in the attached screen shot.
>
> Any ideas on what I am doing wrong?
>
> Thanks for your help,
>
> Joe
>
> --
> Joe Simpson
>
> Sent From My DROID!!
>



-- 
 http://martin.tecnodoc.com.ar


Re: [web2py] Re: LOAD: ajax_trap errors... (still in 1.96.1)

2011-06-03 Thread Sebastian E. Ovide
tracked in http://code.google.com/p/web2py/issues/detail?id=284

On Fri, Jun 3, 2011 at 1:44 AM, ron_m  wrote:

> I figured out the problem. The Javascript generated looks like this:
>
> web2py_trap_form('('/app/default/testajax.load',)','c831268503949');
>
> which is illegal because the single quotes around the URL terminate the
> single quotes of the first parameter for web2py_trap_form
>
> It looks like a string '(' then /app/default. is no longer inside
> quotes.
>
> Line 148 of compileapp.py in version 1.96.1 has the line
>
>js = "web2py_trap_form('%s','%s');" % (link, target)
>
> I traded the quotes around in the Python code like so
>
>js = 'web2py_trap_form("%s","%s");' % (link, target)
>
> so the output would change to look like
>
> web2py_trap_form("('/app/default/testajax.load',)","c831268503949");
>
> which is legal Javascript and now I get no errors.
>
> A second question is why the link is a set, the output formating seems to
> indicate that. I don't know enough to know whether the first element should
> be dereferenced e.g. link[0] instead of just link. Then there would not be 2
> sets of single quotes atcked in the output.
>
> Ron
>
>
>
>
>
>


-- 
Sebastian E. Ovide