Hello community,

here is the log from the commit of package python-pynetbox for openSUSE:Factory 
checked in at 2020-07-09 13:20:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pynetbox (Old)
 and      /work/SRC/openSUSE:Factory/.python-pynetbox.new.3060 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pynetbox"

Thu Jul  9 13:20:20 2020 rev:13 rq:819676 version:5.0.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pynetbox/python-pynetbox.changes  
2020-06-26 21:50:03.402717968 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pynetbox.new.3060/python-pynetbox.changes    
    2020-07-09 13:21:24.413656335 +0200
@@ -1,0 +2,18 @@
+Wed Jul  8 15:53:44 UTC 2020 - Martin Hauke <[email protected]>
+
+- Update to version 5.0.4
+  * Fixes issue saving local_config_context attribute on objects
+
+-------------------------------------------------------------------
+Mon Jul  6 18:38:36 UTC 2020 - Martin Hauke <[email protected]>
+
+- Update to version 5.0.3
+  * Fixes issue with threads overwriting Request.filters.
+
+-------------------------------------------------------------------
+Mon Jul  6 18:37:47 UTC 2020 - Martin Hauke <[email protected]>
+
+- Udpate to version 5.0.2
+  * Fixes Api.get_version() to use the session object.
+
+-------------------------------------------------------------------

Old:
----
  pynetbox-5.0.1.tar.gz

New:
----
  pynetbox-5.0.4.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pynetbox.spec ++++++
--- /var/tmp/diff_new_pack.kLwyqY/_old  2020-07-09 13:21:25.017658245 +0200
+++ /var/tmp/diff_new_pack.kLwyqY/_new  2020-07-09 13:21:25.017658245 +0200
@@ -18,7 +18,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-pynetbox
-Version:        5.0.1
+Version:        5.0.4
 Release:        0
 Summary:        NetBox API client library
 License:        Apache-2.0

++++++ pynetbox-5.0.1.tar.gz -> pynetbox-5.0.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynetbox-5.0.1/PKG-INFO new/pynetbox-5.0.4/PKG-INFO
--- old/pynetbox-5.0.1/PKG-INFO 2020-06-25 23:42:27.403050400 +0200
+++ new/pynetbox-5.0.4/PKG-INFO 2020-07-08 17:31:56.122555500 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pynetbox
-Version: 5.0.1
+Version: 5.0.4
 Summary: NetBox API client library
 Home-page: https://github.com/digitalocean/pynetbox
 Author: Zach Moody
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynetbox-5.0.1/pynetbox/core/endpoint.py 
new/pynetbox-5.0.4/pynetbox/core/endpoint.py
--- old/pynetbox-5.0.1/pynetbox/core/endpoint.py        2020-06-25 
23:42:12.000000000 +0200
+++ new/pynetbox-5.0.4/pynetbox/core/endpoint.py        2020-07-08 
17:31:48.000000000 +0200
@@ -295,22 +295,22 @@
 
         :Returns: Dict containing the available choices.
 
-        :Examples:
+        :Example (from NetBox 2.8.x):
 
         >>> from pprint import pprint
         >>> pprint(nb.ipam.ip_addresses.choices())
