Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-chart-studio for 
openSUSE:Factory checked in at 2023-03-24 15:19:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-chart-studio (Old)
 and      /work/SRC/openSUSE:Factory/.python-chart-studio.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-chart-studio"

Fri Mar 24 15:19:53 2023 rev:4 rq:1073602 version:1.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-chart-studio/python-chart-studio.changes  
2020-07-09 13:21:46.113724920 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-chart-studio.new.31432/python-chart-studio.changes
       2023-03-24 15:20:12.238820018 +0100
@@ -1,0 +2,8 @@
+Tue Mar 21 11:13:49 UTC 2023 - [email protected]
+
+- do not require six
+- added patches
+  fix 
https://github.com/plotly/plotly.py/commit/c3fb1a575f009057111f0a7d149861fda2c59129
+  + python-chart-studio-no-six.patch
+
+-------------------------------------------------------------------

New:
----
  python-chart-studio-no-six.patch

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

Other differences:
------------------
++++++ python-chart-studio.spec ++++++
--- /var/tmp/diff_new_pack.pa3LsU/_old  2023-03-24 15:20:12.674822291 +0100
+++ /var/tmp/diff_new_pack.pa3LsU/_new  2023-03-24 15:20:12.678822312 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-chart-studio
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,8 +16,7 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define         skip_python2 1
+%define pythons python38 python39
 Name:           python-chart-studio
 Version:        1.1.0
 Release:        0
@@ -26,6 +25,8 @@
 Group:          Development/Languages/Python
 URL:            https://plot.ly/python/
 Source:         
https://files.pythonhosted.org/packages/source/c/chart-studio/chart-studio-%{version}.tar.gz
+# 
https://github.com/plotly/plotly.py/commit/c3fb1a575f009057111f0a7d149861fda2c59129
+Patch0:         python-chart-studio-no-six.patch
 BuildRequires:  %{python_module devel}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  python-rpm-macros
@@ -33,13 +34,11 @@
 BuildRequires:  %{python_module plotly}
 BuildRequires:  %{python_module requests}
 BuildRequires:  %{python_module retrying >= 1.3.3}
-BuildRequires:  %{python_module six}
 # /SECTION
 BuildRequires:  fdupes
 Requires:       python-plotly
 Requires:       python-requests
 Requires:       python-retrying >= 1.3.3
-Requires:       python-six
 BuildArch:      noarch
 
 %python_subpackages
@@ -48,7 +47,7 @@
 Utilities for interfacing with plotly's Chart Studio
 
 %prep
-%setup -q -n chart-studio-%{version}
+%autosetup -p1 -n chart-studio-%{version}
 
 %build
 %python_build
@@ -62,6 +61,6 @@
 
 %files %{python_files}
 %doc README.md
