Hi.  I'm running into a weird error.  I've got a function in my controller 
that is  simply  calling a method on an object... like such.  
"pagemanager.setIndex()".  When it calls this method it gets the error... 
"TypeError: setIndex() takes no arguments (1 given)".  I'm looking at the 
code.  I'm not passing any arguments.  The method itself only has "self" in 
its declaration.

Here's the error page.


 Error ticket for "gateway" Ticket ID 

127.0.0.1.2012-05-02.13-26-47.6582e8b4-5025-4471-aba2-953f9ed2c611
<type 'exceptions.TypeError'> setIndex() takes no arguments (1 given) 
Version  web2py™ (1, 99, 7, datetime.datetime(2012, 3, 4, 22, 12, 8), 
'stable')  Python Python 2.7.3: /usr/bin/python  Traceback 

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Traceback (most recent call last):
  File "/home/andrew/Projects/Gateway - Church Management/gluon/restricted.py", 
line 205, in restricted
    exec ccode in environment
  File "/home/andrew/Projects/Gateway - Church 
Management/applications/gateway/controllers/default.py" 
<http://127.0.0.1:8000/admin/default/edit/gateway/controllers/default.py>, line 
74, in <module>
  File "/home/andrew/Projects/Gateway - Church Management/gluon/globals.py", 
line 173, in <lambda>
    self._caller = lambda f: f()
  File "/home/andrew/Projects/Gateway - Church 
Management/applications/gateway/controllers/default.py" 
<http://127.0.0.1:8000/admin/default/edit/gateway/controllers/default.py>, line 
15, in index
    pagemanager.setIndex()
TypeError: setIndex() takes no arguments (1 given)

 Error snapshot [image: help]  

<type 'exceptions.TypeError'>(setIndex() takes no arguments (1 given)) 

inspect attributes 
 Frames 
   
   -  
   
   *File /home/andrew/Projects/Gateway - Church 
   Management/gluon/restricted.py in restricted at line 205* code arguments 
   variables 
    -  
   
   *File /home/andrew/Projects/Gateway - Church 
   Management/applications/gateway/controllers/default.py in <module> at line 
   74* code arguments variables 
    -  
   
   *File /home/andrew/Projects/Gateway - Church Management/gluon/globals.py 
   in <lambda> at line 173* code arguments variables 
    -  
   
   *File /home/andrew/Projects/Gateway - Church 
   Management/applications/gateway/controllers/default.py in index at line 15
   * code arguments variables 
    Function argument list 
   
   ()
    Code listing 
   
   10.
   11.
   12.
   13.
   14.
   15.
   
   16.
   17.
   18.
   19.
   
   #########################################################################
   from PageManager import *
   
   def index():
    pagemanager = PageManager()
    pagemanager.setIndex()
   
    return dict(pagemanager=pagemanager)
   
   def members():
    members = db().select(db.member.ALL, orderby=(db.member.lastname, 
db.member.firstname))
   
    Variables  pagemanager.setIndex <bound method PageManager.setIndex of 
   <applicati...ateway.modules.PageManager.PageManager instance>>  
   pagemanager <applications.gateway.modules.PageManager.PageManager 
   instance>  
    
 Context 

locals request session response 
 In file: /home/andrew/Projects/Gateway - Church 
Management/applications/gateway/controllers/default.py 

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.

# -*- coding: utf-8 -*-
# this file is released under public domain and you can use without limitations

#########################################################################
## This is a samples controller
## - index is the default action of any application
## - user is required for authentication and authorization
## - download is for downloading files uploaded in the db (does streaming)
## - call exposes all registered services (none by default)
#########################################################################
from PageManager import *

def index():
 pagemanager = PageManager()
 pagemanager.setIndex()
 return dict(pagemanager=pagemanager)
             
def members():
 members = db().select(db.member.ALL, orderby=(db.member.lastname, 
db.member.firstname))
 return dict(message='Member Management', members=members, menu=menu, 
sidebar=sidebar, title='Gateway - Church Management System')

def user():
    """
    exposes:
    http://..../[app]/default/user/login
    http://..../[app]/default/user/logout
    http://..../[app]/default/user/register
    http://..../[app]/default/user/profile
    http://..../[app]/default/user/retrieve_password
    http://..../[app]/default/user/change_password
    use @auth.requires_login()
        @auth.requires_membership('group name')
        @auth.requires_permission('read','table name',record_id)
    to decorate functions that need access control
    """
    return dict(form=auth(), title='Login', menu=[])


def download():
    """
    allows downloading of uploaded files
    http://..../[app]/default/download/[filename]
    """
    return response 
<http://127.0.0.1:8000/examples/global/vars/response>.download(request 
<http://127.0.0.1:8000/examples/global/vars/request>,db)


def call():
    """
    exposes services. for example:
    http://..../[app]/default/call/jsonrpc
    decorate with @services.jsonrpc the functions to expose
    supports xml, json, xmlrpc, jsonrpc, amfrpc, rss, csv
    """
    return service()


@auth.requires_signature()
def data():
    """
    http://..../[app]/default/data/tables
    http://..../[app]/default/data/create/[table]
    http://..../[app]/default/data/read/[table]/[id]
    http://..../[app]/default/data/update/[table]/[id]
    http://..../[app]/default/data/delete/[table]/[id]
    http://..../[app]/default/data/select/[table]
    http://..../[app]/default/data/search/[table]
    but URLs must be signed, i.e. linked with
      A('table',_href=URL('data/tables',user_signature=True))
    or with the signed load operator
      LOAD('default','data.load',args='tables',ajax=True,user_signature=True)
    """
    return dict(form=crud())

response <http://127.0.0.1:8000/examples/global/vars/response>._vars=response 
<http://127.0.0.1:8000/examples/global/vars/response>._caller(index)

  Powered by web2py <http://www.web2py.com>™ created by Massimo Di Pierro 
©2007-2011 - Admin language 


As you can see, I'm not passing any arguments.

Thanks,

Andrew

Reply via email to