<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to iterate the return value from OpenVul api in Services Discussions</title>
    <link>https://community.cisco.com/t5/services-discussions/how-to-iterate-the-return-value-from-openvul-api/m-p/3900411#M556</link>
    <description>&lt;P&gt;Hi Seb,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks its working...&lt;/P&gt;</description>
    <pubDate>Wed, 31 Jul 2019 02:22:45 GMT</pubDate>
    <dc:creator>angelest</dc:creator>
    <dc:date>2019-07-31T02:22:45Z</dc:date>
    <item>
      <title>How to iterate the return value from OpenVul api</title>
      <link>https://community.cisco.com/t5/services-discussions/how-to-iterate-the-return-value-from-openvul-api/m-p/3899877#M554</link>
      <description>&lt;DIV class="debug-hover-tree"&gt;&lt;DIV class="monaco-list list_id_8 horizontal-scrolling selection-none"&gt;&lt;DIV class="monaco-scrollable-element "&gt;&lt;DIV class="monaco-list-rows"&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-twistie"&gt;&lt;SPAN&gt;Quite new to python and openVul, need advise how to iterate the advisory so I can put into a dictionary.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class="monaco-tl-twistie"&gt;&lt;P&gt;When I try to iterate it gives error 'TypeError: argument of type 'AdvisoryIOS' is not iterable'&lt;/P&gt;&lt;/DIV&gt;&lt;DIV class="monaco-tl-twistie"&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;sample iteration code.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; adv &lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt; advisories:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; print&lt;/SPAN&gt;&lt;SPAN&gt;(adv) --&amp;gt; this will print &amp;lt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;openVulnQuery._library.advisory.AdvisoryIOS object at 0x00000000057B04E0&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;adv_dict &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;dict&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;adv_dict[&lt;/SPAN&gt;&lt;SPAN&gt;"cves"&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; adv[&lt;/SPAN&gt;&lt;SPAN&gt;"cves"&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; &lt;SPAN&gt;"cves"&lt;/SPAN&gt; &lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt; adv &lt;/SPAN&gt;&lt;SPAN&gt;else&lt;/SPAN&gt; &lt;SPAN&gt;"Unknown"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;adv_dict[&lt;/SPAN&gt;&lt;SPAN&gt;"sir"&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; adv[&lt;/SPAN&gt;&lt;SPAN&gt;"sir"&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; &lt;SPAN&gt;"sir"&lt;/SPAN&gt; &lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt; adv &lt;/SPAN&gt;&lt;SPAN&gt;else&lt;/SPAN&gt; &lt;SPAN&gt;"Unknown"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;adv_dict[&lt;/SPAN&gt;&lt;SPAN&gt;"advisory_id"&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; adv[&lt;/SPAN&gt;&lt;SPAN&gt;"advisoryId"&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; &lt;SPAN&gt;"advisoryId"&lt;/SPAN&gt; &lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt; adv &lt;/SPAN&gt;&lt;SPAN&gt;else&lt;/SPAN&gt; &lt;SPAN&gt;"Unknown"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;&amp;nbsp; adv_dict[&lt;/SPAN&gt;&lt;SPAN&gt;"advisory_title"&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; adv[&lt;/SPAN&gt;&lt;SPAN&gt;"advisoryTitle"&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; &lt;SPAN&gt;"advisoryTitle"&lt;/SPAN&gt; &lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt; adv &lt;/SPAN&gt;&lt;SPAN&gt;else&lt;/SPAN&gt; &lt;SPAN&gt;"Unknown"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;adv_dict[&lt;/SPAN&gt;&lt;SPAN&gt;"bug_ids"&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; adv[&lt;/SPAN&gt;&lt;SPAN&gt;"bugIDs"&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; &lt;SPAN&gt;"bugIDs"&lt;/SPAN&gt; &lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt; adv &lt;/SPAN&gt;&lt;SPAN&gt;else&lt;/SPAN&gt; &lt;SPAN&gt;"Unknown"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;SPAN&gt;adv_dict[&lt;/SPAN&gt;&lt;SPAN&gt;"iosRelease"&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; adv[&lt;/SPAN&gt;&lt;SPAN&gt;"iosRelease"&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; &lt;SPAN&gt;"iosRelease"&lt;/SPAN&gt; &lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt; adv &lt;/SPAN&gt;&lt;SPAN&gt;else&lt;/SPAN&gt; &lt;SPAN&gt;"Unknown"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-tl-twistie"&gt;API Return Value.&lt;/DIV&gt;&lt;DIV class="monaco-tl-twistie"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;&amp;lt;openVulnQuery._library.advisory.AdvisoryIOS object at 0x00000000057B04E0&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV class="monaco-tl-twistie"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;advisory_id:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value string"&gt;'cisco-sa-20190612-iosxe-csrf'&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;advisory_title:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value string"&gt;'Cisco IOS XE Software Web UI Cross-Site Request Forgery Vulnerability'&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;bug_ids:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value"&gt;['CSCuy98103']&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;cves:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value"&gt;['CVE-2019-1904']&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;cvrfUrl:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value string"&gt;'&lt;A href="https://tools.cisco.com/security/center/contentxml/CiscoSecurityAdvisory/cisco-sa-20190612-iosxe-csrf/cvrf/cisco-sa-20190612-iosxe-csrf_cvrf.xml" target="_blank" rel="noopener"&gt;https://tools.cisco.com/security/center/contentxml/CiscoSecurityAdvisory/cisco-sa-20190612-iosxe-csrf/cvrf/cisco-sa-20190612-iosxe-csrf_cvrf.xml&lt;/A&gt;'&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;cvss_base_score:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value string"&gt;'8.8'&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;cwe:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value"&gt;['CWE-352']&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;first_fixed:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value"&gt;['']&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;first_published:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value string"&gt;'2019-06-12T16:00:00-0700'&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;ios_release:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value"&gt;['3.16.1S']&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;last_updated:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value string"&gt;'2019-07-16T15:51:20-0700'&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;product_names:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value"&gt;['Cisco IOS XE Softwa...3.2.11aSG', 'Cisco IOS XE Softwa...e 3.15.0S', 'Cisco IOS XE Softwa...e 3.15.1S', 'Cisco IOS XE Softwa...e 3.15.2S', 'Cisco IOS XE Softwa... 3.15.1cS', 'Cisco IOS XE Softwa...e 3.15.3S', 'Cisco IOS XE Softwa...e 3.15.4S', 'Cisco IOS XE Softwa...e 3.5.9SQ', 'Cisco IOS XE Softwa...e 3.16.0S', 'Cisco IOS XE Softwa...e 3.16.1S', 'Cisco IOS XE Softwa... 3.16.0aS', 'Cisco IOS XE Softwa... 3.16.1aS', 'Cisco IOS XE Softwa...e 3.16.2S', 'Cisco IOS XE Softwa... 3.16.2aS', ...]&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;publication_url:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value string"&gt;'&lt;A href="https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20190612-iosxe-csrf" target="_blank" rel="noopener"&gt;https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20190612-iosxe-csrf&lt;/A&gt;'&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;sir:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value string"&gt;'High'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&lt;FONT size="2"&gt;&lt;SPAN class="name"&gt;&lt;SPAN class="monaco-highlighted-label"&gt;Summary:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="value string"&gt;'&amp;lt;p&amp;gt;A vulnerability in the web-based UI (web UI) of Cisco&amp;amp;nbsp;IOS XE Software could allow an unauthenticated, remote attacker to conduct a cross-site request forgery (CSRF) attack on an affected system.&amp;lt;/p&amp;gt;\n&amp;lt;p&amp;gt;The vulnerability is due to insufficient CSRF protections for the web UI on an affected device. An attacker could exploit this vulnerability by persuading a user of the interface to follow a malicious link. A successful exploit could allow the attacker to perform arbitrary actions with the privilege level of the affected user. If the user has administrative privileges, the attacker could alter the configuration, execute commands, or reload an affected device.&amp;lt;/p&amp;gt;\n&amp;lt;p&amp;gt;Cisco has released software updates that address this vulnerability. There are no workarounds that address this vulnerability.&amp;lt;/p&amp;gt;\n&amp;lt;p&amp;gt;This advisory is available at the following link:&amp;lt;br /&amp;gt;\n&amp;lt;a href="&lt;A target="_blank" rel="noopener"&gt;https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20190612-iosxe-csrf"&amp;gt;https://tools.cisco.com/security/center&lt;/A&gt;...&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="monaco-list-row"&gt;&lt;DIV class="monaco-tl-row"&gt;&lt;DIV class="monaco-tl-contents"&gt;&lt;DIV class="expression"&gt;&lt;DIV class="inputBoxContainer"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="visible scrollbar horizontal"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 30 Jul 2019 10:08:56 GMT</pubDate>
      <guid>https://community.cisco.com/t5/services-discussions/how-to-iterate-the-return-value-from-openvul-api/m-p/3899877#M554</guid>
      <dc:creator>angelest</dc:creator>
      <dc:date>2019-07-30T10:08:56Z</dc:date>
    </item>
    <item>
      <title>Re: How to iterate the return value from OpenVul api</title>
      <link>https://community.cisco.com/t5/services-discussions/how-to-iterate-the-return-value-from-openvul-api/m-p/3899903#M555</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;AdvisoryIOS is an object not a dictionary. You are trying to reference&amp;nbsp;its variables as if they were dictionary keys.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;A href="https://github.com/CiscoPSIRT/openVulnAPI/blob/master/openVulnQuery/openVulnQuery/_library/advisory.py" target="_blank" rel="noopener"&gt;https://github.com/CiscoPSIRT/openVulnAPI/blob/master/openVulnQuery/openVulnQuery/_library/advisory.py&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Since the variables are always present in the object you don't need to validate them before adding them to adv_dict. Your code should&amp;nbsp;look like:&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt;advs = []&lt;BR /&gt;&lt;BR /&gt;for adv in advisories:
    print(adv)
    adv_dict = dict()
    adv_dict["cves"] = adv.cves
    adv_dict["sir"] = adv.sir
    adv_dict["advisory_id"] = adv.advisory_id  
    adv_dict["advisory_title"] = adv.advisory_title
    adv_dict["bug_ids"] = adv.bug_ids
    adv_dict["iosRelease"] = adv.ios_release&lt;BR /&gt;&lt;BR /&gt;    advs.append(adv_dict)&lt;BR /&gt;&lt;BR /&gt;return advs&lt;/PRE&gt;
