Massimo,
Thank you so much that did it, and now it make's life so much easier :)

Not I can also pass each Template ID and make a HyperLink to view the text 
as well.

This is great man, thanks for the help
Sif

On Tuesday, July 22, 2014 12:43:05 AM UTC-6, Massimo Di Pierro wrote:
>
> I understand you should not use return but you should build a response, 
> for example:
>
> def index():
>
>     import requests
>     import json
>     url = "https://10.10.10.1/wapi/2/";
>     object_type = "config_templates/search"
>     data = requests.get(url + object_type, verify=False, auth=('myuser', 
> 'mypwd'))
>     json_input = data.text
>     try:
>         decoded = json.loads(json_input)
>         names = [entry['name'] for entry in decoded['config_templates']]
>         return dict(names=names)
>     except (ValueError, KeyError, TypeError):
>         return "JSON format error"
>
>
> On Monday, 21 July 2014 17:21:39 UTC-5, Sif Baksh wrote:
>>
>> Massimo,
>> Thanks for replying, I'm both new to Python and web2py (loving it so far)
>>
>> Here is an example of the JSON file this is showing one device config 
>> return:
>> {
>>     "config_templates": [
>>         {
>>             "_class": "ConfigTemplate", 
>>             "created_at": "2012-02-24 11:37:53", 
>>             "created_by": "admin", 
>>             "description": "C3750 config template", 
>>             "device_type": "Switch-Router", 
>>             "id": 1, 
>>             "model": "", 
>>             "name": "cisco_catalyst37xxstack", 
>>             "risk_level": 3, 
>>             "template_text": "version 12.2\nno service pad\nservice 
>> timestamps debug datetime msec\nservice timestamps log datetime msec\nno 
>> service password-encryption\n!\nhostname $hostname\n!\nenable password 
>> infoblox\n!\nboot-start-marker\nboot-end-marker\n!\n!\nusername admin 
>> privilege 15 password 0 infoblox\nno aaa new-model\nswitch 1 provision 
>> ws-c3750-48p\nsystem mtu routing 1500\nvtp domain cisco\nvtp mode 
>> transparent\nip subnet-zero\nip domain-name $domain_name\nno ip 
>> domain-lookup\n!\n!\n!\n!         \n!         \n!         \n!         \n!   
>>       \n!         \n!         \nspanning-tree mode pvst\nspanning-tree 
>> extend system-id\n!         \nvlan internal allocation policy ascending\n! 
>>         \n!         \n$config_vlans\n!         \n!         
>> \n$config_interfaces\n!\n!\nno ip classless\nip default-gateway 
>> $gateway\nno ip http server\nno ip http secure-server\n!\n!\nlogging 
>> $syslog\nsnmp-server community infoblox RW\n!\ncontrol-plane\n!\n!\nline 
>> con 0\nline vty 0 4\n exec-timeout 300 0\n logging synchronous\n login 
>> local\n transport input telnet ssh\nline vty 5 15\n exec-timeout 300 0\n 
>> logging synchronous\n login local\n transport input telnet 
>> ssh\n!\nend\n\n", 
>>             "template_type": "Device", 
>>             "updated_at": "2014-03-13 17:27:03", 
>>             "updated_by": "System", 
>>             "vendor": "Cisco", 
>>             "version": ""
>>         }
>>     ], 
>>     "current": 1, 
>>     "limit": 1000, 
>>     "start": 0, 
>>     "total": 1
>> }
>>
>> But my total output is 52 of the above, I wanted to grab the name of each 
>> config template and display it on a WebPage.
>>
>> I might be doing something wrong, but I googled it and test it on the CLI 
>> and it worked fine :)
>>
>> cisco_catalyst37xxstack
>> juniper_ex2200
>> PSSwitchConfigTemplate
>> Cisco-3620-12.4(25b)-RouterStandardConfig1
>> intloopback
>> CopyCiscoCatalyst3750
>> ...
>>
>> Thanks,
>> Sif
>>
>> On Sunday, July 20, 2014 9:30:51 AM UTC-6, Massimo Di Pierro wrote:
>>>
>>> I am not sure what you mean by:
>>>
>>> for entry in decoded['config_templates']:
>>>         return entry['name']
>>>
>>> why do you have a return in a loop? It will only return the first time. 
>>> The cli may do something unusual.
>>>
>>>
>>> On Friday, 18 July 2014 16:15:11 UTC-5, Sif Baksh wrote:
>>>>
>>>>
>>>> My very first besides the Hello World.
>>>> It's pulling data from a RESTful Server and the output is JSON.
>>>> We have 52 entries in our Config Templates and it just prints out one 
>>>> under web2py.
>>>>
>>>> When I run this in web2py it only return one result:
>>>>
>>>> def index():
>>>>
>>>>     import requests
>>>>     import json
>>>>     url = "https://10.10.10.1/wapi/2/";
>>>>     object_type = "config_templates/search"
>>>>     data = requests.get(url + object_type, verify=False, 
>>>> auth=('myuser', 'mypwd'))
>>>>     json_input = data.text
>>>>     try:
>>>>         decoded = json.loads(json_input)
>>>>     for entry in decoded['config_templates']:
>>>>         return entry['name']
>>>>     except (ValueError, KeyError, TypeError):
>>>>         return "JSON format error"
>>>>
>>>>
>>>> When I run the following from the cli it returns 52 entries:
>>>>
>>>>     import requests
>>>>     import json
>>>>     url = "https://10.10.10.1/wapi/2/";
>>>>     object_type = "config_templates/search"
>>>>     data = requests.get(url + object_type, verify=False, 
>>>> auth=('myuser', 'mypwd'))
>>>>     json_input = data.text
>>>>     try:
>>>>         decoded = json.loads(json_input)
>>>>     for entry in decoded['config_templates']:
>>>>         return entry['name']
>>>>     except (ValueError, KeyError, TypeError):
>>>>         return "JSON format error"
>>>>
>>>> Do I need to do something different in web2py?
>>>>
>>>> Thanks in advance
>>>> Sif
>>>>
>>>

-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to