Hello community,
here is the log from the commit of package python3-pickleshare for
openSUSE:Factory checked in at 2016-07-18 21:24:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-pickleshare (Old)
and /work/SRC/openSUSE:Factory/.python3-pickleshare.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-pickleshare"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-pickleshare/python3-pickleshare.changes
2016-05-25 21:25:11.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.python3-pickleshare.new/python3-pickleshare.changes
2016-07-18 21:24:51.000000000 +0200
@@ -1,0 +2,10 @@
+Fri Jul 15 15:21:46 UTC 2016 - [email protected]
+
+- update to version 0.7.3:
+ * Fix environment marker
+ * Include license and test files in sdists
+ * Fix for multiple processes creating a folder
+ * handle exception and keep Python 2 support
+ * Remove unused import
+
+-------------------------------------------------------------------
@@ -6 +15,0 @@
-
Old:
----
pickleshare-0.7.2.tar.gz
New:
----
pickleshare-0.7.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-pickleshare.spec ++++++
--- /var/tmp/diff_new_pack.1aYDLt/_old 2016-07-18 21:24:52.000000000 +0200
+++ /var/tmp/diff_new_pack.1aYDLt/_new 2016-07-18 21:24:52.000000000 +0200
@@ -17,7 +17,7 @@
Name: python3-pickleshare
-Version: 0.7.2
+Version: 0.7.3
Release: 0
Summary: Tiny shelve-like database with concurrency support
License: MIT
++++++ pickleshare-0.7.2.tar.gz -> pickleshare-0.7.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pickleshare-0.7.2/LICENSE
new/pickleshare-0.7.3/LICENSE
--- old/pickleshare-0.7.2/LICENSE 1970-01-01 01:00:00.000000000 +0100
+++ new/pickleshare-0.7.3/LICENSE 2016-07-15 15:12:52.000000000 +0200
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 Ville Vainio
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pickleshare-0.7.2/MANIFEST.in
new/pickleshare-0.7.3/MANIFEST.in
--- old/pickleshare-0.7.2/MANIFEST.in 1970-01-01 01:00:00.000000000 +0100
+++ new/pickleshare-0.7.3/MANIFEST.in 2016-07-15 15:12:52.000000000 +0200
@@ -0,0 +1,2 @@
+include LICENSE
+include test_pickleshare.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pickleshare-0.7.2/PKG-INFO
new/pickleshare-0.7.3/PKG-INFO
--- old/pickleshare-0.7.2/PKG-INFO 2016-04-08 21:19:09.000000000 +0200
+++ new/pickleshare-0.7.3/PKG-INFO 2016-07-15 15:26:10.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pickleshare
-Version: 0.7.2
+Version: 0.7.3
Summary: Tiny 'shelve'-like database with concurrency support
Home-page: https://github.com/pickleshare/pickleshare
Author: Ville Vainio
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pickleshare-0.7.2/pickleshare.egg-info/PKG-INFO
new/pickleshare-0.7.3/pickleshare.egg-info/PKG-INFO
--- old/pickleshare-0.7.2/pickleshare.egg-info/PKG-INFO 2016-04-08
21:19:09.000000000 +0200
+++ new/pickleshare-0.7.3/pickleshare.egg-info/PKG-INFO 2016-07-15
15:26:10.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pickleshare
-Version: 0.7.2
+Version: 0.7.3
Summary: Tiny 'shelve'-like database with concurrency support
Home-page: https://github.com/pickleshare/pickleshare
Author: Ville Vainio
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pickleshare-0.7.2/pickleshare.egg-info/SOURCES.txt
new/pickleshare-0.7.3/pickleshare.egg-info/SOURCES.txt
--- old/pickleshare-0.7.2/pickleshare.egg-info/SOURCES.txt 2016-04-08
21:19:09.000000000 +0200
+++ new/pickleshare-0.7.3/pickleshare.egg-info/SOURCES.txt 2016-07-15
15:26:10.000000000 +0200
@@ -1,6 +1,9 @@
+LICENSE
+MANIFEST.in
pickleshare.py
setup.cfg
setup.py
+test_pickleshare.py
pickleshare.egg-info/PKG-INFO
pickleshare.egg-info/SOURCES.txt
pickleshare.egg-info/dependency_links.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pickleshare-0.7.2/pickleshare.py
new/pickleshare-0.7.3/pickleshare.py
--- old/pickleshare-0.7.2/pickleshare.py 2016-04-08 21:12:49.000000000
+0200
+++ new/pickleshare-0.7.3/pickleshare.py 2016-07-15 15:16:33.000000000
+0200
@@ -36,7 +36,7 @@
from __future__ import print_function
-__version__ = "0.7.2"
+__version__ = "0.7.3"
try:
from pathlib import Path
@@ -50,7 +50,6 @@
import cPickle as pickle
except ImportError:
import pickle
-import glob
import errno
def gethashfile(key):
@@ -65,7 +64,13 @@
root = os.path.abspath(os.path.expanduser(str(root)))
self.root = Path(root)
if not self.root.is_dir():
- self.root.mkdir(parents=True)
+ # catching the exception is necessary if multiple processes are
concurrently trying to create a folder
+ # exists_ok keyword argument of mkdir does the same but only from
Python 3.5
+ try:
+ self.root.mkdir(parents=True)
+ except OSError as e:
+ if e.errno != errno.EEXIST:
+ raise
# cache has { 'key' : (obj, orig_mod_time) }
self.cache = {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pickleshare-0.7.2/setup.cfg
new/pickleshare-0.7.3/setup.cfg
--- old/pickleshare-0.7.2/setup.cfg 2016-04-08 21:19:09.000000000 +0200
+++ new/pickleshare-0.7.3/setup.cfg 2016-07-15 15:26:10.000000000 +0200
@@ -2,7 +2,7 @@
universal = 1
[egg_info]
-tag_svn_revision = 0
tag_build =
tag_date = 0
+tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pickleshare-0.7.2/test_pickleshare.py
new/pickleshare-0.7.3/test_pickleshare.py
--- old/pickleshare-0.7.2/test_pickleshare.py 1970-01-01 01:00:00.000000000
+0100
+++ new/pickleshare-0.7.3/test_pickleshare.py 2016-07-15 15:12:52.000000000
+0200
@@ -0,0 +1,54 @@
+from __future__ import print_function
+import os
+
+from pickleshare import PickleShareDB
+
+def test_pickleshare(tmpdir):
+ db = PickleShareDB(tmpdir)
+ db.clear()
+ print("Should be empty:",db.items())
+ assert len(db) == 0
+ db['hello'] = 15
+ assert db['hello'] == 15
+ db['aku ankka'] = [1,2,313]
+ assert db['aku ankka'] == [1,2,313]
+ db['paths/nest/ok/keyname'] = [1,(5,46)]
+ assert db['paths/nest/ok/keyname'] == [1,(5,46)]
+
+ db.hset('hash', 'aku', 12)
+ db.hset('hash', 'ankka', 313)
+ assert db.hget('hash', 'aku') == 12
+ assert db.hget('hash', 'ankka') == 313
+
+ print("all hashed",db.hdict('hash'))
+ print(db.keys())
+ print(db.keys('paths/nest/ok/k*'))
+ print(dict(db)) # snapsot of whole db
+ db.uncache() # frees memory, causes re-reads later
+
+ # shorthand for accessing deeply nested files
+ lnk = db.getlink('myobjects/test')
+ lnk.foo = 2
+ lnk.bar = lnk.foo + 5
+ assert lnk.bar == 7
+
+def test_stress(tmpdir):
+ db = PickleShareDB(tmpdir)
+ import time,sys
+ for i in range(100):
+ for j in range(500):
+ if i % 15 == 0 and i < 70:
+ if str(j) in db:
+ del db[str(j)]
+ continue
+
+ if j%33 == 0:
+ time.sleep(0.02)
+
+ db[str(j)] = db.get(str(j), []) + [(i,j,"proc %d" % os.getpid())]
+ db.hset('hash',j, db.hget('hash',j,15) + 1 )
+
+ print(i, end=' ')
+ sys.stdout.flush()
+ if i % 10 == 0:
+ db.uncache()