Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-serverfiles for 
openSUSE:Factory checked in at 2021-09-09 23:07:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-serverfiles (Old)
 and      /work/SRC/openSUSE:Factory/.python-serverfiles.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-serverfiles"

Thu Sep  9 23:07:39 2021 rev:3 rq:917713 version:0.3.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-serverfiles/python-serverfiles.changes    
2019-03-24 15:00:40.463174109 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-serverfiles.new.1899/python-serverfiles.changes
  2021-09-09 23:08:06.528870277 +0200
@@ -1,0 +2,6 @@
+Wed Sep  8 09:04:12 UTC 2021 - pgaj...@suse.com
+
+- version update to 0.3.1
+  * no upstream changelog
+
+-------------------------------------------------------------------

Old:
----
  serverfiles-0.3.0.tar.gz

New:
----
  serverfiles-0.3.1.tar.gz

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

Other differences:
------------------
++++++ python-serverfiles.spec ++++++
--- /var/tmp/diff_new_pack.haTy3b/_old  2021-09-09 23:08:07.072870909 +0200
+++ /var/tmp/diff_new_pack.haTy3b/_new  2021-09-09 23:08:07.076870913 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-serverfiles
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-serverfiles
-Version:        0.3.0
+Version:        0.3.1
 Release:        0
 Summary:        A utility to locally store files on a HTTP server
 License:        GPL-3.0-or-later
@@ -50,7 +50,7 @@
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
-%python_exec setup.py test
+%pyunittest discover -v
 
 %files %{python_files}
 %license LICENSE.txt

++++++ serverfiles-0.3.0.tar.gz -> serverfiles-0.3.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/serverfiles-0.3.0/PKG-INFO 
new/serverfiles-0.3.1/PKG-INFO
--- old/serverfiles-0.3.0/PKG-INFO      2018-11-23 12:35:37.000000000 +0100
+++ new/serverfiles-0.3.1/PKG-INFO      2021-01-22 16:10:02.966226300 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: serverfiles
-Version: 0.3.0
+Version: 0.3.1
 Summary: An utility that accesses files on a HTTP server and stores them 
locally for reuse.
 Home-page: https://github.com/biolab/serverfiles
 Author: Bioinformatics Laboratory, FRI UL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/serverfiles-0.3.0/serverfiles/__init__.py 
new/serverfiles-0.3.1/serverfiles/__init__.py
--- old/serverfiles-0.3.0/serverfiles/__init__.py       2018-11-23 
11:45:46.000000000 +0100
+++ new/serverfiles-0.3.1/serverfiles/__init__.py       2021-01-22 
16:08:55.000000000 +0100
@@ -168,22 +168,18 @@
         self.password = password
         """Password for authenticated HTTP queried."""
 
-        self.req = requests.Session()
-        a = requests.adapters.HTTPAdapter(max_retries=2)
-        self.req.mount('https://', a)
-        self.req.mount('http://', a)
-
         # cached info for all files on server
         # None is not loaded, False if it does not exist
         self._info = None
 
     def _download_server_info(self):
         if self._info is None:
-            t = self._open("__INFO__")
-            if t.status_code == 200:
-                self._info = {tuple(a): b for a, b in json.loads(t.text)}
+            response = self._open("__INFO__")
+            if response.status_code == 200:
+                self._info = {tuple(a): b for a, b in 
json.loads(response.text)}
             else:
                 self._info = False #do not check again
+            response.close()
 
     def listfiles(self, *args, **kwargs):
         """Return a list of files on the server. Do not list .info files."""
@@ -191,9 +187,10 @@
         self._download_server_info()
         if self._info:
             return [a for a in self._info.keys() if _is_prefix(args, a)]
-        text = self._open(*args).text
+        response = self._open(*args)
         parser = _FindLinksParser()
-        parser.feed(text)
+        parser.feed(response.text)
+        response.close()
         links = parser.links
         files = [args + (f,) for f in links if not f.endswith("/") and not 
f.endswith(".info")]
         if recursive:
@@ -213,35 +210,35 @@
         target = kwargs.get("target", None)
         _create_path(os.path.dirname(target))
 
-        req = self._open(*path)
-        if req.status_code == 404:
+        response = self._open(*path)
+        if response.status_code == 404:
             raise FileNotFoundError
-        elif req.status_code != 200:
+        elif response.status_code != 200:
             raise IOError
 
-        size = req.headers.get('content-length')
+        size = response.headers.get('content-length')
         if size:
             size = int(size)
 
