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.