&lt;P&gt;&lt;SPAN&gt;cheers,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Seb.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 30 Jul 2019 11:07:57 GMT</pubDate>
      <guid>https://community.cisco.com/t5/services-discussions/how-to-iterate-the-return-value-from-openvul-api/m-p/3899903#M555</guid>
      <dc:creator>Seb Rupik</dc:creator>
      <dc:date>2019-07-30T11:07:57Z</dc:date>
    </item>
    <item>
      <title>Re: How to iterate the return value from OpenVul api</title>
      <link>https://community.cisco.com/t5/services-discussions/how-to-iterate-the-return-value-from-openvul-api/m-p/3900411#M556</link>
      <description>&lt;P&gt;Hi Seb,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks its working...&lt;/P&gt;</description>
      <pubDate>Wed, 31 Jul 2019 02:22:45 GMT</pubDate>
      <guid>https://community.cisco.com/t5/services-discussions/how-to-iterate-the-return-value-from-openvul-api/m-p/3900411#M556</guid>
      <dc:creator>angelest</dc:creator>
      <dc:date>2019-07-31T02:22:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to iterate the return value from OpenVul api</title>
      <link>https://community.cisco.com/t5/services-discussions/how-to-iterate-the-return-value-from-openvul-api/m-p/3900485#M559</link>
      <description>&lt;P&gt;Wasn't my answer the solution to this question? &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 31 Jul 2019 06:45:42 GMT</pubDate>
      <guid>https://community.cisco.com/t5/services-discussions/how-to-iterate-the-return-value-from-openvul-api/m-p/3900485#M559</guid>
      <dc:creator>Seb Rupik</dc:creator>
      <dc:date>2019-07-31T06:45:42Z</dc:date>
    </item>
  </channel>
</rss>

