Sir,
Cron isnt working when I put that validator, error given is same as
mentioned earlier . Cron is working properly without any validator.

Here is my function. Kindly let me know if any problem is there.


@auth.requires(not request.env.remote_addr or auth.has_permission
('least'))
def takebackup():
"""
Max. No. of backups are four. When fourth one is saved, check is done
if there are already four, if there are four, oldest backup is deleted
"""
        import os
        file_to_delete = ""
        backup_count = db(db.backup_entry.id > 0).count()

        if backup_count > 3:
                least_entry = db.backup_entry.dateofentry.min()
                query = db(db.backup_entry.id > 0).select()
                least_entry = datetime.datetime.today()
                for i in query:
                        if i.dateofentry < least_entry:
                                least_entry = i.dateofentry

                db(db.backup_entry.dateofentry == least_entry).delete
()
                file_to_delete = "backup" + "_" + str(least_entry) +
".csv"
                try:
                        os.remove ('/home/www-data/backups/lsi/' +
file_to_delete)
                except:
                        do_nothing = 1

        current_time = str(datetime.datetime.today()).split(".")
[0]             # File name
        file_backup = "backup" + "_" + current_time + ".csv"

        db.export_to_csv_file(open('/home/www-data/backups/lsi/' +
file_backup,'wb'))
        db.backup_entry.insert(dateofentry = current_time)
        db.commit()
        return dict(form='')



On Dec 30, 11:36 am, mdipierro <mdipie...@cs.depaul.edu> wrote:
> You are referring to the auth decorator. Try this:
>
> @auth.requires(not request.env.remote_addr or auth.has_permission
> ('xyz'))
> def takebackup():
>
> When the request comes from cron there is no request.env.remote_addr
>
> On Dec 29, 9:29 pm, vvk <varunk.ap...@gmail.com> wrote:
>
> > Hi sir,
> > Cron job function in my application is working only when there is no
> > validator for that function.
>
> > My function:
> > @auth.requires_permision('xyz')
> > def takebackup():
>
> > Is there a way to put a validator for that function because if there
> > is no validator, any one can run backup function.
>
> > This is the error I'm getting when there is a validator like
> > @auth.requires_permission('xyz')
>
> > Traceback (most recent call last):
> >   File "web2py.py", line 20, in <module>
> >     gluon.widget.start(cron=True)
> >   File "/home/www-data/web2py/gluon/widget.py", line 743, in start
> >     import_models=options.import_models, startfile=options.run)
> >   File "/home/www-data/web2py/gluon/shell.py", line 163, in run
> >     exec ('print %s()' % f, _env)
> >   File "<string>", line 1, in <module>
> >   File "/home/www-data/web2py/gluon/tools.py", line 1688, in f
> >     redirect(self.settings.login_url + '?_next='+urllib.quote(next))
> >   File "/home/www-data/web2py/gluon/http.py", line 104, in redirect
> >     Location=location)
> > gluon.http.HTTP
>
> > On Dec 29, 11:05 pm, vvk <varunk.ap...@gmail.com> wrote:
>
> > > Thanks sir, it's working now.
>
> > > On Dec 29, 10:57 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > > 0-59/1 * * * * user *default/index
>
> > > > On Dec 29, 11:55 am, vvk <varunk.ap...@gmail.com> wrote:
>
> > > > > Hi,
> > > > > I'm getting an error for putting cron in default welcome application
> > > > > which came with web2py 1.74.4 src code
>
> > > > > I edited crontab file in welcome application as:
> > > > > 0-59/1 * * * * *default/index
>
> > > > > Error:
>
> > > > > WARNING:root:WEB2PY CRON: exception: list index out of range
> > > > > WARNING:root:Traceback (most recent call last):
> > > > >   File "/Users/varun/Downloads/web2py/gluon/contrib/cron.py", line
> > > > > 293, in crondance
> > > > >     task = parsecronline(cline)
> > > > >   File "/Users/varun/Downloads/web2py/gluon/contrib/cron.py", line
> > > > > 230, in parsecronline
> > > > >     task['cmd'] = params[6].strip()
> > > > > IndexError: list index out of range
>
> > > > > WARNING:root:WEB2PY CRON: exception: list index out of range
>
> > > > > Any help would be greatly appreciated.

--

You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web...@googlegroups.com.
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.


Reply via email to