Hello community,
here is the log from the commit of package python3-pickleshare for
openSUSE:Factory checked in at 2016-04-11 09:14:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-02-01 19:57:07.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.python3-pickleshare.new/python3-pickleshare.changes
2016-04-11 10:26:57.000000000 +0200
@@ -1,0 +2,22 @@
+Sat Apr 9 16:26:57 UTC 2016 - [email protected]
+
+- specfile:
+ * removed path.py (using pathlib now)
+
+- update to version 0.7.2:
+ * Fix environment marker
+ * Fix error when db location does not already exist
+ * Require pathlib2 on Python 3.3 as well
+
+- changes from version 0.7.0:
+ * Update metadata
+ * Fix environment marker
+ * Update .travis.yml
+ * Switch from path.py to pathlib
+ * Add MIT license
+ * Cleanup: Python 3 compatible example, remove .idea folder
+ * Update setup.py classifiers
+ * Enable 3.5 on travis
+ * specify path.py version dependency
+
+-------------------------------------------------------------------
Old:
----
pickleshare-0.6.tar.gz
New:
----
pickleshare-0.7.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-pickleshare.spec ++++++
--- /var/tmp/diff_new_pack.6xrjax/_old 2016-04-11 10:26:57.000000000 +0200
+++ /var/tmp/diff_new_pack.6xrjax/_new 2016-04-11 10:26:57.000000000 +0200
@@ -17,7 +17,7 @@
Name: python3-pickleshare
-Version: 0.6
+Version: 0.7.2
Release: 0
Summary: Tiny shelve-like database with concurrency support
License: MIT
@@ -25,9 +25,7 @@
Url: https://github.com/vivainio/pickleshare
Source:
https://pypi.python.org/packages/source/p/pickleshare/pickleshare-%{version}.tar.gz
BuildRequires: python3-devel
-BuildRequires: python3-path.py
BuildRequires: python3-setuptools
-Requires: python3-path.py
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
++++++ pickleshare-0.6.tar.gz -> pickleshare-0.7.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pickleshare-0.6/PKG-INFO
new/pickleshare-0.7.2/PKG-INFO
--- old/pickleshare-0.6/PKG-INFO 2016-01-19 21:50:14.000000000 +0100
+++ new/pickleshare-0.7.2/PKG-INFO 2016-04-08 21:19:09.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pickleshare
-Version: 0.6
+Version: 0.7.2
Summary: Tiny 'shelve'-like database with concurrency support
Home-page: https://github.com/pickleshare/pickleshare
Author: Ville Vainio
@@ -20,19 +20,21 @@
from pickleshare import *
db = PickleShareDB('~/testpickleshare')
db.clear()
- print "Should be empty:",db.items()
+ print("Should be empty:",db.items())
db['hello'] = 15
db['aku ankka'] = [1,2,313]
db['paths/are/ok/key'] = [1,(5,46)]
- print db.keys()
+ print(db.keys())
This module is certainly not ZODB, but can be used for low-load
(non-mission-critical) situations where tiny code size trumps the
advanced features of a "real" object database.
- Installation guide: pip install path pickleshare
+ Installation guide: pip install pickleshare
Keywords: database persistence pickle ipc shelve
Platform: UNKNOWN
+Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pickleshare-0.6/pickleshare.egg-info/PKG-INFO
new/pickleshare-0.7.2/pickleshare.egg-info/PKG-INFO
--- old/pickleshare-0.6/pickleshare.egg-info/PKG-INFO 2016-01-19
21:50:13.000000000 +0100
+++ new/pickleshare-0.7.2/pickleshare.egg-info/PKG-INFO 2016-04-08
21:19:09.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pickleshare
-Version: 0.6
+Version: 0.7.2
Summary: Tiny 'shelve'-like database with concurrency support
Home-page: https://github.com/pickleshare/pickleshare
Author: Ville Vainio
@@ -20,19 +20,21 @@
from pickleshare import *
db = PickleShareDB('~/testpickleshare')
db.clear()
- print "Should be empty:",db.items()
+ print("Should be empty:",db.items())
db['hello'] = 15
db['aku ankka'] = [1,2,313]
db['paths/are/ok/key'] = [1,(5,46)]
- print db.keys()
+ print(db.keys())
This module is certainly not ZODB, but can be used for low-load
(non-mission-critical) situations where tiny code size trumps the
advanced features of a "real" object database.
- Installation guide: pip install path pickleshare
+ Installation guide: pip install pickleshare
Keywords: database persistence pickle ipc shelve
Platform: UNKNOWN
+Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pickleshare-0.6/pickleshare.egg-info/requires.txt
new/pickleshare-0.7.2/pickleshare.egg-info/requires.txt
--- old/pickleshare-0.6/pickleshare.egg-info/requires.txt 2016-01-19
21:50:13.000000000 +0100
+++ new/pickleshare-0.7.2/pickleshare.egg-info/requires.txt 2016-04-08
21:19:09.000000000 +0200
@@ -1 +1,3 @@
-path.py>=6.2
+
+[:python_version in "2.6 2.7 3.2 3.3"]
+pathlib2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pickleshare-0.6/pickleshare.py
new/pickleshare-0.7.2/pickleshare.py
--- old/pickleshare-0.6/pickleshare.py 2016-01-19 21:49:22.000000000 +0100
+++ new/pickleshare-0.7.2/pickleshare.py 2016-04-08 21:12:49.000000000
+0200
@@ -36,10 +36,14 @@
from __future__ import print_function
-__version__ = "0.6"
+__version__ = "0.7.2"
+
+try:
+ from pathlib import Path
+except ImportError:
+ # Python 2 backport
+ from pathlib2 import Path
-from path import Path
-# from IPython.external.path import path as Path
import os,stat,time
import collections
try:
@@ -58,9 +62,10 @@
""" The main 'connection' object for PickleShare database """
def __init__(self,root):
""" Return a db object that will manage the specied directory"""
- self.root = Path(root).expanduser().abspath()
- if not self.root.isdir():
- self.root.makedirs_p()
+ root = os.path.abspath(os.path.expanduser(str(root)))
+ self.root = Path(root)
+ if not self.root.is_dir():
+ self.root.mkdir(parents=True)
# cache has { 'key' : (obj, orig_mod_time) }
self.cache = {}
@@ -89,14 +94,14 @@
""" db['key'] = 5 """
fil = self.root / key
parent = fil.parent
- if parent and not parent.isdir():
- parent.makedirs()
+ if parent and not parent.is_dir():
+ parent.mkdir(parents=True)
# We specify protocol 2, so that we can mostly go between Python 2
# and Python 3. We can upgrade to protocol 3 when Python 2 is obsolete.
with fil.open('wb') as f:
pickle.dump(value, f, protocol=2)
try:
- self.cache[fil] = (value,fil.mtime)
+ self.cache[fil] = (value, fil.stat().st_mtime)
except OSError as e:
if e.errno != errno.ENOENT:
raise
@@ -104,8 +109,8 @@
def hset(self, hashroot, key, value):
""" hashed set """
hroot = self.root / hashroot
- if not hroot.isdir():
- hroot.makedirs()
+ if not hroot.is_dir():
+ hroot.mkdir()
hfile = hroot / gethashfile(key)
d = self.get(hfile, {})
d.update( {key : value})
@@ -172,9 +177,9 @@
self[hashroot + '/xx'] = all
for f in hfiles:
p = self.root / f
- if p.basename() == 'xx':
+ if p.name == 'xx':
continue
- p.remove()
+ p.unlink()
@@ -183,7 +188,7 @@
fil = self.root / key
self.cache.pop(fil,None)
try:
- fil.remove()
+ fil.unlink()
except OSError:
# notfound and permission denied are ok - we
# lost, the other process wins the conflict
@@ -191,16 +196,16 @@
def _normalized(self, p):
""" Make a key suitable for user's eyes """
- return str(self.root.relpathto(p)).replace('\\','/')
+ return str(p.relative_to(self.root)).replace('\\','/')
def keys(self, globpat = None):
""" All keys in DB, or all keys matching a glob"""
if globpat is None:
- files = self.root.walkfiles()
+ files = self.root.rglob('*')
else:
- files = [Path(p) for p in glob.glob(self.root/globpat)]
- return [self._normalized(p) for p in files if p.isfile()]
+ files = self.root.glob(globpat)
+ return [self._normalized(p) for p in files if p.is_file()]
def __iter__(self):
return iter(self.keys())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pickleshare-0.6/setup.cfg
new/pickleshare-0.7.2/setup.cfg
--- old/pickleshare-0.6/setup.cfg 2016-01-19 21:50:14.000000000 +0100
+++ new/pickleshare-0.7.2/setup.cfg 2016-04-08 21:19:09.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.6/setup.py
new/pickleshare-0.7.2/setup.py
--- old/pickleshare-0.6/setup.py 2016-01-19 21:46:43.000000000 +0100
+++ new/pickleshare-0.7.2/setup.py 2016-04-08 21:16:30.000000000 +0200
@@ -16,7 +16,10 @@
author_email="[email protected]",
description="Tiny 'shelve'-like database with concurrency support",
license="MIT",
- install_requires=["path.py>=6.2"],
+ extras_require = {
+ # Ugly, but we can't do < comparison here
+ ':python_version in "2.6 2.7 3.2 3.3"': ['pathlib2'],
+ },
url="https://github.com/pickleshare/pickleshare",
keywords="database persistence pickle ipc shelve",
long_description="""\
@@ -34,20 +37,22 @@
from pickleshare import *
db = PickleShareDB('~/testpickleshare')
db.clear()
- print "Should be empty:",db.items()
+ print("Should be empty:",db.items())
db['hello'] = 15
db['aku ankka'] = [1,2,313]
db['paths/are/ok/key'] = [1,(5,46)]
- print db.keys()
+ print(db.keys())
This module is certainly not ZODB, but can be used for low-load
(non-mission-critical) situations where tiny code size trumps the
advanced features of a "real" object database.
-Installation guide: pip install path pickleshare
+Installation guide: pip install pickleshare
""",
classifiers=[
+ 'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 2',
+ 'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
]
)