-        {'role': [{'display_name': 'Secondary', 'value': 20},
-                  {'display_name': 'VIP', 'value': 40},
-                  {'display_name': 'VRRP', 'value': 41},
-                  {'display_name': 'Loopback', 'value': 10},
-                  {'display_name': 'GLBP', 'value': 43},
-                  {'display_name': 'CARP', 'value': 44},
-                  {'display_name': 'HSRP', 'value': 42},
-                  {'display_name': 'Anycast', 'value': 30}],
-         'status': [{'display_name': 'Active', 'value': 1},
-                    {'display_name': 'Reserved', 'value': 2},
-                    {'display_name': 'Deprecated', 'value': 3},
-                    {'display_name': 'DHCP', 'value': 5}]}
+        {'role': [{'display_name': 'Loopback', 'value': 'loopback'},
+                  {'display_name': 'Secondary', 'value': 'secondary'},
+                  {'display_name': 'Anycast', 'value': 'anycast'},
+                  {'display_name': 'VIP', 'value': 'vip'},
+                  {'display_name': 'VRRP', 'value': 'vrrp'},
+                  {'display_name': 'HSRP', 'value': 'hsrp'},
+                  {'display_name': 'GLBP', 'value': 'glbp'},
+                  {'display_name': 'CARP', 'value': 'carp'}],
+         'status': [{'display_name': 'Active', 'value': 'active'},
+                    {'display_name': 'Reserved', 'value': 'reserved'},
+                    {'display_name': 'Deprecated', 'value': 'deprecated'},
+                    {'display_name': 'DHCP', 'value': 'dhcp'}]}
         >>>
         """
         if self._choices:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynetbox-5.0.1/pynetbox/core/query.py 
new/pynetbox-5.0.4/pynetbox/core/query.py
--- old/pynetbox-5.0.1/pynetbox/core/query.py   2020-06-25 23:42:12.000000000 
+0200
+++ new/pynetbox-5.0.4/pynetbox/core/query.py   2020-07-08 17:31:48.000000000 
+0200
@@ -197,7 +197,7 @@
         headers = {
             "Content-Type": "application/json;",
         }
-        req = requests.get(self.normalize_url(self.base), headers=headers,)
+        req = self.http_session.get(self.normalize_url(self.base), 
headers=headers,)
         if req.ok:
             return req.headers.get("API-Version", "")
         else:
@@ -250,7 +250,7 @@
         params = {}
         if not url_override:
             if self.filters:
-                params = self.filters
+                params.update(self.filters)
             if add_params:
                 params.update(add_params)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynetbox-5.0.1/pynetbox/core/response.py 
new/pynetbox-5.0.4/pynetbox/core/response.py
--- old/pynetbox-5.0.1/pynetbox/core/response.py        2020-06-25 
23:42:12.000000000 +0200
+++ new/pynetbox-5.0.4/pynetbox/core/response.py        2020-07-08 
17:31:48.000000000 +0200
@@ -13,6 +13,8 @@
 See the License for the specific language governing permissions and
 limitations under the License.
 """
+import copy
+
 import pynetbox.core.app
 from six.moves.urllib.parse import urlsplit
 from pynetbox.core.query import Request
@@ -235,7 +237,10 @@
 
     def _add_cache(self, item):
         key, value = item
-        self._init_cache.append((key, get_return(value)))
+        if key == "local_context_data":
+            self._init_cache.append((key, copy.deepcopy(value)))
+        else:
+            self._init_cache.append((key, get_return(value)))
 
     def _parse_values(self, values):
         """ Parses values init arg.
@@ -252,7 +257,9 @@
         for k, v in values.items():
             if isinstance(v, dict):
                 lookup = getattr(self.__class__, k, None)
-                if k == "custom_fields" or hasattr(lookup, "_json_field"):
+                if k in ["custom_fields", "local_context_data"] or hasattr(
+                    lookup, "_json_field"
+                ):
                     self._add_cache((k, v.copy()))
                     setattr(self, k, v)
                     continue
@@ -275,20 +282,6 @@
         app, name = urlsplit(url).path.split("/")[2:4]
         return getattr(pynetbox.core.app.App(self.api, app), name)
 
-    def _compare(self):
-        """Compares current attributes to values at instantiation.
-
-        In order to be idempotent we run this method in `save()`.
-
-        Returns:
-            Boolean value, True indicates current instance has the same
-            attributes as the ones passed to `values`.
-        """
-
-        if self.serialize(init=True) == self.serialize():
-            return True
-        return False
-
     def full_details(self):
         """Queries the hyperlinked endpoint if 'url' is defined.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynetbox-5.0.1/pynetbox.egg-info/PKG-INFO 
new/pynetbox-5.0.4/pynetbox.egg-info/PKG-INFO
--- old/pynetbox-5.0.1/pynetbox.egg-info/PKG-INFO       2020-06-25 
23:42:26.000000000 +0200
+++ new/pynetbox-5.0.4/pynetbox.egg-info/PKG-INFO       2020-07-08 
17:31:55.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pynetbox
-Version: 5.0.1
+Version: 5.0.4
 Summary: NetBox API client library
 Home-page: https://github.com/digitalocean/pynetbox
 Author: Zach Moody
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynetbox-5.0.1/tests/test_api.py 
new/pynetbox-5.0.4/tests/test_api.py
--- old/pynetbox-5.0.1/tests/test_api.py        2020-06-25 23:42:12.000000000 
+0200
+++ new/pynetbox-5.0.4/tests/test_api.py        2020-07-08 17:31:48.000000000 
+0200
@@ -51,7 +51,10 @@
         headers = {"API-Version": "1.999"}
         ok = True
 
