[web2py] Re: seperate the request.args() with the extension

2018-04-03 Thread 黄祥
pardon, my bad, i misunderstood the place of extension, the extension 
should be after the function name, not the args one, so the above is work 
well, when put it like:
curl -X GET -i http://127.0.0.1:8000/test/api/rows_as_list 
.xml 
/table0/1 

curl -X GET -i http://127.0.0.1:8000/test/api/rows_as_list 
.json 
/table0/1 


best regards,
stifan

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[web2py] Re: seperate the request.args() with the extension

2018-04-03 Thread Dave S


On Tuesday, April 3, 2018 at 5:18:53 PM UTC-7, 黄祥 wrote:
>
> *controllers/api.py*
> def rows_as_list():
> tablename = request.args(0)
> #id = request.args(1)
> id, ext = request.args(1).split('.')
> if int(id) > 0 :
> query = (db[tablename]['id'] == id)
> else:
> query = (db[tablename]['id'] > 0)
> #query = (db.table0.id > 0)
> rows = db(query).select().as_list()
> return dict(rows = rows)
>
> *# not work*
> curl -X GET -i http://127.0.0.1:8000/test/api/rows_as_list/table0/1
>
> *# traceback*
> Traceback (most recent call last):
>   File "/Users/MacBookPro/project/python/web2py/gluon/restricted.py", line 
> 219, in restricted
> exec(ccode, environment)
>   File 
> "/Users/MacBookPro/project/python/web2py/applications/test/controllers/api.py",
>  
> line 470, in 
>   File "/Users/MacBookPro/project/python/web2py/gluon/globals.py", line 
> 419, in 
> self._caller = lambda f: f()
>   File 
> "/Users/MacBookPro/project/python/web2py/applications/test/controllers/api.py",
>  
> line 218, in rows_as_list
> id, ext = request.args(1).split('.')
> ValueError: need more than 1 value to unpack
>
>
That's why I added the comment about regexp.
 

> *# not work, no errors occured but the result is not expected (not match 
> with the format (xml or json) )*
> curl -X GET -i http://127.0.0.1:8000/test/api/rows_as_list/table0/1.xml
> curl -X GET -i http://127.0.0.1:8000/test/api/rows_as_list/table0/1.json
>
>
So what do you get.  What do you have on the console when you print id + " 
  " + ext  right after the split? 

> any idea how to achieve it using web2py way?
>
>
I think this is it.
 

> thx n best regards,
> stifan
>

/dps
 

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[web2py] Re: seperate the request.args() with the extension

2018-04-03 Thread 黄祥
*controllers/api.py*
def rows_as_list():
tablename = request.args(0)
#id = request.args(1)
id, ext = request.args(1).split('.')
if int(id) > 0 :
query = (db[tablename]['id'] == id)
else:
query = (db[tablename]['id'] > 0)
#query = (db.table0.id > 0)
rows = db(query).select().as_list()
return dict(rows = rows)

*# not work*
curl -X GET -i http://127.0.0.1:8000/test/api/rows_as_list/table0/1

*# traceback*
Traceback (most recent call last):
  File "/Users/MacBookPro/project/python/web2py/gluon/restricted.py", line 
219, in restricted
exec(ccode, environment)
  File 
"/Users/MacBookPro/project/python/web2py/applications/test/controllers/api.py", 
line 470, in 
  File "/Users/MacBookPro/project/python/web2py/gluon/globals.py", line 
419, in 
self._caller = lambda f: f()
  File 
"/Users/MacBookPro/project/python/web2py/applications/test/controllers/api.py", 
line 218, in rows_as_list
id, ext = request.args(1).split('.')
ValueError: need more than 1 value to unpack

*# not work, no errors occured but the result is not expected (not match 
with the format (xml or json) )*
curl -X GET -i http://127.0.0.1:8000/test/api/rows_as_list/table0/1.xml
curl -X GET -i http://127.0.0.1:8000/test/api/rows_as_list/table0/1.json

any idea how to achieve it using web2py way?

thx n best regards,
stifan

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[web2py] Re: seperate the request.args() with the extension

2018-04-03 Thread Dave S


On Tuesday, April 3, 2018 at 4:35:11 PM UTC-7, 黄祥 wrote:
>
> is it possible to seperate the request.args() with the extension?
> *e.g.*
> *controllers/api.py*
> def rows_as_list():
> tablename = request.args(0)
> id = request.args(1)
> if int(id) > 0 :
> query = (db[tablename]['id'] == id)
> else:
> query = (db[tablename]['id'] > 0)
> #query = (db.table0.id > 0)
> rows = db(query).select().as_list()
> return dict(rows = rows)
>
> *# work*
> curl -X GET -i http://127.0.0.1:8000/test/api/rows_as_list/table0/1
>
> *# not work*
> curl -X GET -i http://127.0.0.1:8000/test/api/rows_as_list/table0/1.xml
> curl -X GET -i http://127.0.0.1:8000/test/api/rows_as_list/table0/1.json
>
> *traceback*
> Traceback (most recent call last):
>   File "/Users/MacBookPro/project/python/web2py/gluon/restricted.py", line 
> 219, in restricted
> exec(ccode, environment)
>   File 
> "/Users/MacBookPro/project/python/web2py/applications/test/controllers/api.py",
>  
> line 471, in 
>   File "/Users/MacBookPro/project/python/web2py/gluon/globals.py", line 
> 419, in 
> self._caller = lambda f: f()
>   File 
> "/Users/MacBookPro/project/python/web2py/applications/test/controllers/api.py",
>  
> line 220, in rows_as_list
> if int(id) > 0 :
> ValueError: invalid literal for int() with base 10: '1.xml'
>
> *question*
> how can i seperate the request.args(1) with the extension, so that i can 
> use the curl with the extension?
>
> thx and best regards,
> stifan
>

 How about:   id, ext = request.args(1).split('.')  ???

/dps

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.