-        f = tempfile.TemporaryFile()
-
-        chunksize = 1024*8
-        lastchunkreport= 0.0001
-
-        readb = 0
+        with tempfile.TemporaryFile() as f:
+            chunksize = 1024*8
+            lastchunkreport= 0.0001
+
+            readb = 0
+
+            for buf in response.iter_content(chunksize):
+                readb += len(buf)
+                while size and float(readb) / size > lastchunkreport+0.01:
+                    lastchunkreport += 0.01
+                    if callback:
+                        callback()
+                f.write(buf)
+
+            f.seek(0)
+            with open(target, "wb") as fo:
+                shutil.copyfileobj(f, fo)
 
-        for buf in req.iter_content(chunksize):
-            readb += len(buf)
-            while size and float(readb) / size > lastchunkreport+0.01:
-                lastchunkreport += 0.01
-                if callback:
-                    callback()
-            f.write(buf)
-
-        f.seek(0)
-
-        with open(target, "wb") as fo:
-            shutil.copyfileobj(f, fo)
+        response.close()
 
         if callback and not size: #size was unknown, call callbacks
             for i in range(99):
@@ -280,20 +277,29 @@
             return self._info.get(path, {})
         path = list(path)
         path[-1] += ".info"
-        t = self._open(*path)
-        if t.status_code == 200:
-            return json.loads(t.text)
-        else:
-            return {}
+        response = self._open(*path)
+
+        _info = {}
+        if response.status_code == 200:
+            _info = json.loads(response.text)
 
-    def _server_request(self, root, *path):
+        response.close()
+        return _info
+
+    def _server_request(self, root, *path) -> requests.Response:
         auth = None
         if self.username and self.password:
             auth = (self.username, self.password)
-        return self.req.get(root + "/".join(path), auth=auth,
-                            timeout=TIMEOUT, stream=True)
 
-    def _open(self, *args):
+        adapter = requests.adapters.HTTPAdapter(max_retries=3)
+        session = requests.Session()
+        session.mount('http://', adapter)
+        session.mount('https://', adapter)
+
+        return session.get(root + "/".join(path), auth=auth,
+                           timeout=TIMEOUT, stream=True)
+
+    def _open(self, *args) -> requests.Response:
         return self._server_request(self.server, *args)
 
 
@@ -373,22 +379,26 @@
 
         _save_file_info(target + '.info', info)
 
-        if extract:
-            if info.get("compression") in ["tar.gz", "tar.bz2"]:
-                f = tarfile.open(target + ".tmp")
+        if not extract:
+            return
+
+        if info.get("compression") in ["tar.gz", "tar.bz2"]:
+            with tarfile.open(target + ".tmp") as temp_fp:
                 try:
                     os.mkdir(target)
                 except OSError:
                     pass
-                f.extractall(target)
-            elif info.get("compression") == "gz":
-                f = gzip.open(target + ".tmp")
-                shutil.copyfileobj(f, open(target, "wb"))
-            elif info.get("compression") == "bz2":
-                f = bz2.BZ2File(target + ".tmp", "r")
-                shutil.copyfileobj(f, open(target, "wb"))
-            f.close()
-            os.remove(target + ".tmp")
+                temp_fp.extractall(target)
+        elif info.get("compression") == "gz":
+            with gzip.open(target + ".tmp") as temp_fp:
+                with open(target, "wb") as fp:
+                    shutil.copyfileobj(temp_fp, fp)
+        elif info.get("compression") == "bz2":
+            with bz2.BZ2File(target + ".tmp", "r") as temp_fp:
+                with open(target, "wb") as fp:
+                    shutil.copyfileobj(temp_fp, fp)
+
+        os.remove(target + ".tmp")
 
     @_locked
     def localpath_download(self, *path, **kwargs):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/serverfiles-0.3.0/serverfiles.egg-info/PKG-INFO 
new/serverfiles-0.3.1/serverfiles.egg-info/PKG-INFO
--- old/serverfiles-0.3.0/serverfiles.egg-info/PKG-INFO 2018-11-23 
12:35:37.000000000 +0100
+++ new/serverfiles-0.3.1/serverfiles.egg-info/PKG-INFO 2021-01-22 
16:10:02.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: serverfiles
-Version: 0.3.0
+Version: 0.3.1
 Summary: An utility that accesses files on a HTTP server and stores them 
locally for reuse.
 Home-page: https://github.com/biolab/serverfiles
 Author: Bioinformatics Laboratory, FRI UL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/serverfiles-0.3.0/setup.py 
new/serverfiles-0.3.1/setup.py
--- old/serverfiles-0.3.0/setup.py      2018-11-23 12:31:34.000000000 +0100
+++ new/serverfiles-0.3.1/setup.py      2021-01-22 16:09:06.000000000 +0100
@@ -13,7 +13,7 @@
         install_requires=[
             'requests>=2.11.1',
         ],
-        version='0.3.0',
+        version='0.3.1',
         zip_safe=False,
         url="https://github.com/biolab/serverfiles";,
         test_suite="tests.suite"

Reply via email to