-    @patch("requests.get", return_value=ResponseHeadersWithVersion())
+    @patch(
+        "pynetbox.core.query.requests.sessions.Session.get",
+        return_value=ResponseHeadersWithVersion(),
+    )
     def test_api_version(self, *_):
         api = pynetbox.api(host,)
         self.assertEqual(api.version, "1.999")
@@ -60,7 +63,10 @@
         headers = {}
         ok = True
 
-    @patch("requests.get", return_value=ResponseHeadersWithoutVersion())
+    @patch(
+        "pynetbox.core.query.requests.sessions.Session.get",
+        return_value=ResponseHeadersWithoutVersion(),
+    )
     def test_api_version_not_found(self, *_):
         api = pynetbox.api(host,)
         self.assertEqual(api.version, "")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynetbox-5.0.1/tests/test_dcim.py 
new/pynetbox-5.0.4/tests/test_dcim.py
--- old/pynetbox-5.0.1/tests/test_dcim.py       2020-06-25 23:42:12.000000000 
+0200
+++ new/pynetbox-5.0.4/tests/test_dcim.py       2020-07-08 17:31:48.000000000 
+0200
@@ -111,7 +111,7 @@
                     headers=HEADERS,
                 )
 
-        def test_compare(self):
+        def test_diff(self):
             with patch(
                 "pynetbox.core.query.requests.sessions.Session.get",
                 return_value=Response(
@@ -120,7 +120,7 @@
             ):
                 ret = getattr(nb, self.name).get(1)
                 self.assertTrue(ret)
-                self.assertTrue(ret._compare())
+                self.assertEqual(ret._diff(), set())
 
         def test_serialize(self):
             with patch(
@@ -186,7 +186,7 @@
         ret.serial = "123123123123"
         ret_serialized = ret.serialize()
         self.assertTrue(ret_serialized)
-        self.assertFalse(ret._compare())
+        self.assertEqual(ret._diff(), {"serial"})
         self.assertEqual(ret_serialized["serial"], "123123123123")
 
     @patch(
@@ -264,7 +264,7 @@
         """
         ret = getattr(nb, self.name).get(1)
         ret.custom_fields["test_custom"] = "Testing"
-        self.assertFalse(ret._compare())
+        self.assertEqual(ret._diff(), {"custom_fields"})
         self.assertTrue(ret.serialize())
         self.assertEqual(ret.custom_fields["test_custom"], "Testing")
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynetbox-5.0.1/tests/test_ipam.py 
new/pynetbox-5.0.4/tests/test_ipam.py
--- old/pynetbox-5.0.1/tests/test_ipam.py       2020-06-25 23:42:12.000000000 
+0200
+++ new/pynetbox-5.0.4/tests/test_ipam.py       2020-07-08 17:31:48.000000000 
+0200
@@ -107,7 +107,7 @@
         ret.prefix = "10.1.2.0/24"
         ret_serialized = ret.serialize()
         self.assertTrue(ret_serialized)
-        self.assertFalse(ret._compare())
+        self.assertEqual(ret._diff(), {"prefix"})
         self.assertEqual(ret_serialized["prefix"], "10.1.2.0/24")
 
     @patch(
@@ -216,7 +216,7 @@
         ret.description = "testing"
         ret_serialized = ret.serialize()
         self.assertTrue(ret_serialized)
-        self.assertFalse(ret._compare())
+        self.assertEqual(ret._diff(), {"description"})
         self.assertEqual(ret_serialized["address"], "10.0.255.1/32")
         self.assertEqual(ret_serialized["description"], "testing")
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pynetbox-5.0.1/tests/unit/test_response.py 
new/pynetbox-5.0.4/tests/unit/test_response.py
--- old/pynetbox-5.0.1/tests/unit/test_response.py      2020-06-25 
23:42:12.000000000 +0200
+++ new/pynetbox-5.0.4/tests/unit/test_response.py      2020-07-08 
17:31:48.000000000 +0200
@@ -55,12 +55,16 @@
             "nested_dict": {"id": 222, "name": "bar"},
             "tags": ["foo", "bar"],
             "int_list": [123, 321, 231],
+            "local_context_data": {"data": ["one"]},
         }
         test = Record(test_values, None, None)
         test.tags.append("baz")
         test.nested_dict = 1
         test.string_field = "foobaz"
-        self.assertEqual(test._diff(), {"tags", "nested_dict", "string_field"})
+        test.local_context_data["data"].append("two")
+        self.assertEqual(
+            test._diff(), {"tags", "nested_dict", "string_field", 
"local_context_data"}
+        )
 
     def test_diff_append_records_list(self):
         test_values = {


Reply via email to