-%{python_sitelib}/*
+%{python_sitelib}/chart_studio*
 
 %changelog

++++++ python-chart-studio-no-six.patch ++++++
Index: 
chart-studio-1.1.0/chart_studio/plotly/chunked_requests/chunked_request.py
===================================================================
--- 
chart-studio-1.1.0.orig/chart_studio/plotly/chunked_requests/chunked_request.py
+++ chart-studio-1.1.0/chart_studio/plotly/chunked_requests/chunked_request.py
@@ -1,10 +1,10 @@
-import time
-import six
+import http.client
 import os
 import ssl
+import time
+from io import StringIO
 
-from six.moves import http_client
-from six.moves.urllib.parse import urlparse, unquote
+from urllib.parse import urlparse, unquote
 
 from chart_studio.api import utils
 
@@ -50,12 +50,12 @@ class Stream:
             # Reconnect depending on the status code.
             if (response == "" and "" in reconnect_on) or (
                 response
-                and isinstance(response, http_client.HTTPResponse)
+                and isinstance(response, http.client.HTTPResponse)
                 and response.status in reconnect_on
             ):
                 self._reconnect()
 
-            elif response and isinstance(response, http_client.HTTPResponse):
+            elif response and isinstance(response, http.client.HTTPResponse):
                 # If an HTTPResponse was recieved then
                 # make the users aware instead of
                 # auto-reconnecting in case the
@@ -85,7 +85,7 @@ class Stream:
                 "{msglen}\r\n{msg}\r\n".format(msglen=msglen, 
msg=msg).encode("utf-8")
             )
             self._conn.sock.setblocking(0)
-        except http_client.socket.error:
+        except http.client.socket.error:
             self._reconnect()
             self.write(data)
 
@@ -152,11 +152,11 @@ class Stream:
         if proxy_server and proxy_port:
             if ssl_enabled:
                 context = self._get_ssl_context()
-                self._conn = http_client.HTTPSConnection(
+                self._conn = http.client.HTTPSConnection(
                     proxy_server, proxy_port, context=context
                 )
             else:
-                self._conn = http_client.HTTPConnection(proxy_server, 
proxy_port)
+                self._conn = http.client.HTTPConnection(proxy_server, 
proxy_port)
 
             tunnel_headers = None
             if proxy_auth:
@@ -166,9 +166,9 @@ class Stream:
         else:
             if ssl_enabled:
                 context = self._get_ssl_context()
-                self._conn = http_client.HTTPSConnection(server, port, 
context=context)
+                self._conn = http.client.HTTPSConnection(server, port, 
context=context)
             else:
-                self._conn = http_client.HTTPConnection(server, port)
+                self._conn = http.client.HTTPConnection(server, port)
 
         self._conn.putrequest("POST", self._url)
         self._conn.putheader("Transfer-Encoding", "chunked")
@@ -179,14 +179,14 @@ class Stream:
         # Set blocking to False prevents recv
         # from blocking while waiting for a response.
         self._conn.sock.setblocking(False)
-        self._bytes = six.b("")
+        self._bytes = b""
         self._reset_retries()
         time.sleep(0.5)
 
     def close(self):
         """ Close the connection to server.
 
-        If available, return a http_client.HTTPResponse object.
+        If available, return a http.client.HTTPResponse object.
 
         Closing the connection involves sending the
         Transfer-Encoding terminating bytes.
@@ -199,7 +199,7 @@ class Stream:
         # require an extra \r\n.
         try:
             self._conn.send("\r\n0\r\n\r\n".encode("utf-8"))
-        except http_client.socket.error:
+        except http.client.socket.error:
             # In case the socket has already been closed
             return ""
 
@@ -219,28 +219,28 @@ class Stream:
         while True:
             try:
                 _bytes = self._conn.sock.recv(1)
-            except http_client.socket.error:
+            except http.client.socket.error:
                 # For error 54: Connection reset by peer
                 # (and perhaps others)
-                return six.b("")
-            if _bytes == six.b(""):
+                return b""
+            if _bytes == b"":
                 break
             else:
                 response += _bytes
         # Set recv to be non-blocking again
         self._conn.sock.setblocking(False)
 
-        # Convert the response string to a http_client.HTTPResponse
+        # Convert the response string to a http.client.HTTPResponse
         # object with a bit of a hack
-        if response != six.b(""):
+        if response != b"":
             # Taken from
             # http://pythonwise.blogspot.ca/2010/02/parse-http-response.html
             try:
-                response = http_client.HTTPResponse(_FakeSocket(response))
+                response = http.client.HTTPResponse(_FakeSocket(response))
                 response.begin()
             except:
                 # Bad headers ... etc.
-                response = six.b("")
+                response = b""
         return response
 
     def _isconnected(self):
@@ -268,10 +268,10 @@ class Stream:
             # 3 - Check if the server has returned any data.
             # If they have, then start to store the response
             # in _bytes.
-            self._bytes = six.b("")
+            self._bytes = b""
             self._bytes = self._conn.sock.recv(1)
             return False
-        except http_client.socket.error as e:
+        except http.client.socket.error as e:
             # Check why recv failed
             # Windows machines are the error codes
             # that start with 1
@@ -320,7 +320,7 @@ class Stream:
         if not self._isconnected():
             try:
                 self._connect()
-            except http_client.socket.error as e:
+            except http.client.socket.error as e:
                 # Attempt to reconnect if the connection was refused
                 if e.errno == 61 or e.errno == 10061:
                     # errno 61 is the "Connection Refused" error
@@ -346,8 +346,8 @@ class Stream:
         self._delay = 1
 
 
-class _FakeSocket(six.StringIO):
-    # Used to construct a http_client.HTTPResponse object
+class _FakeSocket(StringIO):
+    # Used to construct a http.client.HTTPResponse object
     # from a string.
     # Thx to: http://pythonwise.blogspot.ca/2010/02/parse-http-response.html
     def makefile(self, *args, **kwargs):
Index: chart-studio-1.1.0/chart_studio/plotly/plotly.py
===================================================================
--- chart-studio-1.1.0.orig/chart_studio/plotly/plotly.py
+++ chart-studio-1.1.0/chart_studio/plotly/plotly.py
@@ -21,11 +21,10 @@ import copy
 import json
 import os
 import time
+import urllib
 import warnings
 import webbrowser
 
-import six
-import six.moves
 import json as _json
 
 import _plotly_utils.utils
@@ -513,8 +512,6 @@ def get_figure(file_owner_or_url, file_i
     fid = "{}:{}".format(file_owner, file_id)
     response = v2.plots.content(fid, inline_data=True)
     figure = response.json()
-    if six.PY2:
-        figure = byteify(figure)
     # Fix 'histogramx', 'histogramy', and 'bardir' stuff
     for index, entry in enumerate(figure["data"]):
         try:
@@ -620,7 +617,7 @@ class Stream:
 
         # If no scheme (https/https) is included in the streaming_url, the
         # host will be None. Use streaming_url in this case.
-        host = six.moves.urllib.parse.urlparse(streaming_url).hostname or 
streaming_url
+        host = urllib.parse.urlparse(streaming_url).hostname or streaming_url
 
         headers = {"Host": host, "plotly-streamtoken": self.stream_id}
         streaming_specs = {
@@ -1380,7 +1377,7 @@ def parse_grid_id_args(grid, grid_url):
     else:
         supplied_arg_name = supplied_arg_names.pop()
         if supplied_arg_name == "grid_url":
-            path = six.moves.urllib.parse.urlparse(grid_url).path
+            path = urllib.parse.urlparse(grid_url).path
             file_owner, file_id = path.replace("/~", "").split("/")[0:2]
             return "{0}:{1}".format(file_owner, file_id)
         else:
@@ -1392,7 +1389,7 @@ def add_share_key_to_url(plot_url, attem
     Check that share key is enabled and update url to include the secret key
 
     """
-    urlsplit = six.moves.urllib.parse.urlparse(plot_url)
+    urlsplit = urllib.parse.urlparse(plot_url)
     username = urlsplit.path.split("/")[1].split("~")[1]
     idlocal = urlsplit.path.split("/")[2]
     fid = "{}:{}".format(username, idlocal)
Index: chart-studio-1.1.0/chart_studio/session.py
===================================================================
--- chart-studio-1.1.0.orig/chart_studio/session.py
+++ chart-studio-1.1.0/chart_studio/session.py
@@ -9,39 +9,37 @@ from __future__ import absolute_import
 
 import copy
 
-import six
-
 import _plotly_utils.exceptions
 
 
 _session = {"credentials": {}, "config": {}, "plot_options": {}}
 
 CREDENTIALS_KEYS = {
-    "username": six.string_types,
-    "api_key": six.string_types,
-    "proxy_username": six.string_types,
-    "proxy_password": six.string_types,
+    "username": str,
+    "api_key": str,
+    "proxy_username": str,
+    "proxy_password": str,
     "stream_ids": list,
 }
 
 CONFIG_KEYS = {
-    "plotly_domain": six.string_types,
-    "plotly_streaming_domain": six.string_types,
-    "plotly_api_domain": six.string_types,
+    "plotly_domain": str,
+    "plotly_streaming_domain": str,
+    "plotly_api_domain": str,
     "plotly_ssl_verification": bool,
     "plotly_proxy_authorization": bool,
     "world_readable": bool,
     "auto_open": bool,
-    "sharing": six.string_types,
+    "sharing": str,
 }
 
 PLOT_OPTIONS = {
-    "filename": six.string_types,
-    "fileopt": six.string_types,
+    "filename": str,
+    "fileopt": str,
     "validate": bool,
     "world_readable": bool,
     "auto_open": bool,
-    "sharing": six.string_types,
+    "sharing": str,
 }
 
 SHARING_OPTIONS = ["public", "private", "secret"]
Index: chart-studio-1.1.0/chart_studio/tools.py
===================================================================
--- chart-studio-1.1.0.orig/chart_studio/tools.py
+++ chart-studio-1.1.0/chart_studio/tools.py
@@ -9,9 +9,9 @@ Functions that USERS will possibly want
 """
 from __future__ import absolute_import
 
+import urllib
 import warnings
 
-import six
 import copy
 
 from _plotly_utils import optional_imports
@@ -102,13 +102,13 @@ def set_credentials_file(
         )
     ensure_local_plotly_files()  # make sure what's there is OK
     credentials = get_credentials_file()
-    if isinstance(username, six.string_types):
+    if isinstance(username, str):
         credentials["username"] = username
-    if isinstance(api_key, six.string_types):
+    if isinstance(api_key, str):
         credentials["api_key"] = api_key
-    if isinstance(proxy_username, six.string_types):
+    if isinstance(proxy_username, str):
         credentials["proxy_username"] = proxy_username
-    if isinstance(proxy_password, six.string_types):
+    if isinstance(proxy_password, str):
         credentials["proxy_password"] = proxy_password
     if isinstance(stream_ids, (list, tuple)):
         credentials["stream_ids"] = stream_ids
@@ -173,23 +173,23 @@ def set_config_file(
     )
 
     settings = get_config_file()
-    if isinstance(plotly_domain, six.string_types):
+    if isinstance(plotly_domain, str):
         settings["plotly_domain"] = plotly_domain
     elif plotly_domain is not None:
         raise TypeError("plotly_domain should be a string")
-    if isinstance(plotly_streaming_domain, six.string_types):
+    if isinstance(plotly_streaming_domain, str):
         settings["plotly_streaming_domain"] = plotly_streaming_domain
     elif plotly_streaming_domain is not None:
         raise TypeError("plotly_streaming_domain should be a string")
-    if isinstance(plotly_api_domain, six.string_types):
+    if isinstance(plotly_api_domain, str):
         settings["plotly_api_domain"] = plotly_api_domain
     elif plotly_api_domain is not None:
         raise TypeError("plotly_api_domain should be a string")
-    if isinstance(plotly_ssl_verification, (six.string_types, bool)):
+    if isinstance(plotly_ssl_verification, (str, bool)):
         settings["plotly_ssl_verification"] = plotly_ssl_verification
     elif plotly_ssl_verification is not None:
         raise TypeError("plotly_ssl_verification should be a boolean")
-    if isinstance(plotly_proxy_authorization, (six.string_types, bool)):
+    if isinstance(plotly_proxy_authorization, (str, bool)):
         settings["plotly_proxy_authorization"] = plotly_proxy_authorization
     elif plotly_proxy_authorization is not None:
         raise TypeError("plotly_proxy_authorization should be a boolean")
@@ -208,7 +208,7 @@ def set_config_file(
         settings.pop("sharing")
     elif world_readable is not None:
         raise TypeError("Input should be a boolean")
-    if isinstance(sharing, six.string_types):
+    if isinstance(sharing, str):
         settings["sharing"] = sharing
     elif sharing is not None:
         raise TypeError("sharing should be a string")
@@ -260,12 +260,12 @@ def _get_embed_url(file_owner_or_url, fi
                 "\nRun help on this function for more information."
                 "".format(url, plotly_rest_url)
             )
-        urlsplit = six.moves.urllib.parse.urlparse(url)
+        urlsplit = urllib.parse.urlparse(url)
         file_owner = urlsplit.path.split("/")[1].split("~")[1]
         file_id = urlsplit.path.split("/")[2]
 
         # to check for share_key we check urlsplit.query
-        query_dict = six.moves.urllib.parse.parse_qs(urlsplit.query)
+        query_dict = urllib.parse.parse_qs(urlsplit.query)
         if query_dict:
             share_key = query_dict["share_key"][-1]
         else:
Index: chart-studio-1.1.0/setup.py
===================================================================
--- chart-studio-1.1.0.orig/setup.py
+++ chart-studio-1.1.0/setup.py
@@ -41,6 +41,6 @@ setup(
         "chart_studio.plotly.chunked_requests",
         "chart_studio.presentation_objs",
     ],
-    install_requires=["plotly", "requests", "retrying>=1.3.3", "six"],
+    install_requires=["plotly", "requests", "retrying>=1.3.3"],
     zip_safe=False,
 )
Index: chart-studio-1.1.0/chart_studio.egg-info/requires.txt
===================================================================
--- chart-studio-1.1.0.orig/chart_studio.egg-info/requires.txt
+++ chart-studio-1.1.0/chart_studio.egg-info/requires.txt
@@ -1,4 +1,3 @@
 plotly
 requests
 retrying>=1.3.3
-six

Reply via email to