openSUSE Commits
Threads by month
- ----- 2024 -----
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2017
- 1 participants
- 3820 discussions
Hello community,
here is the log from the commit of package python-virtkey for openSUSE:Factory checked in at 2017-09-04 12:33:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-virtkey (Old)
and /work/SRC/openSUSE:Factory/.python-virtkey.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-virtkey"
Mon Sep 4 12:33:49 2017 rev:16 rq:520057 version:0.63.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-virtkey/python-virtkey.changes 2013-01-17 10:19:12.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-virtkey.new/python-virtkey.changes 2017-09-04 12:33:51.520298873 +0200
@@ -1,0 +2,5 @@
+Thu Aug 24 13:57:00 UTC 2017 - jmatejek(a)suse.com
+
+- singlespec auto-conversion
+
+-------------------------------------------------------------------
@@ -67,0 +73 @@
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-virtkey.spec ++++++
--- /var/tmp/diff_new_pack.y4SX6l/_old 2017-09-04 12:33:52.768123425 +0200
+++ /var/tmp/diff_new_pack.y4SX6l/_new 2017-09-04 12:33:52.788120613 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-virtkey
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,54 +16,47 @@
#
-%define mod_name virtkey
-%define build_for_python3 0
-
-%if %{build_for_python3}
-%define local_python python3
-%else
-%define local_python python
-%endif
-
-Name: python-%{mod_name}
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+Name: python-virtkey
Version: 0.63.0
+%define major 0.63
Release: 0
-Url: https://launchpad.net/virtkey
Summary: Python extension to emulate keypresses
License: LGPL-3.0+
Group: Development/Languages/Python
-Source: %{mod_name}-%{version}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Url: https://launchpad.net/virtkey
+Source: https://launchpad.net/virtkey/%{major}/%{version}/+download/virtkey-%{versi…
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
BuildRequires: glib2-devel
BuildRequires: gtk2-devel
-%if %{build_for_python3}
-BuildRequires: python3-devel
-BuildRequires: python3-distribute
-%else
-BuildRequires: python-devel
-%endif
+BuildRequires: pkgconfig
+BuildRequires: python-rpm-macros
BuildRequires: pkgconfig(gdk-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xtst)
+%python_subpackages
%description
python-virtkey is a python extension for emulating keypresses and
getting the keyboard geometry from the xserver.
%prep
-%setup -q -n %{mod_name}-%{version}
+%setup -q -n virtkey-%{version}
%build
export CFLAGS="%{optflags}"
-%{local_python} setup.py build
+%python_build
%install
-%{local_python} setup.py install --prefix=%{_prefix} --root=%{buildroot} --record-rpm=INSTALLED_FILES
+%python_install
-%files -f INSTALLED_FILES
+%files %{python_files}
%defattr(-,root,root,-)
%doc AUTHORS COPYING.LESSER NEWS README
+%{python_sitearch}/virtkey*.so
+%{python_sitearch}/virtkey-%{version}-py*.egg-info
%changelog
1
0
Hello community,
here is the log from the commit of package python-pylibmc for openSUSE:Factory checked in at 2017-09-04 12:33:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pylibmc (Old)
and /work/SRC/openSUSE:Factory/.python-pylibmc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pylibmc"
Mon Sep 4 12:33:43 2017 rev:4 rq:520050 version:1.5.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pylibmc/python-pylibmc.changes 2015-05-16 19:01:44.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-pylibmc.new/python-pylibmc.changes 2017-09-04 12:33:49.116636835 +0200
@@ -1,0 +2,14 @@
+Thu Aug 31 21:35:05 UTC 2017 - toddrme2178(a)gmail.com
+
+- Update to version 1.5.2
+ * Fixes critical memory leaks in common code paths
+ introduced in 1.4.2.
+ * Fixes a critical bug in a corner of the zlib inflation code,
+ where prior memory errors would trigger a double free.
+
+-------------------------------------------------------------------
+Thu Aug 24 13:51:15 UTC 2017 - jmatejek(a)suse.com
+
+- singlespec auto-conversion
+
+-------------------------------------------------------------------
@@ -36,0 +51 @@
+
Old:
----
pylibmc-1.4.2.tar.gz
New:
----
pylibmc-1.5.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pylibmc.spec ++++++
--- /var/tmp/diff_new_pack.yz8yan/_old 2017-09-04 12:33:50.752406841 +0200
+++ /var/tmp/diff_new_pack.yz8yan/_new 2017-09-04 12:33:50.788401780 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pylibmc
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,21 +16,26 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%bcond_with test
Name: python-pylibmc
-Version: 1.4.2
+Version: 1.5.2
Release: 0
Summary: Quick and small memcached client for Python
License: BSD-3-Clause
Group: Development/Languages/Python
Url: http://sendapatch.se/projects/pylibmc/
-Source: https://pypi.python.org/packages/source/p/pylibmc/pylibmc-%{version}.tar.gz
+Source: https://files.pythonhosted.org/packages/source/p/pylibmc/pylibmc-%{version}…
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
+BuildRequires: fdupes
BuildRequires: libmemcached-devel
-BuildRequires: python-devel
+BuildRequires: python-rpm-macros
BuildRequires: zlib-devel
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
+%if %{with test}
+BuildRequires: %{python_module nose}
%endif
+%python_subpackages
%description
pylibmc is a Python client for memcached written in C.
@@ -39,14 +44,24 @@
%setup -q -n pylibmc-%{version}
%build
-CFLAGS="%{optflags}" python setup.py build
+export CFLAGS="%{optflags}"
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitearch}
-%files
+%if %{with test}
+%check
+export NOSE_IGNORE_CONFIG_FILES=1
+%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitearch}
+nosetests-%{$python_bin_suffix} tests
+}
+%endif
+
+%files %{python_files}
%defattr(-,root,root,-)
-%doc README.rst
+%doc LICENSE README.rst
%{python_sitearch}/*
%changelog
++++++ pylibmc-1.4.2.tar.gz -> pylibmc-1.5.2.tar.gz ++++++
++++ 2817 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-python-memcached for openSUSE:Factory checked in at 2017-09-04 12:33:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-memcached (Old)
and /work/SRC/openSUSE:Factory/.python-python-memcached.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-memcached"
Mon Sep 4 12:33:38 2017 rev:14 rq:520036 version:1.58
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-python-memcached/python-python-memcached.changes 2015-10-08 08:25:01.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-python-memcached.new/python-python-memcached.changes 2017-09-04 12:33:40.321873404 +0200
@@ -1,0 +2,17 @@
+Thu Aug 24 13:52:44 UTC 2017 - jmatejek(a)suse.com
+
+- singlespec auto-conversion
+
+-------------------------------------------------------------------
+Tue Nov 15 13:13:46 UTC 2016 - dmueller(a)suse.com
+
+- update to 1.58:
+ * Fixing a performance regression in v1.54 in Python 2, using cPickle again.
+ * Support for "stats slabs".
+ * Pin Six version to >= 1.4
+ * setup.py build process pulls version from memcached.py
+ * delete() and delete_multi() now default the "time" argument to None,
+ since the protocol doesn't allow a time in some implementations.
+ Patch by oremj #27
+
+-------------------------------------------------------------------
@@ -131,0 +149 @@
+
Old:
----
python-memcached-1.57.tar.gz
New:
----
python-memcached-1.58.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-memcached.spec ++++++
--- /var/tmp/diff_new_pack.xKTe0b/_old 2017-09-04 12:33:41.221746879 +0200
+++ /var/tmp/diff_new_pack.xKTe0b/_new 2017-09-04 12:33:41.221746879 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-python-memcached
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,28 +16,33 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define oldpython python
+%bcond_with test
Name: python-python-memcached
-Version: 1.57
+Version: 1.58
Release: 0
-Url: http://www.tummy.com/Community/software/python-memcached/
Summary: Pure python memcached client
License: Python-2.0
Group: Development/Languages/Python
-Source: http://pypi.python.org/packages/source/p/python-memcached/python-memcached-…
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: python-devel
-BuildRequires: python-nose
-BuildRequires: python-setuptools
-BuildRequires: python-six
+Url: http://www.tummy.com/Community/software/python-memcached/
+Source: https://files.pythonhosted.org/packages/source/p/python-memcached/python-me…
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module six}
+BuildRequires: python-rpm-macros
+%if %{with test}
+BuildRequires: %{python_module nose}
+BuildRequires: memcached
+%endif
+Requires: memcached
Requires: python-six
-
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
-%else
BuildArch: noarch
+%ifpython2
+Provides: %{oldpython}-memcached = %{version}
+Obsoletes: %{oldpython}-memcached < %{version}
%endif
-Provides: python-memcached = %{version}
-Obsoletes: python-memcached < %{version}
+%python_subpackages
%description
This package was originally written by Evan Martin of Danga.
@@ -52,17 +57,19 @@
%setup -q -n python-memcached-%{version}
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
+%if %{with test}
%check
-nosetests
+%python_expand nosetests-%{$python_bin_suffix}
+%endif
-%files
+%files %{python_files}
%defattr(-,root,root,-)
-%doc README.md
+%doc README.md PSF.LICENSE
%{python_sitelib}/*
%changelog
++++++ python-memcached-1.57.tar.gz -> python-memcached-1.58.tar.gz ++++++
++++ 1613 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-pyte for openSUSE:Factory checked in at 2017-09-04 12:33:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyte (Old)
and /work/SRC/openSUSE:Factory/.python-pyte.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyte"
Mon Sep 4 12:33:35 2017 rev:2 rq:520032 version:0.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyte/python-pyte.changes 2016-10-19 13:01:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-pyte.new/python-pyte.changes 2017-09-04 12:33:38.162177063 +0200
@@ -1,0 +2,56 @@
+Thu Aug 31 21:23:16 UTC 2017 - toddrme2178(a)gmail.com
+
+- Update to 0.6.0
+ * Optimized ``Stream.feed`` for plain-text input. The code was backported
+ from ``pymux`` project by Jonathan Slenders.
+ * Optimized ``Screen`` by changing ``Screen.buffer`` to dict-of-dicts. The
+ idea was borrowed from ``pymux`` project by Jonathan Slenders. The
+ implementation was done by @istarion.
+ * Further optimized ``Stream._parser_fsm`` by forcing static binding between
+ ``Stream`` events and ``Screen`` methods. The code was backported from
+ ``pmux`` project by Jonathan Slenders.
+ * Restricted ``Stream`` to a single listener and deprecated ``attach`` and
+ ``detach``. The old logic can be emulated by a fanout proxy, forwarding
+ events to a list of its listeners.
+ * Replaced ``DebugStream`` with ``DebugScreen`` to workaround the single
+ listener limitation (previsouly ``DebugStream`` implicitly added a
+ listener when instantiated). Unlike other screens ``DebugScreen`` does
+ not maintain any state.
+ * Changed ``DebugScreen`` to emit JSON instead of custom text format.
+ * Removed overly generic ``Screen.__before__`` and ``Screen.__after__``.
+ * Renamed ``Screen.set_charset`` to a more appropriate
+ ``Screen.define_charset``.
+ * Added support for ECMA-035 `DOCS` command to ``ByteStream`` which no longer
+ accepts ``encoding`` as an argument and instead sets it as instructed by
+ `DOCS`. The default encoding is assumed to be UTF-8.
+ * Added support for OSC sequences allowing to set terminal title and
+ icon name.
+ * Allowed 256 and 24bit colours in ``Screen.select_graphic_rendition``.
+ * Added support for ``aixterm`` colours in ``Screen.select_graphic_rendition``,
+ see issue #57 on GitHub.
+ * Changed ``Screen.select_graphic_rendition`` to ignore 0 if it is
+ given along with other attributes, ie ``"0;1;2"`` is now equivalent
+ to ``"1;2"``.
+ * Fixed rendering of multicolumn characters at ``Screen` boundaries.
+ Thanks to @shaform! See PR #55 on GitHub.
+ * Fixed ``Screen.display`` in the case of multicolumn characters. See
+ issue #52 on GitHub.
+ * Fixed `DECSTBM` handling in case of missing arguments. See issue #61 on
+ GitHub.
+ * Fixed the way ``Screen.cursor_up`` and ``Screen.cursor_down`` interact
+ with the scrolling region. See #63 on GitHub.
+ * Added a minimal web terminal example by @demiurg906. For a faster and
+ more fully-featured version, see
+ `demiurg906/pyte_gui <https://github.com/demiurg906/pyte_gui>`_.
+ * Fixed ``Screen.cursor_back`` when called after the draw in the last column.
+ * Fixed ``Screen.inser_characters`` when called with an argument larger
+ than the number of columns. Thanks to @istarion! See PR #74 on GitHub.
+ * Fixed ``Screen.erase_in_display`` which did not handle all values supported
+ by ``TERM=linux``. See #80 on GitHub.
+
+-------------------------------------------------------------------
+Thu Aug 24 13:52:22 UTC 2017 - jmatejek(a)suse.com
+
+- singlespec auto-conversion
+
+-------------------------------------------------------------------
@@ -4,0 +61 @@
+
Old:
----
pyte-0.5.2.tar.gz
New:
----
pyte-0.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyte.spec ++++++
--- /var/tmp/diff_new_pack.plFeRI/_old 2017-09-04 12:33:39.282019610 +0200
+++ /var/tmp/diff_new_pack.plFeRI/_new 2017-09-04 12:33:39.286019048 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pyte
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,20 +16,25 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%bcond_with test
Name: python-pyte
-Version: 0.5.2
+Version: 0.6.0
Release: 0
Summary: Simple VTXXX-compatible linux terminal emulator
License: LGPL-3.0
Group: Development/Languages/Python
-Url: http://pyte.readthedocs.org/en/latest/
+Url: https://github.com/selectel/pyte
Source: https://files.pythonhosted.org/packages/source/p/pyte/pyte-%{version}.tar.gz
-BuildRequires: python-devel
-BuildRequires: python-pytest
-BuildRequires: python-pytest-runner
-BuildRequires: python-setuptools
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module pytest}
+BuildRequires: %{python_module pytest-runner}
+BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wcwidth}
+BuildRequires: python-rpm-macros
+Requires: python-wcwidth
BuildArch: noarch
+%python_subpackages
%description
Curses-like terminal wrapper with a display based on compositing 2d
@@ -39,14 +44,19 @@
%setup -q -n pyte-%{version}
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
-%files
+%if %{with test}
+%check
+%python_exec setup.py test
+%endif
+
+%files %{python_files}
%defattr(-,root,root,-)
-%{python_sitelib}/*
%doc LICENSE README AUTHORS CHANGES docs/*rst
+%{python_sitelib}/*
%changelog
++++++ pyte-0.5.2.tar.gz -> pyte-0.6.0.tar.gz ++++++
++++ 5145 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package target-isns for openSUSE:Factory checked in at 2017-09-04 12:33:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/target-isns (Old)
and /work/SRC/openSUSE:Factory/.target-isns.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "target-isns"
Mon Sep 4 12:33:32 2017 rev:6 rq:520025 version:0.6.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/target-isns/target-isns.changes 2017-08-16 16:13:29.723222087 +0200
+++ /work/SRC/openSUSE:Factory/.target-isns.new/target-isns.changes 2017-09-04 12:33:36.674386250 +0200
@@ -1,0 +2,6 @@
+Thu Aug 31 19:10:00 UTC 2017 - lduncan(a)suse.com
+
+- Upgraded to version v0.6.3 from v0.6.2, replacing
+ the release tarball and updating the SPEC file. (bsc#1056692)
+
+-------------------------------------------------------------------
Old:
----
v0.6.2.tar.gz
New:
----
_service
_servicedata
target-isns-0.6.3.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ target-isns.spec ++++++
--- /var/tmp/diff_new_pack.asaSxe/_old 2017-09-04 12:33:37.714240044 +0200
+++ /var/tmp/diff_new_pack.asaSxe/_new 2017-09-04 12:33:37.734237233 +0200
@@ -20,10 +20,10 @@
Summary: Supplies iSNS support for Linux kernel target
License: GPL-2.0+
Group: System/Kernel
-Version: 0.6.2
+Version: 0.6.3
Release: 0
-Source: https://github.com/cvubrugier/%{name}/archive/v%{version}.tar.gz
-Url: https://github.com/cvubrugier/target-isns
+Source: %{name}-%{version}.tar.xz
+Url: https://github.com/open-iscsi/target-isns
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: cmake
BuildRequires: flex
++++++ _service ++++++
<services>
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://github.com/open-iscsi/target-isns.git</param>
<param name="subdir"></param>
<param name="filename">target-isns</param>
<param name="versionformat">0.6.3</param>
<param name="revision">v0.6.3</param>
<param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*target-isns*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled"/>
</services>
++++++ _servicedata ++++++
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/open-iscsi/target-isns.git</param>
<param name="changesrevision">4e8a1a761beb1e368a2bde47f5b9912800587170</param></service></servicedata>
1
0
Hello community,
here is the log from the commit of package caja for openSUSE:Factory checked in at 2017-09-04 12:33:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/caja (Old)
and /work/SRC/openSUSE:Factory/.caja.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "caja"
Mon Sep 4 12:33:30 2017 rev:26 rq:520009 version:1.18.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/caja/caja.changes 2017-05-16 14:44:48.730021351 +0200
+++ /work/SRC/openSUSE:Factory/.caja.new/caja.changes 2017-09-04 12:33:32.263006502 +0200
@@ -1,0 +2,13 @@
+Thu Aug 31 12:40:22 UTC 2017 - sor.alexei(a)meowr.ru
+
+- Update to version 1.18.4:
+ * Fix zoom in list-view.
+ * pathbar: Enable mousewheel scrolling like it was with GTK+2.
+ * open-with-dialog: Set max-char-width for a label.
+ * Fix "Open With" dialog ue"Open" button's text misalignment.
+ * caja-pathbar: Fix off-by-one error.
+ * Fix browsing/autorun media on insertion.
+ * Fix vertical Compact View scrolling in
+ fm_icon_view_scroll_event().
+
+-------------------------------------------------------------------
Old:
----
caja-1.18.3.tar.xz
New:
----
caja-1.18.4.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ caja.spec ++++++
--- /var/tmp/diff_new_pack.NMgvA5/_old 2017-09-04 12:33:33.458838365 +0200
+++ /var/tmp/diff_new_pack.NMgvA5/_new 2017-09-04 12:33:33.458838365 +0200
@@ -20,7 +20,7 @@
%define typelib typelib-1_0-Caja-2_0
%define _version 1.18
Name: caja
-Version: 1.18.3
+Version: 1.18.4
Release: 0
Summary: File manager for the MATE desktop
License: GPL-2.0 and LGPL-2.0
++++++ caja-1.18.3.tar.xz -> caja-1.18.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/ChangeLog new/caja-1.18.4/ChangeLog
--- old/caja-1.18.3/ChangeLog 2017-05-11 07:15:31.000000000 +0200
+++ new/caja-1.18.4/ChangeLog 2017-08-26 14:04:56.000000000 +0200
@@ -1,3 +1,111 @@
+commit b959b45afd4c131dc4b761f3c262227b22aa1734
+Author: raveit65 <mate(a)raveit.de>
+Date: Sat Aug 26 14:02:24 2017 +0200
+
+ release 1.18.4
+
+ NEWS | 10 ++++++++++
+ configure.ac | 2 +-
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+commit ee0de1a5e74cbed5cf49517ea82a73e52dd6424a
+Author: Jury Verrigni <jury.verrigni(a)gmail.com>
+Date: Fri Aug 25 14:56:32 2017 +0100
+
+ Adds columns autosizing
+
+ src/file-manager/fm-list-view.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 1f5d0488d54d2affc0bcc54a8f21f8936110c688
+Author: Jury Verrigni <jury.verrigni(a)gmail.com>
+Date: Fri Aug 25 11:14:32 2017 +0100
+
+ Refresh all rows on zoom change
+
+ src/file-manager/fm-list-view.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 14ce3294bed72bd6e4ab3cc2685f37ddc3a5b0db
+Author: Jury Verrigni <jury.verrigni(a)gmail.com>
+Date: Thu Aug 24 21:40:55 2017 +0100
+
+ Forces widget redraw on zoom
+
+ src/file-manager/fm-list-view.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 9994201d979dbaa6543f280febf3e4023de6dc60
+Author: monsta <monsta(a)inbox.ru>
+Date: Thu Aug 24 15:24:21 2017 +0300
+
+ pathbar: enable mousewheel scrolling like it was with GTK+2
+
+ fixes https://github.com/mate-desktop/caja/issues/779
+
+ ported from:
+ https://git.gnome.org/browse/nautilus/commit/?id=04116ab2876412445c788091be…
+
+ src/caja-pathbar.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 90ccf70a06beee19f55b1d36a4b4ae33000758d5
+Author: raveit65 <mate(a)raveit.de>
+Date: Sat Aug 19 15:11:49 2017 +0200
+
+ open-with-dialog: set max-char-width for a label
+
+ use max_char_width for 'Select and application to view his description'
+ label, as this can cause a window size jumping for this gui.
+ Depends on language translations.
+ Ie. german language was affected.
+
+ libcaja-private/caja-open-with-dialog.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 8d17eb9d48491ba9b1d96b3409730455f8cffba1
+Author: lukefromdc <lukefromdc(a)hushmail.com>
+Date: Fri Aug 18 17:48:34 2017 -0400
+
+ Fix #828 "Open With" dialog "Open" button's text misaligned
+
+ libcaja-private/caja-open-with-dialog.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d4b4d08300fe27dbb57ad10ba31a91c5cfd54781
+Author: nokangaroo <nokangaroo(a)aon.at>
+Date: Wed Jun 21 09:24:54 2017 +0200
+
+ Fix off-by-one error in caja-pathbar.c
+
+ src/caja-pathbar.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit d3b66148f9b914fa0451508c6ddb075d0fab8fdb
+Author: lukefromdc <lukefromdc(a)hushmail.com>
+Date: Sat Jul 8 15:14:32 2017 -0400
+
+ Fix browsing/autorun media on insertion
+
+ Fix https://github.com/mate-desktop/caja/issues/807
+
+ src/caja-application.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d7656638ef5f76b5cbb768e777ee7f70a0c9129a
+Author: Galik <galik.bool(a)gmail.com>
+Date: Mon Jul 3 02:38:12 2017 +0100
+
+ fix vertical Compact View scrolling in fm_icon_view_scroll_event()
+
+ Was always scrolling to right when using sideways scrolling devices.
+
+ Now scrolls left or right with sideways scrolling devices and adjusts
+ vertical scrolling devices to scroll sideways.
+
+ src/file-manager/fm-icon-view.c | 49 +++++++++++++----------------------------
+ 1 file changed, 15 insertions(+), 34 deletions(-)
+
commit 5a5d9e5409472c18fb7e71c9859fcefa33036c18
Author: raveit65 <mate(a)raveit.de>
Date: Thu May 11 07:10:56 2017 +0200
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/NEWS new/caja-1.18.4/NEWS
--- old/caja-1.18.3/NEWS 2017-05-11 07:10:13.000000000 +0200
+++ new/caja-1.18.4/NEWS 2017-08-26 14:01:31.000000000 +0200
@@ -1,3 +1,13 @@
+### caja 1.18.4
+
+ Fix zoom in list-view
+ pathbar: enable mousewheel scrolling like it was with GTK+2
+ open-with-dialog: set max-char-width for a label
+ Fix "Open With" dialog "Open" button's text misaligned
+ caja-pathbar: Fix off-by-one error
+ Fix browsing/autorun media on insertion
+ fix vertical Compact View scrolling in fm_icon_view_scroll_event()
+
### caja 1.18.3
restore DBus interface initialization
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/configure new/caja-1.18.4/configure
--- old/caja-1.18.3/configure 2017-05-11 07:12:39.000000000 +0200
+++ new/caja-1.18.4/configure 2017-08-26 14:02:59.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for caja 1.18.3.
+# Generated by GNU Autoconf 2.69 for caja 1.18.4.
#
# Report bugs to <http://www.mate-desktop.org>.
#
@@ -590,8 +590,8 @@
# Identity of this package.
PACKAGE_NAME='caja'
PACKAGE_TARNAME='caja'
-PACKAGE_VERSION='1.18.3'
-PACKAGE_STRING='caja 1.18.3'
+PACKAGE_VERSION='1.18.4'
+PACKAGE_STRING='caja 1.18.4'
PACKAGE_BUGREPORT='http://www.mate-desktop.org'
PACKAGE_URL=''
@@ -1469,7 +1469,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures caja 1.18.3 to adapt to many kinds of systems.
+\`configure' configures caja 1.18.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1539,7 +1539,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of caja 1.18.3:";;
+ short | recursive ) echo "Configuration of caja 1.18.4:";;
esac
cat <<\_ACEOF
@@ -1688,7 +1688,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-caja configure 1.18.3
+caja configure 1.18.4
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2057,7 +2057,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by caja $as_me 1.18.3, which was
+It was created by caja $as_me 1.18.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2927,7 +2927,7 @@
# Define the identity of the package.
PACKAGE='caja'
- VERSION='1.18.3'
+ VERSION='1.18.4'
cat >>confdefs.h <<_ACEOF
@@ -17453,7 +17453,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by caja $as_me 1.18.3, which was
+This file was extended by caja $as_me 1.18.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -17519,7 +17519,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-caja config.status 1.18.3
+caja config.status 1.18.4
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/configure.ac new/caja-1.18.4/configure.ac
--- old/caja-1.18.3/configure.ac 2017-05-11 07:08:12.000000000 +0200
+++ new/caja-1.18.4/configure.ac 2017-08-26 13:58:12.000000000 +0200
@@ -20,7 +20,7 @@
m4_define(caja_extension_current, 5)
m4_define(caja_extension_revision, 0)
-AC_INIT([caja], [1.18.3], [http://www.mate-desktop.org])
+AC_INIT([caja], [1.18.4], [http://www.mate-desktop.org])
dnl ---------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/data/caja-autorun-software.desktop.in new/caja-1.18.4/data/caja-autorun-software.desktop.in
--- old/caja-1.18.3/data/caja-autorun-software.desktop.in 2017-05-11 07:12:46.000000000 +0200
+++ new/caja-1.18.4/data/caja-autorun-software.desktop.in 2017-08-26 14:03:06.000000000 +0200
@@ -11,4 +11,4 @@
X-MATE-Bugzilla-Bugzilla=MATE
X-MATE-Bugzilla-Product=caja
X-MATE-Bugzilla-Component=general
-X-MATE-Bugzilla-Version=1.18.3
+X-MATE-Bugzilla-Version=1.18.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/data/caja-browser.desktop.in new/caja-1.18.4/data/caja-browser.desktop.in
--- old/caja-1.18.3/data/caja-browser.desktop.in 2017-05-11 07:12:46.000000000 +0200
+++ new/caja-1.18.4/data/caja-browser.desktop.in 2017-08-26 14:03:06.000000000 +0200
@@ -14,4 +14,4 @@
X-MATE-Bugzilla-Bugzilla=MATE
X-MATE-Bugzilla-Product=caja
X-MATE-Bugzilla-Component=general
-X-MATE-Bugzilla-Version=1.18.3
+X-MATE-Bugzilla-Version=1.18.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/data/caja-computer.desktop.in new/caja-1.18.4/data/caja-computer.desktop.in
--- old/caja-1.18.3/data/caja-computer.desktop.in 2017-05-11 07:12:46.000000000 +0200
+++ new/caja-1.18.4/data/caja-computer.desktop.in 2017-08-26 14:03:06.000000000 +0200
@@ -14,4 +14,4 @@
X-MATE-Bugzilla-Bugzilla=MATE
X-MATE-Bugzilla-Product=caja
X-MATE-Bugzilla-Component=general
-X-MATE-Bugzilla-Version=1.18.3
+X-MATE-Bugzilla-Version=1.18.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/data/caja-file-management-properties.desktop.in new/caja-1.18.4/data/caja-file-management-properties.desktop.in
--- old/caja-1.18.3/data/caja-file-management-properties.desktop.in 2017-05-11 07:12:46.000000000 +0200
+++ new/caja-1.18.4/data/caja-file-management-properties.desktop.in 2017-08-26 14:03:06.000000000 +0200
@@ -12,4 +12,4 @@
X-MATE-Bugzilla-Bugzilla=MATE
X-MATE-Bugzilla-Product=caja
X-MATE-Bugzilla-Component=Preferences
-X-MATE-Bugzilla-Version=1.18.3
+X-MATE-Bugzilla-Version=1.18.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/data/caja-folder-handler.desktop.in new/caja-1.18.4/data/caja-folder-handler.desktop.in
--- old/caja-1.18.3/data/caja-folder-handler.desktop.in 2017-05-11 07:12:46.000000000 +0200
+++ new/caja-1.18.4/data/caja-folder-handler.desktop.in 2017-08-26 14:03:06.000000000 +0200
@@ -13,4 +13,4 @@
X-MATE-Bugzilla-Bugzilla=MATE
X-MATE-Bugzilla-Product=caja
X-MATE-Bugzilla-Component=general
-X-MATE-Bugzilla-Version=1.18.3
+X-MATE-Bugzilla-Version=1.18.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/data/caja.desktop new/caja-1.18.4/data/caja.desktop
--- old/caja-1.18.3/data/caja.desktop 2017-05-11 07:15:08.000000000 +0200
+++ new/caja-1.18.4/data/caja.desktop 2017-08-26 14:04:34.000000000 +0200
@@ -221,7 +221,7 @@
X-MATE-Bugzilla-Bugzilla=MATE
X-MATE-Bugzilla-Product=caja
X-MATE-Bugzilla-Component=general
-X-MATE-Bugzilla-Version=1.18.3
+X-MATE-Bugzilla-Version=1.18.4
X-MATE-Autostart-Phase=Desktop
X-MATE-Autostart-Notify=true
X-MATE-AutoRestart=true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/data/caja.desktop.in new/caja-1.18.4/data/caja.desktop.in
--- old/caja-1.18.3/data/caja.desktop.in 2017-05-11 07:12:46.000000000 +0200
+++ new/caja-1.18.4/data/caja.desktop.in 2017-08-26 14:03:06.000000000 +0200
@@ -11,7 +11,7 @@
X-MATE-Bugzilla-Bugzilla=MATE
X-MATE-Bugzilla-Product=caja
X-MATE-Bugzilla-Component=general
-X-MATE-Bugzilla-Version=1.18.3
+X-MATE-Bugzilla-Version=1.18.4
X-MATE-Autostart-Phase=Desktop
X-MATE-Autostart-Notify=true
X-MATE-AutoRestart=true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/docs/reference/libcaja-extension/html/ix01.html new/caja-1.18.4/docs/reference/libcaja-extension/html/ix01.html
--- old/caja-1.18.3/docs/reference/libcaja-extension/html/ix01.html 2017-05-11 07:15:37.000000000 +0200
+++ new/caja-1.18.4/docs/reference/libcaja-extension/html/ix01.html 2017-08-26 14:05:01.000000000 +0200
@@ -24,189 +24,189 @@
<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"><div class="indexdiv">
<h3>C</h3>
<dl>
-<dt id="ientry-idm139852121646480">CajaColumn, <a class="indexterm" href="CajaColumn.html#CajaColumn-struct">struct CajaColumn</a>
+<dt id="ientry-idm139665387499424">CajaColumn, <a class="indexterm" href="CajaColumn.html#CajaColumn-struct">struct CajaColumn</a>
</dt>
-<dt id="ientry-idm139852121640560">CajaColumn:attribute, <a class="indexterm" href="CajaColumn.html#CajaColumn--attribute">The “attribute” property</a>
+<dt id="ientry-idm139665387493504">CajaColumn:attribute, <a class="indexterm" href="CajaColumn.html#CajaColumn--attribute">The “attribute” property</a>
</dt>
-<dt id="ientry-idm139852121634672">CajaColumn:attribute-q, <a class="indexterm" href="CajaColumn.html#CajaColumn--attribute-q">The “attribute-q” property</a>
+<dt id="ientry-idm139665387487616">CajaColumn:attribute-q, <a class="indexterm" href="CajaColumn.html#CajaColumn--attribute-q">The “attribute-q” property</a>
</dt>
-<dt id="ientry-idm139852121628944">CajaColumn:description, <a class="indexterm" href="CajaColumn.html#CajaColumn--description">The “description” property</a>
+<dt id="ientry-idm139665387481888">CajaColumn:description, <a class="indexterm" href="CajaColumn.html#CajaColumn--description">The “description” property</a>
</dt>
-<dt id="ientry-idm139852121623056">CajaColumn:label, <a class="indexterm" href="CajaColumn.html#CajaColumn--label">The “label” property</a>
+<dt id="ientry-idm139665387476000">CajaColumn:label, <a class="indexterm" href="CajaColumn.html#CajaColumn--label">The “label” property</a>
</dt>
-<dt id="ientry-idm139852121617120">CajaColumn:name, <a class="indexterm" href="CajaColumn.html#CajaColumn--name">The “name” property</a>
+<dt id="ientry-idm139665387470064">CajaColumn:name, <a class="indexterm" href="CajaColumn.html#CajaColumn--name">The “name” property</a>
</dt>
-<dt id="ientry-idm139852121611184">CajaColumn:xalign, <a class="indexterm" href="CajaColumn.html#CajaColumn--xalign">The “xalign” property</a>
+<dt id="ientry-idm139665387464128">CajaColumn:xalign, <a class="indexterm" href="CajaColumn.html#CajaColumn--xalign">The “xalign” property</a>
</dt>
-<dt id="ientry-idm139852119478752">CajaColumnProvider, <a class="indexterm" href="CajaColumnProvider.html#CajaColumnProvider-struct">CajaColumnProvider</a>
+<dt id="ientry-idm139665389266656">CajaColumnProvider, <a class="indexterm" href="CajaColumnProvider.html#CajaColumnProvider-struct">CajaColumnProvider</a>
</dt>
-<dt id="ientry-idm139852119475216">CajaColumnProviderIface, <a class="indexterm" href="CajaColumnProvider.html#CajaColumnProviderIface">struct CajaColumnProviderIface</a>
+<dt id="ientry-idm139665389263120">CajaColumnProviderIface, <a class="indexterm" href="CajaColumnProvider.html#CajaColumnProviderIface">struct CajaColumnProviderIface</a>
</dt>
-<dt id="ientry-idm139852116282992">CajaFile, <a class="indexterm" href="CajaFileInfo.html#CajaFile">CajaFile</a>
+<dt id="ientry-idm139665385310288">CajaFile, <a class="indexterm" href="CajaFileInfo.html#CajaFile">CajaFile</a>
</dt>
-<dt id="ientry-idm139852116279888">CajaFileInfo, <a class="indexterm" href="CajaFileInfo.html">CajaFileInfo</a>
+<dt id="ientry-idm139665385307184">CajaFileInfo, <a class="indexterm" href="CajaFileInfo.html">CajaFileInfo</a>
</dt>
-<dt id="ientry-idm139852116276784">CajaFileInfoIface, <a class="indexterm" href="CajaFileInfo.html#CajaFileInfoIface">struct CajaFileInfoIface</a>
+<dt id="ientry-idm139665385304080">CajaFileInfoIface, <a class="indexterm" href="CajaFileInfo.html#CajaFileInfoIface">struct CajaFileInfoIface</a>
</dt>
-<dt id="ientry-idm139852121511760">CajaInfoProvider, <a class="indexterm" href="CajaInfoProvider.html#CajaInfoProvider-struct">CajaInfoProvider</a>
+<dt id="ientry-idm139665386331728">CajaInfoProvider, <a class="indexterm" href="CajaInfoProvider.html#CajaInfoProvider-struct">CajaInfoProvider</a>
</dt>
-<dt id="ientry-idm139852121508240">CajaInfoProviderIface, <a class="indexterm" href="CajaInfoProvider.html#CajaInfoProviderIface">struct CajaInfoProviderIface</a>
+<dt id="ientry-idm139665386328208">CajaInfoProviderIface, <a class="indexterm" href="CajaInfoProvider.html#CajaInfoProviderIface">struct CajaInfoProviderIface</a>
</dt>
-<dt id="ientry-idm139852117275888">CajaInfoProviderUpdateComplete, <a class="indexterm" href="CajaInfoProvider.html#CajaInfoProviderUpdateComplete">CajaInfoProviderUpdateComplete ()</a>
+<dt id="ientry-idm139665386543408">CajaInfoProviderUpdateComplete, <a class="indexterm" href="CajaInfoProvider.html#CajaInfoProviderUpdateComplete">CajaInfoProviderUpdateComplete ()</a>
</dt>
-<dt id="ientry-idm139852116634656">CajaLocationWidgetProvider, <a class="indexterm" href="CajaLocationWidgetProvider.html#CajaLocationWidgetProvider-struct">CajaLocationWidgetProvider</a>
+<dt id="ientry-idm139665386151648">CajaLocationWidgetProvider, <a class="indexterm" href="CajaLocationWidgetProvider.html#CajaLocationWidgetProvider-struct">CajaLocationWidgetProvider</a>
</dt>
-<dt id="ientry-idm139852116631024">CajaLocationWidgetProviderIface, <a class="indexterm" href="CajaLocationWidgetProvider.html#CajaLocationWidgetProviderIface">struct CajaLocationWidgetProviderIface</a>
+<dt id="ientry-idm139665386148016">CajaLocationWidgetProviderIface, <a class="indexterm" href="CajaLocationWidgetProvider.html#CajaLocationWidgetProviderIface">struct CajaLocationWidgetProviderIface</a>
</dt>
-<dt id="ientry-idm139852117923488">CajaMenu, <a class="indexterm" href="CajaMenu.html#CajaMenu-struct">struct CajaMenu</a>
+<dt id="ientry-idm139665385864448">CajaMenu, <a class="indexterm" href="CajaMenu.html#CajaMenu-struct">struct CajaMenu</a>
</dt>
-<dt id="ientry-idm139852115960352">CajaMenuItem, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem-struct">struct CajaMenuItem</a>
+<dt id="ientry-idm139665385764272">CajaMenuItem, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem-struct">struct CajaMenuItem</a>
</dt>
-<dt id="ientry-idm139852115911968">CajaMenuItem::activate, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem-activate">The “activate” signal</a>
+<dt id="ientry-idm139665385715888">CajaMenuItem::activate, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem-activate">The “activate” signal</a>
</dt>
-<dt id="ientry-idm139852115954432">CajaMenuItem:icon, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--icon">The “icon” property</a>
+<dt id="ientry-idm139665385758352">CajaMenuItem:icon, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--icon">The “icon” property</a>
</dt>
-<dt id="ientry-idm139852115948592">CajaMenuItem:label, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--label">The “label” property</a>
+<dt id="ientry-idm139665385752512">CajaMenuItem:label, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--label">The “label” property</a>
</dt>
-<dt id="ientry-idm139852115942656">CajaMenuItem:menu, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--menu">The “menu” property</a>
+<dt id="ientry-idm139665385746576">CajaMenuItem:menu, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--menu">The “menu” property</a>
</dt>
-<dt id="ientry-idm139852115937216">CajaMenuItem:name, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--name">The “name” property</a>
+<dt id="ientry-idm139665385741136">CajaMenuItem:name, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--name">The “name” property</a>
</dt>
-<dt id="ientry-idm139852115931280">CajaMenuItem:priority, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--priority">The “priority” property</a>
+<dt id="ientry-idm139665385735200">CajaMenuItem:priority, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--priority">The “priority” property</a>
</dt>
-<dt id="ientry-idm139852115925504">CajaMenuItem:sensitive, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--sensitive">The “sensitive” property</a>
+<dt id="ientry-idm139665385729424">CajaMenuItem:sensitive, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--sensitive">The “sensitive” property</a>
</dt>
-<dt id="ientry-idm139852115919728">CajaMenuItem:tip, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--tip">The “tip” property</a>
+<dt id="ientry-idm139665385723648">CajaMenuItem:tip, <a class="indexterm" href="CajaMenuItem.html#CajaMenuItem--tip">The “tip” property</a>
</dt>
-<dt id="ientry-idm139852120695312">CajaMenuPrivate, <a class="indexterm" href="CajaMenu.html#CajaMenuPrivate">CajaMenuPrivate</a>
+<dt id="ientry-idm139665385868000">CajaMenuPrivate, <a class="indexterm" href="CajaMenu.html#CajaMenuPrivate">CajaMenuPrivate</a>
</dt>
-<dt id="ientry-idm139852116098832">CajaMenuProvider, <a class="indexterm" href="CajaMenuProvider.html#CajaMenuProvider-struct">CajaMenuProvider</a>
+<dt id="ientry-idm139665385922544">CajaMenuProvider, <a class="indexterm" href="CajaMenuProvider.html#CajaMenuProvider-struct">CajaMenuProvider</a>
</dt>
-<dt id="ientry-idm139852116063584">CajaMenuProvider::items-updated, <a class="indexterm" href="CajaMenuProvider.html#CajaMenuProvider-items-updated">The “items-updated” signal</a>
+<dt id="ientry-idm139665385887296">CajaMenuProvider::items-updated, <a class="indexterm" href="CajaMenuProvider.html#CajaMenuProvider-items-updated">The “items-updated” signal</a>
</dt>
-<dt id="ientry-idm139852116095312">CajaMenuProviderIface, <a class="indexterm" href="CajaMenuProvider.html#CajaMenuProviderIface">struct CajaMenuProviderIface</a>
+<dt id="ientry-idm139665385919024">CajaMenuProviderIface, <a class="indexterm" href="CajaMenuProvider.html#CajaMenuProviderIface">struct CajaMenuProviderIface</a>
</dt>
-<dt id="ientry-idm139852121583280">CajaOperationHandle, <a class="indexterm" href="libcaja-extension-CajaModule.html#CajaOperationHandle">CajaOperationHandle</a>
+<dt id="ientry-idm139665386734480">CajaOperationHandle, <a class="indexterm" href="libcaja-extension-CajaModule.html#CajaOperationHandle">CajaOperationHandle</a>
</dt>
-<dt id="ientry-idm139852121579104">CajaOperationResult, <a class="indexterm" href="libcaja-extension-CajaModule.html#CajaOperationResult">enum CajaOperationResult</a>
+<dt id="ientry-idm139665386730304">CajaOperationResult, <a class="indexterm" href="libcaja-extension-CajaModule.html#CajaOperationResult">enum CajaOperationResult</a>
</dt>
-<dt id="ientry-idm139852115734784">CajaPropertyPage, <a class="indexterm" href="CajaPropertyPage.html#CajaPropertyPage-struct">struct CajaPropertyPage</a>
+<dt id="ientry-idm139665385195376">CajaPropertyPage, <a class="indexterm" href="CajaPropertyPage.html#CajaPropertyPage-struct">struct CajaPropertyPage</a>
</dt>
-<dt id="ientry-idm139852115728848">CajaPropertyPage:label, <a class="indexterm" href="CajaPropertyPage.html#CajaPropertyPage--label">The “label” property</a>
+<dt id="ientry-idm139665385189440">CajaPropertyPage:label, <a class="indexterm" href="CajaPropertyPage.html#CajaPropertyPage--label">The “label” property</a>
</dt>
-<dt id="ientry-idm139852115723456">CajaPropertyPage:name, <a class="indexterm" href="CajaPropertyPage.html#CajaPropertyPage--name">The “name” property</a>
+<dt id="ientry-idm139665385184048">CajaPropertyPage:name, <a class="indexterm" href="CajaPropertyPage.html#CajaPropertyPage--name">The “name” property</a>
</dt>
-<dt id="ientry-idm139852115717520">CajaPropertyPage:page, <a class="indexterm" href="CajaPropertyPage.html#CajaPropertyPage--page">The “page” property</a>
+<dt id="ientry-idm139665385178112">CajaPropertyPage:page, <a class="indexterm" href="CajaPropertyPage.html#CajaPropertyPage--page">The “page” property</a>
</dt>
-<dt id="ientry-idm139852115800160">CajaPropertyPageProvider, <a class="indexterm" href="CajaPropertyPageProvider.html#CajaPropertyPageProvider-struct">CajaPropertyPageProvider</a>
+<dt id="ientry-idm139665386991360">CajaPropertyPageProvider, <a class="indexterm" href="CajaPropertyPageProvider.html#CajaPropertyPageProvider-struct">CajaPropertyPageProvider</a>
</dt>
-<dt id="ientry-idm139852115796528">CajaPropertyPageProviderIface, <a class="indexterm" href="CajaPropertyPageProvider.html#CajaPropertyPageProviderIface">struct CajaPropertyPageProviderIface</a>
+<dt id="ientry-idm139665386987728">CajaPropertyPageProviderIface, <a class="indexterm" href="CajaPropertyPageProvider.html#CajaPropertyPageProviderIface">struct CajaPropertyPageProviderIface</a>
</dt>
-<dt id="ientry-idm139852121676880">caja_column_new, <a class="indexterm" href="CajaColumn.html#caja-column-new">caja_column_new ()</a>
+<dt id="ientry-idm139665387529824">caja_column_new, <a class="indexterm" href="CajaColumn.html#caja-column-new">caja_column_new ()</a>
</dt>
-<dt id="ientry-idm139852126420176">caja_column_provider_get_columns, <a class="indexterm" href="CajaColumnProvider.html#caja-column-provider-get-columns">caja_column_provider_get_columns ()</a>
+<dt id="ientry-idm139665395927008">caja_column_provider_get_columns, <a class="indexterm" href="CajaColumnProvider.html#caja-column-provider-get-columns">caja_column_provider_get_columns ()</a>
</dt>
-<dt id="ientry-idm139852116286096">CAJA_FILE_DEFINED, <a class="indexterm" href="CajaFileInfo.html#CAJA-FILE-DEFINED:CAPS">CAJA_FILE_DEFINED</a>
+<dt id="ientry-idm139665385313392">CAJA_FILE_DEFINED, <a class="indexterm" href="CajaFileInfo.html#CAJA-FILE-DEFINED:CAPS">CAJA_FILE_DEFINED</a>
</dt>
-<dt id="ientry-idm139852116312992">caja_file_info_add_emblem, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-add-emblem">caja_file_info_add_emblem ()</a>
+<dt id="ientry-idm139665385340288">caja_file_info_add_emblem, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-add-emblem">caja_file_info_add_emblem ()</a>
</dt>
-<dt id="ientry-idm139852116300288">caja_file_info_add_string_attribute, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-add-string-attribute">caja_file_info_add_string_attribute ()</a>
+<dt id="ientry-idm139665385327584">caja_file_info_add_string_attribute, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-add-string-attribute">caja_file_info_add_string_attribute ()</a>
</dt>
-<dt id="ientry-idm139852116317968">caja_file_info_can_write, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-can-write">caja_file_info_can_write ()</a>
+<dt id="ientry-idm139665385345264">caja_file_info_can_write, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-can-write">caja_file_info_can_write ()</a>
</dt>
-<dt id="ientry-idm139852117153568">caja_file_info_create, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-create">caja_file_info_create ()</a>
+<dt id="ientry-idm139665390825216">caja_file_info_create, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-create">caja_file_info_create ()</a>
</dt>
-<dt id="ientry-idm139852117135856">caja_file_info_create_for_uri, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-create-for-uri">caja_file_info_create_for_uri ()</a>
+<dt id="ientry-idm139665390807504">caja_file_info_create_for_uri, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-create-for-uri">caja_file_info_create_for_uri ()</a>
</dt>
-<dt id="ientry-idm139852117118032">caja_file_info_getter, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-getter">caja_file_info_getter ()</a>
+<dt id="ientry-idm139665390789680">caja_file_info_getter, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-getter">caja_file_info_getter ()</a>
</dt>
-<dt id="ientry-idm139852116996128">caja_file_info_get_activation_uri, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-activation-uri">caja_file_info_get_activation_uri ()</a>
+<dt id="ientry-idm139665390667776">caja_file_info_get_activation_uri, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-activation-uri">caja_file_info_get_activation_uri ()</a>
</dt>
-<dt id="ientry-idm139852117032512">caja_file_info_get_file_type, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-file-type">caja_file_info_get_file_type ()</a>
+<dt id="ientry-idm139665390704160">caja_file_info_get_file_type, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-file-type">caja_file_info_get_file_type ()</a>
</dt>
-<dt id="ientry-idm139852117026736">caja_file_info_get_location, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-location">caja_file_info_get_location ()</a>
+<dt id="ientry-idm139665390698384">caja_file_info_get_location, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-location">caja_file_info_get_location ()</a>
</dt>
-<dt id="ientry-idm139852116334272">caja_file_info_get_mime_type, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-mime-type">caja_file_info_get_mime_type ()</a>
+<dt id="ientry-idm139665385361568">caja_file_info_get_mime_type, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-mime-type">caja_file_info_get_mime_type ()</a>
</dt>
-<dt id="ientry-idm139852116376624">caja_file_info_get_mount, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-mount">caja_file_info_get_mount ()</a>
+<dt id="ientry-idm139665385403920">caja_file_info_get_mount, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-mount">caja_file_info_get_mount ()</a>
</dt>
-<dt id="ientry-idm139852117007584">caja_file_info_get_name, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-name">caja_file_info_get_name ()</a>
+<dt id="ientry-idm139665390679232">caja_file_info_get_name, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-name">caja_file_info_get_name ()</a>
</dt>
-<dt id="ientry-idm139852116352960">caja_file_info_get_parent_info, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-parent-info">caja_file_info_get_parent_info ()</a>
+<dt id="ientry-idm139665385380256">caja_file_info_get_parent_info, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-parent-info">caja_file_info_get_parent_info ()</a>
</dt>
-<dt id="ientry-idm139852116990352">caja_file_info_get_parent_location, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-parent-location">caja_file_info_get_parent_location ()</a>
+<dt id="ientry-idm139665390662000">caja_file_info_get_parent_location, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-parent-location">caja_file_info_get_parent_location ()</a>
</dt>
-<dt id="ientry-idm139852116381600">caja_file_info_get_parent_uri, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-parent-uri">caja_file_info_get_parent_uri ()</a>
+<dt id="ientry-idm139665385408896">caja_file_info_get_parent_uri, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-parent-uri">caja_file_info_get_parent_uri ()</a>
</dt>
-<dt id="ientry-idm139852116306640">caja_file_info_get_string_attribute, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-string-attribute">caja_file_info_get_string_attribute ()</a>
+<dt id="ientry-idm139665385333936">caja_file_info_get_string_attribute, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-string-attribute">caja_file_info_get_string_attribute ()</a>
</dt>
-<dt id="ientry-idm139852117001872">caja_file_info_get_uri, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-uri">caja_file_info_get_uri ()</a>
+<dt id="ientry-idm139665390673520">caja_file_info_get_uri, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-uri">caja_file_info_get_uri ()</a>
</dt>
-<dt id="ientry-idm139852116357936">caja_file_info_get_uri_scheme, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-uri-scheme">caja_file_info_get_uri_scheme ()</a>
+<dt id="ientry-idm139665385385232">caja_file_info_get_uri_scheme, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-get-uri-scheme">caja_file_info_get_uri_scheme ()</a>
</dt>
-<dt id="ientry-idm139852116292560">caja_file_info_invalidate_extension_info, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-invalidate-extension-info">caja_file_info_invalidate_extension_info ()</a>
+<dt id="ientry-idm139665385319856">caja_file_info_invalidate_extension_info, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-invalidate-extension-info">caja_file_info_invalidate_extension_info ()</a>
</dt>
-<dt id="ientry-idm139852116322944">caja_file_info_is_directory, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-is-directory">caja_file_info_is_directory ()</a>
+<dt id="ientry-idm139665385350240">caja_file_info_is_directory, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-is-directory">caja_file_info_is_directory ()</a>
</dt>
-<dt id="ientry-idm139852117038256">caja_file_info_is_gone, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-is-gone">caja_file_info_is_gone ()</a>
+<dt id="ientry-idm139665390709904">caja_file_info_is_gone, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-is-gone">caja_file_info_is_gone ()</a>
</dt>
-<dt id="ientry-idm139852116329296">caja_file_info_is_mime_type, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-is-mime-type">caja_file_info_is_mime_type ()</a>
+<dt id="ientry-idm139665385356592">caja_file_info_is_mime_type, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-is-mime-type">caja_file_info_is_mime_type ()</a>
</dt>
-<dt id="ientry-idm139852117109440">caja_file_info_list_copy, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-list-copy">caja_file_info_list_copy ()</a>
+<dt id="ientry-idm139665390781088">caja_file_info_list_copy, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-list-copy">caja_file_info_list_copy ()</a>
</dt>
-<dt id="ientry-idm139852117089488">caja_file_info_list_free, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-list-free">caja_file_info_list_free ()</a>
+<dt id="ientry-idm139665390761136">caja_file_info_list_free, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-list-free">caja_file_info_list_free ()</a>
</dt>
-<dt id="ientry-idm139852117073792">caja_file_info_lookup, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-lookup">caja_file_info_lookup ()</a>
+<dt id="ientry-idm139665390745440">caja_file_info_lookup, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-lookup">caja_file_info_lookup ()</a>
</dt>
-<dt id="ientry-idm139852117056080">caja_file_info_lookup_for_uri, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-lookup-for-uri">caja_file_info_lookup_for_uri ()</a>
+<dt id="ientry-idm139665390727728">caja_file_info_lookup_for_uri, <a class="indexterm" href="CajaFileInfo.html#caja-file-info-lookup-for-uri">caja_file_info_lookup_for_uri ()</a>
</dt>
-<dt id="ientry-idm139852121530496">caja_info_provider_cancel_update, <a class="indexterm" href="CajaInfoProvider.html#caja-info-provider-cancel-update">caja_info_provider_cancel_update ()</a>
+<dt id="ientry-idm139665386350464">caja_info_provider_cancel_update, <a class="indexterm" href="CajaInfoProvider.html#caja-info-provider-cancel-update">caja_info_provider_cancel_update ()</a>
</dt>
-<dt id="ientry-idm139852121523440">caja_info_provider_update_complete_invoke, <a class="indexterm" href="CajaInfoProvider.html#caja-info-provider-update-complete-invoke">caja_info_provider_update_complete_invoke ()</a>
+<dt id="ientry-idm139665386343408">caja_info_provider_update_complete_invoke, <a class="indexterm" href="CajaInfoProvider.html#caja-info-provider-update-complete-invoke">caja_info_provider_update_complete_invoke ()</a>
</dt>
-<dt id="ientry-idm139852121540544">caja_info_provider_update_file_info, <a class="indexterm" href="CajaInfoProvider.html#caja-info-provider-update-file-info">caja_info_provider_update_file_info ()</a>
+<dt id="ientry-idm139665386360512">caja_info_provider_update_file_info, <a class="indexterm" href="CajaInfoProvider.html#caja-info-provider-update-file-info">caja_info_provider_update_file_info ()</a>
</dt>
-<dt id="ientry-idm139852116828976">caja_location_widget_provider_get_widget, <a class="indexterm" href="CajaLocationWidgetProvider.html#caja-location-widget-provider-get-widget">caja_location_widget_provider_get_widget ()</a>
+<dt id="ientry-idm139665389460640">caja_location_widget_provider_get_widget, <a class="indexterm" href="CajaLocationWidgetProvider.html#caja-location-widget-provider-get-widget">caja_location_widget_provider_get_widget ()</a>
</dt>
-<dt id="ientry-idm139852121326784">caja_menu_append_item, <a class="indexterm" href="CajaMenu.html#caja-menu-append-item">caja_menu_append_item ()</a>
+<dt id="ientry-idm139665389115696">caja_menu_append_item, <a class="indexterm" href="CajaMenu.html#caja-menu-append-item">caja_menu_append_item ()</a>
</dt>
-<dt id="ientry-idm139852117875104">caja_menu_get_items, <a class="indexterm" href="CajaMenu.html#caja-menu-get-items">caja_menu_get_items ()</a>
+<dt id="ientry-idm139665386061120">caja_menu_get_items, <a class="indexterm" href="CajaMenu.html#caja-menu-get-items">caja_menu_get_items ()</a>
</dt>
-<dt id="ientry-idm139852115997600">caja_menu_item_activate, <a class="indexterm" href="CajaMenuItem.html#caja-menu-item-activate">caja_menu_item_activate ()</a>
+<dt id="ientry-idm139665385801520">caja_menu_item_activate, <a class="indexterm" href="CajaMenuItem.html#caja-menu-item-activate">caja_menu_item_activate ()</a>
</dt>
-<dt id="ientry-idm139852116031440">caja_menu_item_get_type, <a class="indexterm" href="CajaMenuItem.html#caja-menu-item-get-type">caja_menu_item_get_type ()</a>
+<dt id="ientry-idm139665385835360">caja_menu_item_get_type, <a class="indexterm" href="CajaMenuItem.html#caja-menu-item-get-type">caja_menu_item_get_type ()</a>
</dt>
-<dt id="ientry-idm139852119199424">caja_menu_item_list_free, <a class="indexterm" href="CajaMenu.html#caja-menu-item-list-free">caja_menu_item_list_free ()</a>
+<dt id="ientry-idm139665386042240">caja_menu_item_list_free, <a class="indexterm" href="CajaMenu.html#caja-menu-item-list-free">caja_menu_item_list_free ()</a>
</dt>
-<dt id="ientry-idm139852116026304">caja_menu_item_new, <a class="indexterm" href="CajaMenuItem.html#caja-menu-item-new">caja_menu_item_new ()</a>
+<dt id="ientry-idm139665385830224">caja_menu_item_new, <a class="indexterm" href="CajaMenuItem.html#caja-menu-item-new">caja_menu_item_new ()</a>
</dt>
-<dt id="ientry-idm139852115982640">caja_menu_item_set_submenu, <a class="indexterm" href="CajaMenuItem.html#caja-menu-item-set-submenu">caja_menu_item_set_submenu ()</a>
+<dt id="ientry-idm139665385786560">caja_menu_item_set_submenu, <a class="indexterm" href="CajaMenuItem.html#caja-menu-item-set-submenu">caja_menu_item_set_submenu ()</a>
</dt>
-<dt id="ientry-idm139852118913072">caja_menu_new, <a class="indexterm" href="CajaMenu.html#caja-menu-new">caja_menu_new ()</a>
+<dt id="ientry-idm139665389120784">caja_menu_new, <a class="indexterm" href="CajaMenu.html#caja-menu-new">caja_menu_new ()</a>
</dt>
-<dt id="ientry-idm139852116106240">caja_menu_provider_emit_items_updated_signal, <a class="indexterm" href="CajaMenuProvider.html#caja-menu-provider-emit-items-updated-signal">caja_menu_provider_emit_items_updated_signal ()</a>
+<dt id="ientry-idm139665385929952">caja_menu_provider_emit_items_updated_signal, <a class="indexterm" href="CajaMenuProvider.html#caja-menu-provider-emit-items-updated-signal">caja_menu_provider_emit_items_updated_signal ()</a>
</dt>
-<dt id="ientry-idm139852116160112">caja_menu_provider_get_background_items, <a class="indexterm" href="CajaMenuProvider.html#caja-menu-provider-get-background-items">caja_menu_provider_get_background_items ()</a>
+<dt id="ientry-idm139665385983824">caja_menu_provider_get_background_items, <a class="indexterm" href="CajaMenuProvider.html#caja-menu-provider-get-background-items">caja_menu_provider_get_background_items ()</a>
</dt>
-<dt id="ientry-idm139852118066288">caja_menu_provider_get_file_items, <a class="indexterm" href="CajaMenuProvider.html#caja-menu-provider-get-file-items">caja_menu_provider_get_file_items ()</a>
+<dt id="ientry-idm139665386567136">caja_menu_provider_get_file_items, <a class="indexterm" href="CajaMenuProvider.html#caja-menu-provider-get-file-items">caja_menu_provider_get_file_items ()</a>
</dt>
-<dt id="ientry-idm139852116133056">caja_menu_provider_get_toolbar_items, <a class="indexterm" href="CajaMenuProvider.html#caja-menu-provider-get-toolbar-items">caja_menu_provider_get_toolbar_items ()</a>
+<dt id="ientry-idm139665385956768">caja_menu_provider_get_toolbar_items, <a class="indexterm" href="CajaMenuProvider.html#caja-menu-provider-get-toolbar-items">caja_menu_provider_get_toolbar_items ()</a>
</dt>
-<dt id="ientry-idm139852118502640">caja_module_initialize, <a class="indexterm" href="libcaja-extension-CajaModule.html#caja-module-initialize">caja_module_initialize ()</a>
+<dt id="ientry-idm139665388626064">caja_module_initialize, <a class="indexterm" href="libcaja-extension-CajaModule.html#caja-module-initialize">caja_module_initialize ()</a>
</dt>
-<dt id="ientry-idm139852121594320">caja_module_list_pyfiles, <a class="indexterm" href="libcaja-extension-CajaModule.html#caja-module-list-pyfiles">caja_module_list_pyfiles ()</a>
+<dt id="ientry-idm139665386745520">caja_module_list_pyfiles, <a class="indexterm" href="libcaja-extension-CajaModule.html#caja-module-list-pyfiles">caja_module_list_pyfiles ()</a>
</dt>
-<dt id="ientry-idm139852121601648">caja_module_list_types, <a class="indexterm" href="libcaja-extension-CajaModule.html#caja-module-list-types">caja_module_list_types ()</a>
+<dt id="ientry-idm139665388615216">caja_module_list_types, <a class="indexterm" href="libcaja-extension-CajaModule.html#caja-module-list-types">caja_module_list_types ()</a>
</dt>
-<dt id="ientry-idm139852118496928">caja_module_shutdown, <a class="indexterm" href="libcaja-extension-CajaModule.html#caja-module-shutdown">caja_module_shutdown ()</a>
+<dt id="ientry-idm139665388620352">caja_module_shutdown, <a class="indexterm" href="libcaja-extension-CajaModule.html#caja-module-shutdown">caja_module_shutdown ()</a>
</dt>
-<dt id="ientry-idm139852118507824">caja_operation_result_get_type, <a class="indexterm" href="libcaja-extension-CajaModule.html#caja-operation-result-get-type">caja_operation_result_get_type ()</a>
+<dt id="ientry-idm139665388786704">caja_operation_result_get_type, <a class="indexterm" href="libcaja-extension-CajaModule.html#caja-operation-result-get-type">caja_operation_result_get_type ()</a>
</dt>
-<dt id="ientry-idm139852121119104">caja_property_page_new, <a class="indexterm" href="CajaPropertyPage.html#caja-property-page-new">caja_property_page_new ()</a>
+<dt id="ientry-idm139665386110224">caja_property_page_new, <a class="indexterm" href="CajaPropertyPage.html#caja-property-page-new">caja_property_page_new ()</a>
</dt>
-<dt id="ientry-idm139852116654512">caja_property_page_provider_get_pages, <a class="indexterm" href="CajaPropertyPageProvider.html#caja-property-page-provider-get-pages">caja_property_page_provider_get_pages ()</a>
+<dt id="ientry-idm139665385428544">caja_property_page_provider_get_pages, <a class="indexterm" href="CajaPropertyPageProvider.html#caja-property-page-provider-get-pages">caja_property_page_provider_get_pages ()</a>
</dt>
-<dt id="ientry-idm139852121586864">CAJA_TYPE_OPERATION_RESULT, <a class="indexterm" href="libcaja-extension-CajaModule.html#CAJA-TYPE-OPERATION-RESULT:CAPS">CAJA_TYPE_OPERATION_RESULT</a>
+<dt id="ientry-idm139665386738064">CAJA_TYPE_OPERATION_RESULT, <a class="indexterm" href="libcaja-extension-CajaModule.html#CAJA-TYPE-OPERATION-RESULT:CAPS">CAJA_TYPE_OPERATION_RESULT</a>
</dt>
</dl>
</div></div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/libcaja-private/caja-open-with-dialog.c new/caja-1.18.4/libcaja-private/caja-open-with-dialog.c
--- old/caja-1.18.3/libcaja-private/caja-open-with-dialog.c 2017-05-10 21:52:32.000000000 +0200
+++ new/caja-1.18.4/libcaja-private/caja-open-with-dialog.c 2017-08-26 11:33:46.000000000 +0200
@@ -884,6 +884,7 @@
gtk_misc_set_alignment (GTK_MISC (dialog->details->desc_label), 0.0, 0.5);
#endif
gtk_label_set_justify (GTK_LABEL (dialog->details->desc_label), GTK_JUSTIFY_LEFT);
+ gtk_label_set_max_width_chars (GTK_LABEL (dialog->details->desc_label), 54);
gtk_label_set_line_wrap (GTK_LABEL (dialog->details->desc_label), TRUE);
gtk_label_set_single_line_mode (GTK_LABEL (dialog->details->desc_label), FALSE);
gtk_box_pack_start (GTK_BOX (vbox2), dialog->details->desc_label, FALSE, FALSE, 0);
@@ -964,7 +965,7 @@
gtk_widget_show (label);
dialog->details->open_label = label;
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, FALSE, 0);
gtk_widget_show (dialog->details->button);
gtk_widget_set_can_default (dialog->details->button, TRUE);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/src/caja-application.c new/caja-1.18.4/src/caja-application.c
--- old/caja-1.18.3/src/caja-application.c 2017-05-11 07:01:37.000000000 +0200
+++ new/caja-1.18.4/src/caja-application.c 2017-08-26 11:10:07.000000000 +0200
@@ -1373,6 +1373,7 @@
caja_directory_force_reload (directory);
caja_directory_unref (directory);
}
+ caja_autorun (mount, autorun_show_window, application);
}
static CajaWindowSlot *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/src/caja-pathbar.c new/caja-1.18.4/src/caja-pathbar.c
--- old/caja-1.18.3/src/caja-pathbar.c 2017-05-10 21:52:33.000000000 +0200
+++ new/caja-1.18.4/src/caja-pathbar.c 2017-08-26 11:34:16.000000000 +0200
@@ -155,6 +155,7 @@
#else
gtk_button_set_focus_on_click (GTK_BUTTON (button), FALSE);
#endif
+ gtk_widget_add_events (button, GDK_SCROLL_MASK);
gtk_container_add (GTK_CONTAINER (button),
gtk_image_new_from_icon_name (arrow_type, GTK_ICON_SIZE_MENU));
gtk_container_add (GTK_CONTAINER (path_bar), button);
@@ -918,6 +919,9 @@
case GDK_SCROLL_UP:
caja_path_bar_scroll_up (path_bar);
return TRUE;
+
+ case GDK_SCROLL_SMOOTH:
+ break;
}
return FALSE;
@@ -1426,7 +1430,9 @@
pango_layout_get_pixel_size (layout, &bold_width, &bold_height);
pad_left = (bold_width - width) / 2;
- pad_right = (bold_width - width) / 2;
+ pad_right = (bold_width + 1 - width) / 2; /* this ensures rounding up - the
+ pixel size difference between bold and normal fonts is not always even and
+ will give an off-by-one error when dividing by 2 */
gtk_widget_set_margin_start (GTK_WIDGET (button_data->label), pad_left);
gtk_widget_set_margin_end (GTK_WIDGET (button_data->label), pad_right);
@@ -1840,6 +1846,7 @@
#else
gtk_button_set_focus_on_click (GTK_BUTTON (button_data->button), FALSE);
#endif
+ gtk_widget_add_events (button_data->button, GDK_SCROLL_MASK);
/* TODO update button type when xdg directories change */
button_data->drag_info.target_location = g_object_ref (path);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/src/file-manager/fm-icon-view.c new/caja-1.18.4/src/file-manager/fm-icon-view.c
--- old/caja-1.18.3/src/file-manager/fm-icon-view.c 2017-05-10 21:52:33.000000000 +0200
+++ new/caja-1.18.4/src/file-manager/fm-icon-view.c 2017-08-26 11:10:07.000000000 +0200
@@ -2472,48 +2472,29 @@
GdkEventScroll *scroll_event)
{
FMIconView *icon_view;
- GdkEvent *event_copy;
- GdkEventScroll *scroll_event_copy;
gboolean ret;
icon_view = FM_ICON_VIEW (widget);
- if (icon_view->details->compact &&
- (scroll_event->direction == GDK_SCROLL_UP ||
- scroll_event->direction == GDK_SCROLL_DOWN ||
- scroll_event->direction == GDK_SCROLL_SMOOTH)) {
- ret = fm_directory_view_handle_scroll_event (FM_DIRECTORY_VIEW (icon_view), scroll_event);
- if (!ret)
- {
- /* in column-wise layout, re-emit vertical mouse scroll events as horizontal ones,
- * if they don't bump zoom */
- event_copy = gdk_event_copy ((GdkEvent *) scroll_event);
-
- scroll_event_copy = (GdkEventScroll *) event_copy;
-
- /* transform vertical integer smooth scroll events into horizontal events */
- if (scroll_event_copy->direction == GDK_SCROLL_SMOOTH && scroll_event_copy->delta_x == 0) {
- if (scroll_event_copy->delta_y == 1.0) {
- scroll_event_copy->direction = GDK_SCROLL_DOWN;
- } else if (scroll_event_copy->delta_y == -1.0) {
- scroll_event_copy->direction = GDK_SCROLL_UP;
- }
- }
- if ((scroll_event_copy->direction == GDK_SCROLL_UP) || (scroll_event_copy->delta_x == -1.0))
-
+ if(icon_view->details->compact)
+ {
+ if((ret = fm_directory_view_handle_scroll_event(FM_DIRECTORY_VIEW(icon_view), scroll_event)))
+ return ret;
+
+ if(scroll_event->direction == GDK_SCROLL_UP)
+ scroll_event->direction = GDK_SCROLL_LEFT;
+ else if(scroll_event->direction == GDK_SCROLL_DOWN)
+ scroll_event->direction = GDK_SCROLL_RIGHT;
+ else if(scroll_event->direction == GDK_SCROLL_SMOOTH)
+ {
+ /* no x value implies only vertical scrolling enabled */
+ if(scroll_event->delta_x == 0.0)
{
- scroll_event_copy->direction = GDK_SCROLL_LEFT;
- }
- else
- {
- scroll_event_copy->direction = GDK_SCROLL_RIGHT;
+ /* convert vertical to horizontal */
+ scroll_event->delta_x = scroll_event->delta_y;
+ scroll_event->delta_y = 0.0;
}
-
- ret = gtk_widget_event (widget, event_copy);
- gdk_event_free (event_copy);
}
-
- return ret;
}
return GTK_WIDGET_CLASS (fm_icon_view_parent_class)->scroll_event (widget, scroll_event);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/caja-1.18.3/src/file-manager/fm-list-view.c new/caja-1.18.4/src/file-manager/fm-list-view.c
--- old/caja-1.18.3/src/file-manager/fm-list-view.c 2017-05-10 21:52:33.000000000 +0200
+++ new/caja-1.18.4/src/file-manager/fm-list-view.c 2017-08-26 11:34:58.000000000 +0200
@@ -1765,6 +1765,7 @@
gtk_tree_view_column_set_sort_column_id (view->details->file_name_column, column_num);
gtk_tree_view_column_set_title (view->details->file_name_column, _("Name"));
gtk_tree_view_column_set_resizable (view->details->file_name_column, TRUE);
+ gtk_tree_view_column_set_sizing(view->details->file_name_column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
gtk_tree_view_column_pack_start (view->details->file_name_column, cell, FALSE);
gtk_tree_view_column_set_attributes (view->details->file_name_column,
@@ -1804,6 +1805,7 @@
column);
gtk_tree_view_column_set_resizable (column, TRUE);
+ gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
}
g_free (name);
g_free (label);
@@ -2777,6 +2779,8 @@
-1, icon_size);
fm_directory_view_update_menus (FM_DIRECTORY_VIEW (view));
+
+ gtk_tree_model_foreach (GTK_TREE_MODEL (view->details->model), list_view_changed_foreach, NULL);
}
static void
1
0
Hello community,
here is the log from the commit of package steamtricks-data for openSUSE:Factory checked in at 2017-09-04 12:33:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/steamtricks-data (Old)
and /work/SRC/openSUSE:Factory/.steamtricks-data.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "steamtricks-data"
Mon Sep 4 12:33:25 2017 rev:3 rq:519945 version:20170518.71f4ec6
Changes:
--------
--- /work/SRC/openSUSE:Factory/steamtricks-data/steamtricks-data.changes 2017-02-16 17:06:08.282618419 +0100
+++ /work/SRC/openSUSE:Factory/.steamtricks-data.new/steamtricks-data.changes 2017-09-04 12:33:29.339417566 +0200
@@ -1,0 +2,12 @@
+Fri May 19 02:21:52 UTC 2017 - jimmy(a)boombatower.com
+
+- Update to version 20170518.71f4ec6:
+ * Provide force_system_openssl and utilize for Tomb Raider.
+ * Utilize force_system_openssl for Mad Max.
+
+-------------------------------------------------------------------
+Fri May 19 00:48:36 UTC 2017 - jimmy(a)boombatower.com
+
+- Drop 0~git prefix from version format to start with date.
+
+-------------------------------------------------------------------
Old:
----
steamtricks-data-0~git20170214.e263295.tar.xz
New:
----
steamtricks-data-20170518.71f4ec6.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ steamtricks-data.spec ++++++
--- /var/tmp/diff_new_pack.YFyuce/_old 2017-09-04 12:33:30.419265737 +0200
+++ /var/tmp/diff_new_pack.YFyuce/_new 2017-09-04 12:33:30.431264050 +0200
@@ -17,7 +17,7 @@
Name: steamtricks-data
-Version: 0~git20170214.e263295
+Version: 20170518.71f4ec6
Release: 0
Summary: Steamtricks companion data repository
License: GPL-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.YFyuce/_old 2017-09-04 12:33:30.535249429 +0200
+++ /var/tmp/diff_new_pack.YFyuce/_new 2017-09-04 12:33:30.535249429 +0200
@@ -1,6 +1,6 @@
<services>
<service name="tar_scm" mode="disabled">
- <param name="versionformat">0~git%cd.%h</param>
+ <param name="versionformat">%cd.%h</param>
<param name="url">https://github.com/steamtricks/steamtricks-data.git</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.YFyuce/_old 2017-09-04 12:33:30.591241556 +0200
+++ /var/tmp/diff_new_pack.YFyuce/_new 2017-09-04 12:33:30.603239869 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/steamtricks/steamtricks-data.git</param>
- <param name="changesrevision">e2632956231dd517c5e1cdedaa6addb053b269cd</param>
+ <param name="changesrevision">71f4ec661118b94137e77ed8d3b6a764158b3f18</param>
</service>
</servicedata>
++++++ steamtricks-data-0~git20170214.e263295.tar.xz -> steamtricks-data-20170518.71f4ec6.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/steamtricks-data-0~git20170214.e263295/data/00-common/force_system_openssl new/steamtricks-data-20170518.71f4ec6/data/00-common/force_system_openssl
--- old/steamtricks-data-0~git20170214.e263295/data/00-common/force_system_openssl 1970-01-01 01:00:00.000000000 +0100
+++ new/steamtricks-data-20170518.71f4ec6/data/00-common/force_system_openssl 2017-05-19 04:20:58.000000000 +0200
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+sed -i '2iexport LD_PRELOAD="/lib/libcrypto.so.1.0.0:/lib/libssl.so.1.0.0:$LD_PRELOAD"' "$1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/steamtricks-data-0~git20170214.e263295/data/203160-Tomb_Raider/00-pre new/steamtricks-data-20170518.71f4ec6/data/203160-Tomb_Raider/00-pre
--- old/steamtricks-data-0~git20170214.e263295/data/203160-Tomb_Raider/00-pre 1970-01-01 01:00:00.000000000 +0100
+++ new/steamtricks-data-20170518.71f4ec6/data/203160-Tomb_Raider/00-pre 2017-05-19 04:20:58.000000000 +0200
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+force_system_openssl TombRaider.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/steamtricks-data-0~git20170214.e263295/data/234140-Mad_Max/00-pre new/steamtricks-data-20170518.71f4ec6/data/234140-Mad_Max/00-pre
--- old/steamtricks-data-0~git20170214.e263295/data/234140-Mad_Max/00-pre 1970-01-01 01:00:00.000000000 +0100
+++ new/steamtricks-data-20170518.71f4ec6/data/234140-Mad_Max/00-pre 2017-05-19 04:20:58.000000000 +0200
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+force_system_openssl MadMax.sh
1
0
Hello community,
here is the log from the commit of package autofs for openSUSE:Factory checked in at 2017-09-04 12:33:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/autofs (Old)
and /work/SRC/openSUSE:Factory/.autofs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "autofs"
Mon Sep 4 12:33:11 2017 rev:111 rq:519928 version:5.1.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/autofs/autofs.changes 2017-08-24 18:21:53.231282336 +0200
+++ /work/SRC/openSUSE:Factory/.autofs.new/autofs.changes 2017-09-04 12:33:12.969719184 +0200
@@ -162,0 +163,2 @@
+ * Updated patches for context:
+ autofs-5.1.1-dbus-udisks-monitor.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package python-setuptools-git for openSUSE:Factory checked in at 2017-09-04 12:33:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-setuptools-git (Old)
and /work/SRC/openSUSE:Factory/.python-setuptools-git.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-setuptools-git"
Mon Sep 4 12:33:03 2017 rev:10 rq:519907 version:1.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-setuptools-git/python-setuptools-git.changes 2015-05-19 23:37:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-setuptools-git.new/python-setuptools-git.changes 2017-09-04 12:33:10.642046461 +0200
@@ -1,0 +2,11 @@
+Thu Aug 31 06:54:17 UTC 2017 - toddrme2178(a)gmail.com
+
+- update to version 1.2:
+ * no changelog available
+
+-------------------------------------------------------------------
+Thu Aug 24 13:54:33 UTC 2017 - jmatejek(a)suse.com
+
+- singlespec auto-conversion
+
+-------------------------------------------------------------------
@@ -55,0 +67 @@
+
Old:
----
setuptools-git-1.1.tar.gz
New:
----
setuptools-git-1.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-setuptools-git.spec ++++++
--- /var/tmp/diff_new_pack.P4UhvF/_old 2017-09-04 12:33:11.837878324 +0200
+++ /var/tmp/diff_new_pack.P4UhvF/_new 2017-09-04 12:33:11.857875512 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-setuptools-git
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,25 +16,22 @@
#
-%define mod_name setuptools-git
-
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-setuptools-git
-Version: 1.1
+Version: 1.2
Release: 0
Summary: Setuptools revision control system plugin for Git
License: BSD-3-Clause
Group: Development/Languages/Python
Url: https://github.com/wichert/setuptools-git
-Source: http://pypi.python.org/packages/source/s/setuptools-git/setuptools-git-%{ve…
+Source: https://files.pythonhosted.org/packages/source/s/setuptools-git/setuptools-…
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
BuildRequires: git-core
-BuildRequires: python-devel
-BuildRequires: python-setuptools
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
-%else
+BuildRequires: python-rpm-macros
BuildArch: noarch
-%endif
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+%python_subpackages
%description
This is a plugin for setuptools that enables git integration. Once
@@ -50,19 +47,21 @@
%setup -q -n setuptools-git-%{version}
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
%check
+export LANG=en_US.UTF-8
# configure git for the test
git config --global user.email "test(a)test.test"
git config --global user.name "test"
-python setup.py -q test
+%python_exec setup.py test
-%files
+%files %{python_files}
%defattr(-,root,root,-)
+%doc AUTHORS.txt LICENSE.txt README.rst TODO.txt
%{python_sitelib}/*
%changelog
++++++ setuptools-git-1.1.tar.gz -> setuptools-git-1.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-git-1.1/PKG-INFO new/setuptools-git-1.2/PKG-INFO
--- old/setuptools-git-1.1/PKG-INFO 2014-08-16 11:08:11.000000000 +0200
+++ new/setuptools-git-1.2/PKG-INFO 2017-02-18 01:30:59.000000000 +0100
@@ -1,10 +1,10 @@
Metadata-Version: 1.1
Name: setuptools-git
-Version: 1.1
+Version: 1.2
Summary: Setuptools revision control system plugin for Git
Home-page: https://github.com/wichert/setuptools-git
-Author: Wichert Akkerman
-Author-email: wichert(a)wiggy.net
+Author: Marc Abramowitz
+Author-email: msabramo(a)gmail.com
License: BSD
Description: About
-----
@@ -15,11 +15,11 @@
inclusion specifications with ``MANIFEST.in``.
A package distribution here refers to a package that you create using
- setup.py, ex::
+ setup.py, for example::
- python setup.py sdist
- python setup.py bdist_rpm
- python setup.py bdist_egg
+ $> python setup.py sdist
+ $> python setup.py bdist_rpm
+ $> python setup.py bdist_egg
This package was formerly known as gitlsfiles. The name change is the
result of an effort by the setuptools plugin developers to provide a
@@ -31,13 +31,13 @@
With easy_install::
- easy_install setuptools_git
+ $> easy_install setuptools_git
Alternative manual installation::
- tar -zxvf setuptools_git-X.Y.Z.tar.gz
- cd setuptools_git-X.Y.Z
- python setup.py install
+ $> tar -zxvf setuptools_git-X.Y.Z.tar.gz
+ $> cd setuptools_git-X.Y.Z
+ $> python setup.py install
Where X.Y.Z is a version number.
@@ -51,12 +51,16 @@
the `distutils manual <http://docs.python.org/dist/dist.html>`_.
To use setuptools instead of distutils, just edit ``setup.py`` and
- change::
+ change:
+
+ .. code-block:: python
from distutils.core import setup
- to::
-
+ to:
+
+ .. code-block:: python
+
from setuptools import setup, find_packages
When Setuptools builds a source package, it always includes all files
@@ -65,21 +69,25 @@
When Setuptools builds a binary package, you can ask it to include all
files tracked by your revision control system, by adding these argument
- to your invocation of `setup()`::
+ to your invocation of `setup()`:
- setup(...,
- packages=find_packages(),
- include_package_data=True,
- ...)
+ .. code-block:: python
+
+ setup(...,
+ packages=find_packages(),
+ include_package_data=True,
+ ...)
which will detect that a directory is a package if it contains a
- ``__init__.py`` file. Alternatively, you can do without ``__init__.py``
- files and tell Setuptools explicitly which packages to process::
+ ``__init__.py`` file. Alternatively, you can do without ``__init__.py``
+ files and tell Setuptools explicitly which packages to process:
+
+ .. code-block:: python
- setup(...,
- packages=["a_package", "another_one"],
- include_package_data=True,
- ...)
+ setup(...,
+ packages=["a_package", "another_one"],
+ include_package_data=True,
+ ...)
This plugin lets setuptools know what files are tracked by your git
revision control tool. Setuptools ships with support for cvs and
@@ -89,28 +97,32 @@
It might happen that you track files with your revision control system
that you don't want to include in your packages. In that case, you
can prevent setuptools from packaging those files with a directive in
- your `MANIFEST.in`, ex::
+ your ``MANIFEST.in``, for example::
exclude .gitignore
recursive-exclude images *.xcf *.blend
- In this example, we prevent setuptools from packaging `.gitignore` and
- the Gimp and Blender source files found under the `images` directory.
+ In this example, we prevent setuptools from packaging ``.gitignore`` and
+ the Gimp and Blender source files found under the ``images`` directory.
Files to exclude from the package can also be listed in the `setup()`
- directive. To do the same as the MANIFEST.in above, do::
+ directive. To do the same as the MANIFEST.in above, do:
+
+ .. code-block:: python
+
+ setup(...,
+ exclude_package_data={'': ['.gitignore'],
+ 'images': ['*.xcf', '*.blend']},
+ ...)
+
+ Here is another example:
+
+ .. code-block:: python
- setup(...,
- exclude_package_data = {'': ['.gitignore'],
- 'images': ['*.xcf', '*.blend']},
- ...)
-
- Here is another example::
-
- setup(...,
- exclude_package_data = {'': ['.gitignore', 'artwork/*'],
- 'model': ['config.py']},
- ...)
+ setup(...,
+ exclude_package_data={'': ['.gitignore', 'artwork/*'],
+ 'model': ['config.py']},
+ ...)
Gotchas
@@ -129,22 +141,39 @@
You can make sure that anyone who clones your git repository and uses
your setup.py file has this plugin by adding a `setup_requires`
- argument::
+ argument:
+
+ .. code-block:: python
+
+ setup(...,
+ setup_requires=[ "setuptools_git >= 0.3", ],
+ ...)
+
+
+ Changes
+ -------
+
+ 1.2; 2017-02-17
+ ~~~~~~~~~~~~~~~~
+ - Add ability to get version from git tags (https://github.com/msabramo/setuptools-git/pull/9)
+ - Return early if a directory isn't managed by git (https://github.com/msabramo/setuptools-git/pull/10)
+ - Support universal wheels (https://github.com/msabramo/setuptools-git/pull/11)
+ - Optimize directory scanning to skip ignored directories (https://github.com/msabramo/setuptools-git/pull/12)
- setup(...,
- setup_requires = [ "setuptools_git >= 0.3", ],
- ...)
-
References
----------
* `How to distribute Python modules with Distutils
<http://docs.python.org/dist/dist.html>`_
+
* `Setuptools complete manual
<http://peak.telecommunity.com/DevCenter/setuptools>`_
- Thanks to Zooko O'Whielacronx for many improvements to the documentation.
+ Thanks to `Zooko O'Whielacronx`_ for many improvements to the documentation.
+
+
+ .. _Zooko O'Whielacronx: https://bitbucket.org/zooko
Keywords: distutils setuptools git
Platform: UNKNOWN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-git-1.1/README.rst new/setuptools-git-1.2/README.rst
--- old/setuptools-git-1.1/README.rst 2014-08-16 11:06:54.000000000 +0200
+++ new/setuptools-git-1.2/README.rst 2017-02-18 01:30:24.000000000 +0100
@@ -7,11 +7,11 @@
inclusion specifications with ``MANIFEST.in``.
A package distribution here refers to a package that you create using
-setup.py, ex::
+setup.py, for example::
- python setup.py sdist
- python setup.py bdist_rpm
- python setup.py bdist_egg
+ $> python setup.py sdist
+ $> python setup.py bdist_rpm
+ $> python setup.py bdist_egg
This package was formerly known as gitlsfiles. The name change is the
result of an effort by the setuptools plugin developers to provide a
@@ -23,13 +23,13 @@
With easy_install::
- easy_install setuptools_git
+ $> easy_install setuptools_git
Alternative manual installation::
- tar -zxvf setuptools_git-X.Y.Z.tar.gz
- cd setuptools_git-X.Y.Z
- python setup.py install
+ $> tar -zxvf setuptools_git-X.Y.Z.tar.gz
+ $> cd setuptools_git-X.Y.Z
+ $> python setup.py install
Where X.Y.Z is a version number.
@@ -43,12 +43,16 @@
the `distutils manual <http://docs.python.org/dist/dist.html>`_.
To use setuptools instead of distutils, just edit ``setup.py`` and
-change::
+change:
+
+.. code-block:: python
from distutils.core import setup
-to::
-
+to:
+
+.. code-block:: python
+
from setuptools import setup, find_packages
When Setuptools builds a source package, it always includes all files
@@ -57,21 +61,25 @@
When Setuptools builds a binary package, you can ask it to include all
files tracked by your revision control system, by adding these argument
-to your invocation of `setup()`::
+to your invocation of `setup()`:
- setup(...,
- packages=find_packages(),
- include_package_data=True,
- ...)
+.. code-block:: python
+
+ setup(...,
+ packages=find_packages(),
+ include_package_data=True,
+ ...)
which will detect that a directory is a package if it contains a
-``__init__.py`` file. Alternatively, you can do without ``__init__.py``
-files and tell Setuptools explicitly which packages to process::
+``__init__.py`` file. Alternatively, you can do without ``__init__.py``
+files and tell Setuptools explicitly which packages to process:
+
+.. code-block:: python
- setup(...,
- packages=["a_package", "another_one"],
- include_package_data=True,
- ...)
+ setup(...,
+ packages=["a_package", "another_one"],
+ include_package_data=True,
+ ...)
This plugin lets setuptools know what files are tracked by your git
revision control tool. Setuptools ships with support for cvs and
@@ -81,28 +89,32 @@
It might happen that you track files with your revision control system
that you don't want to include in your packages. In that case, you
can prevent setuptools from packaging those files with a directive in
-your `MANIFEST.in`, ex::
+your ``MANIFEST.in``, for example::
exclude .gitignore
recursive-exclude images *.xcf *.blend
-In this example, we prevent setuptools from packaging `.gitignore` and
-the Gimp and Blender source files found under the `images` directory.
+In this example, we prevent setuptools from packaging ``.gitignore`` and
+the Gimp and Blender source files found under the ``images`` directory.
Files to exclude from the package can also be listed in the `setup()`
-directive. To do the same as the MANIFEST.in above, do::
+directive. To do the same as the MANIFEST.in above, do:
+
+.. code-block:: python
+
+ setup(...,
+ exclude_package_data={'': ['.gitignore'],
+ 'images': ['*.xcf', '*.blend']},
+ ...)
+
+Here is another example:
+
+.. code-block:: python
- setup(...,
- exclude_package_data = {'': ['.gitignore'],
- 'images': ['*.xcf', '*.blend']},
- ...)
-
-Here is another example::
-
- setup(...,
- exclude_package_data = {'': ['.gitignore', 'artwork/*'],
- 'model': ['config.py']},
- ...)
+ setup(...,
+ exclude_package_data={'': ['.gitignore', 'artwork/*'],
+ 'model': ['config.py']},
+ ...)
Gotchas
@@ -121,19 +133,36 @@
You can make sure that anyone who clones your git repository and uses
your setup.py file has this plugin by adding a `setup_requires`
-argument::
+argument:
+
+.. code-block:: python
+
+ setup(...,
+ setup_requires=[ "setuptools_git >= 0.3", ],
+ ...)
+
+
+Changes
+-------
+
+1.2; 2017-02-17
+~~~~~~~~~~~~~~~~
+ - Add ability to get version from git tags (https://github.com/msabramo/setuptools-git/pull/9)
+ - Return early if a directory isn't managed by git (https://github.com/msabramo/setuptools-git/pull/10)
+ - Support universal wheels (https://github.com/msabramo/setuptools-git/pull/11)
+ - Optimize directory scanning to skip ignored directories (https://github.com/msabramo/setuptools-git/pull/12)
- setup(...,
- setup_requires = [ "setuptools_git >= 0.3", ],
- ...)
-
References
----------
* `How to distribute Python modules with Distutils
<http://docs.python.org/dist/dist.html>`_
+
* `Setuptools complete manual
<http://peak.telecommunity.com/DevCenter/setuptools>`_
-Thanks to Zooko O'Whielacronx for many improvements to the documentation.
+Thanks to `Zooko O'Whielacronx`_ for many improvements to the documentation.
+
+
+.. _Zooko O'Whielacronx: https://bitbucket.org/zooko
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-git-1.1/setup.cfg new/setuptools-git-1.2/setup.cfg
--- old/setuptools-git-1.1/setup.cfg 2014-08-16 11:08:11.000000000 +0200
+++ new/setuptools-git-1.2/setup.cfg 2017-02-18 01:30:59.000000000 +0100
@@ -1,5 +1,7 @@
+[bdist_wheel]
+universal = 1
+
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-git-1.1/setup.py new/setuptools-git-1.2/setup.py
--- old/setuptools-git-1.1/setup.py 2014-08-16 11:07:07.000000000 +0200
+++ new/setuptools-git-1.2/setup.py 2017-02-18 01:06:52.000000000 +0100
@@ -1,12 +1,12 @@
from setuptools import setup, find_packages
-version = '1.1'
+version = '1.2'
setup(
name="setuptools-git",
version=version,
- maintainer='Wichert Akkerman',
- maintainer_email='wichert(a)wiggy.net',
+ maintainer='Marc Abramowitz',
+ maintainer_email='msabramo(a)gmail.com',
author="Yannick Gingras",
author_email="ygingras(a)ygingras.net",
url="https://github.com/wichert/setuptools-git",
@@ -35,5 +35,8 @@
entry_points="""
[setuptools.file_finders]
git=setuptools_git:listfiles
+
+ [distutils.setup_keywords]
+ use_vcs_version=setuptools_git:version_calc
"""
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-git-1.1/setuptools_git/__init__.py new/setuptools-git-1.2/setuptools_git/__init__.py
--- old/setuptools-git-1.1/setuptools_git/__init__.py 2014-08-16 11:06:54.000000000 +0200
+++ new/setuptools-git-1.2/setuptools_git/__init__.py 2017-02-18 01:05:33.000000000 +0100
@@ -18,6 +18,19 @@
from setuptools_git.utils import CalledProcessError
+def version_calc(dist, attr, value):
+ """
+ Handler for parameter to setup(use_vcs_version=value)
+ bool(value) should be true to invoke this plugin.
+ """
+ if attr == 'use_vcs_version' and value:
+ dist.metadata.version = calculate_version()
+
+
+def calculate_version():
+ return check_output(['git', 'describe', '--tags', '--dirty']).strip()
+
+
def ntfsdecode(path):
# We receive the raw bytes from Git and must decode by hand
if sys.version_info >= (3,):
@@ -80,18 +93,34 @@
return res
+def _gitlsdirs(files, prefix_length):
+ # Return directories managed by Git
+ dirs = set()
+ for file in files:
+ dir = posixpath.dirname(file)
+ while len(dir) > prefix_length:
+ dirs.add(dir)
+ dir = posixpath.dirname(dir)
+ return dirs
+
+
def listfiles(dirname=''):
git_files = gitlsfiles(dirname)
+ if not git_files:
+ return
cwd = realpath(dirname or os.curdir)
prefix_length = len(cwd) + 1
+ git_dirs = _gitlsdirs(git_files, prefix_length)
+
if sys.version_info >= (2, 6):
walker = os.walk(cwd, followlinks=True)
else:
walker = os.walk(cwd)
for root, dirs, files in walker:
+ dirs[:] = [x for x in dirs if posix(realpath(join(root, x))) in git_dirs]
for file in files:
filename = join(root, file)
if posix(realpath(filename)) in git_files:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-git-1.1/setuptools_git/tests.py new/setuptools-git-1.2/setuptools_git/tests.py
--- old/setuptools-git-1.1/setuptools_git/tests.py 2014-08-16 11:06:54.000000000 +0200
+++ new/setuptools-git-1.2/setuptools_git/tests.py 2017-02-18 01:05:33.000000000 +0100
@@ -61,7 +61,7 @@
def test_at_repo_root_with_subdir(self):
self.create_git_file('root.txt')
- os.mkdir(join(self.directory, 'subdir'))
+ self.create_dir('subdir')
self.create_git_file('subdir', 'entry.txt')
self.assertEqual(
set(self.gitlsfiles(self.directory)),
@@ -70,7 +70,7 @@
def test_at_repo_subdir(self):
self.create_git_file('root.txt')
- os.mkdir(join(self.directory, 'subdir'))
+ self.create_dir('subdir')
self.create_git_file('subdir', 'entry.txt')
self.assertEqual(
set(self.gitlsfiles(join(self.directory, 'subdir'))),
@@ -167,7 +167,7 @@
def test_empty_dirname_in_subdir(self):
self.create_git_file('root.txt')
- os.mkdir(join(self.directory, 'subdir'))
+ self.create_dir('subdir')
self.create_git_file('subdir', 'entry.txt')
os.chdir(join(self.directory, 'subdir'))
self.assertEqual(
@@ -205,7 +205,7 @@
def test_at_repo_root_with_subdir(self):
self.create_git_file('root.txt')
- os.mkdir(join(self.directory, 'subdir'))
+ self.create_dir('subdir')
self.create_git_file('subdir', 'entry.txt')
self.assertEqual(
set(self.listfiles(self.directory)),
@@ -213,7 +213,7 @@
def test_at_repo_subdir(self):
self.create_git_file('root.txt')
- os.mkdir(join(self.directory, 'subdir'))
+ self.create_dir('subdir')
self.create_git_file('subdir', 'entry.txt')
self.assertEqual(
set(self.listfiles(join(self.directory, 'subdir'))),
@@ -309,7 +309,7 @@
def test_empty_dirname_in_subdir(self):
self.create_git_file('root.txt')
- os.mkdir(join(self.directory, 'subdir'))
+ self.create_dir('subdir')
self.create_git_file('subdir', 'entry.txt')
os.chdir(join(self.directory, 'subdir'))
self.assertEqual(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-git-1.1/setuptools_git.egg-info/PKG-INFO new/setuptools-git-1.2/setuptools_git.egg-info/PKG-INFO
--- old/setuptools-git-1.1/setuptools_git.egg-info/PKG-INFO 2014-08-16 11:08:10.000000000 +0200
+++ new/setuptools-git-1.2/setuptools_git.egg-info/PKG-INFO 2017-02-18 01:30:59.000000000 +0100
@@ -1,10 +1,10 @@
Metadata-Version: 1.1
Name: setuptools-git
-Version: 1.1
+Version: 1.2
Summary: Setuptools revision control system plugin for Git
Home-page: https://github.com/wichert/setuptools-git
-Author: Wichert Akkerman
-Author-email: wichert(a)wiggy.net
+Author: Marc Abramowitz
+Author-email: msabramo(a)gmail.com
License: BSD
Description: About
-----
@@ -15,11 +15,11 @@
inclusion specifications with ``MANIFEST.in``.
A package distribution here refers to a package that you create using
- setup.py, ex::
+ setup.py, for example::
- python setup.py sdist
- python setup.py bdist_rpm
- python setup.py bdist_egg
+ $> python setup.py sdist
+ $> python setup.py bdist_rpm
+ $> python setup.py bdist_egg
This package was formerly known as gitlsfiles. The name change is the
result of an effort by the setuptools plugin developers to provide a
@@ -31,13 +31,13 @@
With easy_install::
- easy_install setuptools_git
+ $> easy_install setuptools_git
Alternative manual installation::
- tar -zxvf setuptools_git-X.Y.Z.tar.gz
- cd setuptools_git-X.Y.Z
- python setup.py install
+ $> tar -zxvf setuptools_git-X.Y.Z.tar.gz
+ $> cd setuptools_git-X.Y.Z
+ $> python setup.py install
Where X.Y.Z is a version number.
@@ -51,12 +51,16 @@
the `distutils manual <http://docs.python.org/dist/dist.html>`_.
To use setuptools instead of distutils, just edit ``setup.py`` and
- change::
+ change:
+
+ .. code-block:: python
from distutils.core import setup
- to::
-
+ to:
+
+ .. code-block:: python
+
from setuptools import setup, find_packages
When Setuptools builds a source package, it always includes all files
@@ -65,21 +69,25 @@
When Setuptools builds a binary package, you can ask it to include all
files tracked by your revision control system, by adding these argument
- to your invocation of `setup()`::
+ to your invocation of `setup()`:
- setup(...,
- packages=find_packages(),
- include_package_data=True,
- ...)
+ .. code-block:: python
+
+ setup(...,
+ packages=find_packages(),
+ include_package_data=True,
+ ...)
which will detect that a directory is a package if it contains a
- ``__init__.py`` file. Alternatively, you can do without ``__init__.py``
- files and tell Setuptools explicitly which packages to process::
+ ``__init__.py`` file. Alternatively, you can do without ``__init__.py``
+ files and tell Setuptools explicitly which packages to process:
+
+ .. code-block:: python
- setup(...,
- packages=["a_package", "another_one"],
- include_package_data=True,
- ...)
+ setup(...,
+ packages=["a_package", "another_one"],
+ include_package_data=True,
+ ...)
This plugin lets setuptools know what files are tracked by your git
revision control tool. Setuptools ships with support for cvs and
@@ -89,28 +97,32 @@
It might happen that you track files with your revision control system
that you don't want to include in your packages. In that case, you
can prevent setuptools from packaging those files with a directive in
- your `MANIFEST.in`, ex::
+ your ``MANIFEST.in``, for example::
exclude .gitignore
recursive-exclude images *.xcf *.blend
- In this example, we prevent setuptools from packaging `.gitignore` and
- the Gimp and Blender source files found under the `images` directory.
+ In this example, we prevent setuptools from packaging ``.gitignore`` and
+ the Gimp and Blender source files found under the ``images`` directory.
Files to exclude from the package can also be listed in the `setup()`
- directive. To do the same as the MANIFEST.in above, do::
+ directive. To do the same as the MANIFEST.in above, do:
+
+ .. code-block:: python
+
+ setup(...,
+ exclude_package_data={'': ['.gitignore'],
+ 'images': ['*.xcf', '*.blend']},
+ ...)
+
+ Here is another example:
+
+ .. code-block:: python
- setup(...,
- exclude_package_data = {'': ['.gitignore'],
- 'images': ['*.xcf', '*.blend']},
- ...)
-
- Here is another example::
-
- setup(...,
- exclude_package_data = {'': ['.gitignore', 'artwork/*'],
- 'model': ['config.py']},
- ...)
+ setup(...,
+ exclude_package_data={'': ['.gitignore', 'artwork/*'],
+ 'model': ['config.py']},
+ ...)
Gotchas
@@ -129,22 +141,39 @@
You can make sure that anyone who clones your git repository and uses
your setup.py file has this plugin by adding a `setup_requires`
- argument::
+ argument:
+
+ .. code-block:: python
+
+ setup(...,
+ setup_requires=[ "setuptools_git >= 0.3", ],
+ ...)
+
+
+ Changes
+ -------
+
+ 1.2; 2017-02-17
+ ~~~~~~~~~~~~~~~~
+ - Add ability to get version from git tags (https://github.com/msabramo/setuptools-git/pull/9)
+ - Return early if a directory isn't managed by git (https://github.com/msabramo/setuptools-git/pull/10)
+ - Support universal wheels (https://github.com/msabramo/setuptools-git/pull/11)
+ - Optimize directory scanning to skip ignored directories (https://github.com/msabramo/setuptools-git/pull/12)
- setup(...,
- setup_requires = [ "setuptools_git >= 0.3", ],
- ...)
-
References
----------
* `How to distribute Python modules with Distutils
<http://docs.python.org/dist/dist.html>`_
+
* `Setuptools complete manual
<http://peak.telecommunity.com/DevCenter/setuptools>`_
- Thanks to Zooko O'Whielacronx for many improvements to the documentation.
+ Thanks to `Zooko O'Whielacronx`_ for many improvements to the documentation.
+
+
+ .. _Zooko O'Whielacronx: https://bitbucket.org/zooko
Keywords: distutils setuptools git
Platform: UNKNOWN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-git-1.1/setuptools_git.egg-info/SOURCES.txt new/setuptools-git-1.2/setuptools_git.egg-info/SOURCES.txt
--- old/setuptools-git-1.1/setuptools_git.egg-info/SOURCES.txt 2014-08-16 11:08:11.000000000 +0200
+++ new/setuptools-git-1.2/setuptools_git.egg-info/SOURCES.txt 2017-02-18 01:30:59.000000000 +0100
@@ -3,6 +3,7 @@
LICENSE.txt
README.rst
TODO.txt
+setup.cfg
setup.py
setuptools_git/__init__.py
setuptools_git/tests.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-git-1.1/setuptools_git.egg-info/entry_points.txt new/setuptools-git-1.2/setuptools_git.egg-info/entry_points.txt
--- old/setuptools-git-1.1/setuptools_git.egg-info/entry_points.txt 2014-08-16 11:08:10.000000000 +0200
+++ new/setuptools-git-1.2/setuptools_git.egg-info/entry_points.txt 2017-02-18 01:30:59.000000000 +0100
@@ -1,4 +1,7 @@
[setuptools.file_finders]
git=setuptools_git:listfiles
+
+ [distutils.setup_keywords]
+ use_vcs_version=setuptools_git:version_calc
\ No newline at end of file
1
0
Hello community,
here is the log from the commit of package python-django-picklefield for openSUSE:Factory checked in at 2017-09-04 12:32:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-picklefield (Old)
and /work/SRC/openSUSE:Factory/.python-django-picklefield.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-picklefield"
Mon Sep 4 12:32:57 2017 rev:12 rq:519906 version:1.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-django-picklefield/python-django-picklefield.changes 2015-05-07 09:22:27.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-django-picklefield.new/python-django-picklefield.changes 2017-09-04 12:33:03.827004669 +0200
@@ -1,0 +2,11 @@
+Thu Aug 31 06:59:35 UTC 2017 - toddrme2178(a)gmail.com
+
+- Update to version 1.0.0
+ * No changelog
+
+-------------------------------------------------------------------
+Thu Aug 24 13:37:21 UTC 2017 - jmatejek(a)suse.com
+
+- singlespec auto-conversion
+
+-------------------------------------------------------------------
@@ -93,0 +105 @@
+
Old:
----
django-picklefield-0.3.1.tar.gz
New:
----
django-picklefield-1.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-picklefield.spec ++++++
--- /var/tmp/diff_new_pack.38m96E/_old 2017-09-04 12:33:05.142819663 +0200
+++ /var/tmp/diff_new_pack.38m96E/_new 2017-09-04 12:33:05.146819101 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-django-picklefield
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,23 +16,25 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%bcond_with test
Name: python-django-picklefield
-Version: 0.3.1
+Version: 1.0.0
Release: 0
-Url: http://github.com/gintas/django-picklefield
Summary: Pickled object field for Django
License: MIT
Group: Development/Languages/Python
-Source: https://pypi.python.org/packages/source/d/django-picklefield/django-picklef…
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: python-devel
-BuildRequires: python-setuptools
-Requires: python-django
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
-%else
-BuildArch: noarch
+Url: http://github.com/gintas/django-picklefield
+Source: https://files.pythonhosted.org/packages/source/d/django-picklefield/django-…
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
+BuildRequires: python-rpm-macros
+%if %{with test}
+BuildRequires: %{python_module Django}
%endif
+Requires: python-Django
+BuildArch: noarch
+%python_subpackages
%description
django-picklefield provides an implementation of a pickled object field.
@@ -47,14 +49,19 @@
%setup -q -n django-picklefield-%{version}
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
+
+%if %{with test}
+%check
+%python_exec setup.py test
+%endif
-%files
+%files %{python_files}
%defattr(-,root,root,-)
-%doc README
+%doc README.rst
%{python_sitelib}/*
%changelog
++++++ django-picklefield-0.3.1.tar.gz -> django-picklefield-1.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-picklefield-0.3.1/PKG-INFO new/django-picklefield-1.0.0/PKG-INFO
--- old/django-picklefield-0.3.1/PKG-INFO 2013-11-15 22:25:57.000000000 +0100
+++ new/django-picklefield-1.0.0/PKG-INFO 2017-06-30 01:46:31.000000000 +0200
@@ -1,25 +1,31 @@
Metadata-Version: 1.1
Name: django-picklefield
-Version: 0.3.1
+Version: 1.0.0
Summary: Pickled object field for Django
Home-page: http://github.com/gintas/django-picklefield
Author: Gintautas Miliauskas
Author-email: gintautas(a)miliauskas.lt
License: UNKNOWN
-Description: -----
+Description: .. image:: https://travis-ci.org/gintas/django-picklefield.svg?branch=master
+ :target: https://travis-ci.org/gintas/django-picklefield
+
+ .. image:: https://coveralls.io/repos/gintas/django-picklefield/badge.svg?branch=maste…
+ :target: https://coveralls.io/github/gintas/django-picklefield?branch=master
+
+ -----
About
-----
**django-picklefield** provides an implementation of a pickled object field.
Such fields can contain any picklable objects.
- The implementation is taken and adopted from Django snippet #1694
- <http://www.djangosnippets.org/snippets/1694/> by Taavi Taijala, which is in
- turn based on Django snippet #513 <http://www.djangosnippets.org/snippets/513/>
- by Oliver Beattie.
+ The implementation is taken and adopted from `Django snippet #1694`_ by Taavi
+ Taijala, which is in turn based on `Django snippet #513`_ by Oliver Beattie.
django-picklefield is available under the MIT license.
+ .. _Django snippet #1694: http://www.djangosnippets.org/snippets/1694/
+ .. _Django snippet #513: http://www.djangosnippets.org/snippets/513/
-----
Usage
@@ -52,6 +58,23 @@
format is not convenient for parsing in the browser. By overriding
``value_to_string()`` you can choose a more convenient serialization format.
+ Fields now accept the boolean key word argument `copy`, which defaults to
+ `True`. The `copy` is necessary for lookups to work correctly. If you don't
+ care about performing lookups on the picklefield, you can set `copy=False` to
+ save on some memory usage. This an be especially beneficial for very large
+ object trees.
+
+ -------------
+ Running tests
+ -------------
+
+ The full test suite can be run with `Tox`_::
+
+ >>> pip install tox
+ >>> tox
+
+ .. _Tox: https://testrun.org/tox/latest/
+
--------------
Original notes
--------------
@@ -122,77 +145,93 @@
Changes
-------
+ Changes in version 1.0.0
+ ========================
+
+ * Added a new option to prevent a copy of the object before pickling: `copy=True`
+ * Dropped support for Django 1.4
+ * Dropped support for Django 1.7
+ * Dropped support for Python 3.2
+ * Added support for Python 3.6
+
+ Changes in version 0.3.2
+ ========================
+
+ * Dropped support for Django 1.3.
+ * Dropped support for Python 2.5.
+ * Silenced deprecation warnings on Django 1.8+.
+
Changes in version 0.3.1
========================
- * Favor the built in json module (thanks to Simon Charette).
+ * Favor the built in json module (thanks to Simon Charette).
Changes in version 0.3.0
========================
- * Python 3 support (thanks to Rafal Stozek).
+ * Python 3 support (thanks to Rafal Stozek).
Changes in version 0.2.0
========================
- * Allow pickling of subclasses of django.db.models.Model (thanks to Simon
- Charette).
+ * Allow pickling of subclasses of django.db.models.Model (thanks to Simon
+ Charette).
Changes in version 0.1.9
========================
- * Added `connection` and `prepared` parameters to `get_db_prep_value()` too
- (thanks to Matthew Schinckel).
+ * Added `connection` and `prepared` parameters to `get_db_prep_value()` too
+ (thanks to Matthew Schinckel).
Changes in version 0.1.8
========================
- * Updated link to code repository.
+ * Updated link to code repository.
Changes in version 0.1.7
========================
- * Added `connection` and `prepared` parameters to `get_db_prep_lookup()` to
- get rid of deprecation warnings in Django 1.2.
+ * Added `connection` and `prepared` parameters to `get_db_prep_lookup()` to
+ get rid of deprecation warnings in Django 1.2.
Changes in version 0.1.6
========================
- * Fixed South support (thanks aehlke@github).
+ * Fixed South support (thanks aehlke@github).
Changes in version 0.1.5
========================
- * Added support for South.
- * Changed default to null=False, as is common throughout Django.
+ * Added support for South.
+ * Changed default to null=False, as is common throughout Django.
Changes in version 0.1.4
========================
- * Updated copyright statements.
+ * Updated copyright statements.
Changes in version 0.1.3
========================
- * Updated serialization tests (thanks to Michael Fladischer).
+ * Updated serialization tests (thanks to Michael Fladischer).
Changes in version 0.1.2
========================
- * Added Simplified BSD licence.
+ * Added Simplified BSD licence.
Changes in version 0.1.1
========================
- * Added test for serialization.
- * Added note about JSON serialization for browser.
- * Added support for different pickle protocol versions (thanks to Michael
- Fladischer).
+ * Added test for serialization.
+ * Added note about JSON serialization for browser.
+ * Added support for different pickle protocol versions (thanks to Michael
+ Fladischer).
Changes in version 0.1
======================
- * First public release.
+ * First public release.
--------
@@ -210,8 +249,7 @@
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.5
-Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-picklefield-0.3.1/README new/django-picklefield-1.0.0/README
--- old/django-picklefield-0.3.1/README 2013-11-15 22:18:40.000000000 +0100
+++ new/django-picklefield-1.0.0/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,197 +0,0 @@
------
-About
------
-
-**django-picklefield** provides an implementation of a pickled object field.
-Such fields can contain any picklable objects.
-
-The implementation is taken and adopted from Django snippet #1694
-<http://www.djangosnippets.org/snippets/1694/> by Taavi Taijala, which is in
-turn based on Django snippet #513 <http://www.djangosnippets.org/snippets/513/>
-by Oliver Beattie.
-
-django-picklefield is available under the MIT license.
-
-
------
-Usage
------
-
-First of all, you need to have **django-picklefield** installed; for your
-convenience, recent versions should be available from PyPI.
-
-To use, just define a field in your model::
-
- >>> from picklefield.fields import PickledObjectField
- ... class SomeObject(models.Model):
- ... args = PickledObjectField()
-
-and assign whatever you like (as long as it's picklable) to the field::
-
- >>> obj = SomeObject()
- >>> obj.args = ['fancy', {'objects': 'inside'}]
- >>> obj.save()
-
-
------
-Notes
------
-
-If you need to serialize an object with a PickledObjectField for transmission
-to the browser, you may need to subclass the field and override the
-``value_to_string()`` method. Currently pickle fields are serialized as
-base64-encoded pickles, which allows reliable deserialization, but such a
-format is not convenient for parsing in the browser. By overriding
-``value_to_string()`` you can choose a more convenient serialization format.
-
---------------
-Original notes
---------------
-
-Here are the notes by taavi223, the original author:
-
-Incredibly useful for storing just about anything in the database (provided it
-is Pickle-able, of course) when there isn't a 'proper' field for the job.
-
-PickledObjectField is database-agnostic, and should work with any database
-backend you can throw at it. You can pass in any Python object and it will
-automagically be converted behind the scenes. You never have to manually pickle
-or unpickle anything. Also works fine when querying; supports exact, in, and
-isnull lookups. It should be noted, however, that calling QuerySet.values()
-will only return the encoded data, not the original Python object.
-
-This PickledObjectField has a few improvements over the one in snippet #513.
-
-This one solves the DjangoUnicodeDecodeError problem when saving an object
-containing non-ASCII data by base64 encoding the pickled output stream. This
-ensures that all stored data is ASCII, eliminating the problem.
-
-PickledObjectField will now optionally use zlib to compress (and uncompress)
-pickled objects on the fly. This can be set per-field using the keyword
-argument "compress=True". For most items this is probably not worth the small
-performance penalty, but for Models with larger objects, it can be a real space
-saver.
-
-You can also now specify the pickle protocol per-field, using the protocol
-keyword argument. The default of 2 should always work, unless you are trying to
-access the data from outside of the Django ORM.
-
-Worked around a rare issue when using the cPickle and performing lookups of
-complex data types. In short, cPickle would sometimes output different streams
-for the same object depending on how it was referenced. This of course could
-cause lookups for complex objects to fail, even when a matching object exists.
-See the docstrings and tests for more information.
-
-You can now use the isnull lookup and have it function as expected. A
-consequence of this is that by default, PickledObjectField has null=True set
-(you can of course pass null=False if you want to change that). If null=False
-is set (the default for fields), then you wouldn't be able to store a Python
-None value, since None values aren't pickled or encoded (this in turn is what
-makes the isnull lookup possible).
-
-You can now pass in an object as the default argument for the field without it
-being converted to a unicode string first. If you pass in a callable though,
-the field will still call it. It will not try to pickle and encode it.
-
-You can manually import dbsafe_encode and dbsafe_decode from fields.py if you
-want to encode and decode objects yourself. This is mostly useful for decoding
-values returned from calling QuerySet.values(), which are still encoded
-strings.
-
-Note: If you are trying to store other django models in the PickledObjectField,
-please see the comments for a discussion on the problems associated with doing
-that. The easy solution is to put django models into a list or tuple before
-assigning them to the PickledObjectField.
-
-Update 9/2/09: Fixed the value_to_string method so that serialization should
-now work as expected. Also added deepcopy back into dbsafe_encode, fixing #4
-above, since deepcopy had somehow managed to remove itself. This means that
-lookups should once again work as expected in all situations. Also made the
-field editable=False by default (which I swear I already did once before!)
-since it is never a good idea to have a PickledObjectField be user editable.
-
--------
-Changes
--------
-
-Changes in version 0.3.1
-========================
-
- * Favor the built in json module (thanks to Simon Charette).
-
-Changes in version 0.3.0
-========================
-
- * Python 3 support (thanks to Rafal Stozek).
-
-Changes in version 0.2.0
-========================
-
- * Allow pickling of subclasses of django.db.models.Model (thanks to Simon
- Charette).
-
-Changes in version 0.1.9
-========================
-
- * Added `connection` and `prepared` parameters to `get_db_prep_value()` too
- (thanks to Matthew Schinckel).
-
-Changes in version 0.1.8
-========================
-
- * Updated link to code repository.
-
-Changes in version 0.1.7
-========================
-
- * Added `connection` and `prepared` parameters to `get_db_prep_lookup()` to
- get rid of deprecation warnings in Django 1.2.
-
-Changes in version 0.1.6
-========================
-
- * Fixed South support (thanks aehlke@github).
-
-Changes in version 0.1.5
-========================
-
- * Added support for South.
- * Changed default to null=False, as is common throughout Django.
-
-Changes in version 0.1.4
-========================
-
- * Updated copyright statements.
-
-Changes in version 0.1.3
-========================
-
- * Updated serialization tests (thanks to Michael Fladischer).
-
-Changes in version 0.1.2
-========================
-
- * Added Simplified BSD licence.
-
-Changes in version 0.1.1
-========================
-
- * Added test for serialization.
- * Added note about JSON serialization for browser.
- * Added support for different pickle protocol versions (thanks to Michael
- Fladischer).
-
-Changes in version 0.1
-======================
-
- * First public release.
-
-
---------
-Feedback
---------
-
-There is a home page <http://github.com/gintas/django-picklefield>
-with instructions on how to access the code repository.
-
-Send feedback and suggestions to gintautas(a)miliauskas.lt .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-picklefield-0.3.1/README.rst new/django-picklefield-1.0.0/README.rst
--- old/django-picklefield-0.3.1/README.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/django-picklefield-1.0.0/README.rst 2017-06-30 01:45:38.000000000 +0200
@@ -0,0 +1,236 @@
+.. image:: https://travis-ci.org/gintas/django-picklefield.svg?branch=master
+ :target: https://travis-ci.org/gintas/django-picklefield
+
+.. image:: https://coveralls.io/repos/gintas/django-picklefield/badge.svg?branch=maste…
+ :target: https://coveralls.io/github/gintas/django-picklefield?branch=master
+
+-----
+About
+-----
+
+**django-picklefield** provides an implementation of a pickled object field.
+Such fields can contain any picklable objects.
+
+The implementation is taken and adopted from `Django snippet #1694`_ by Taavi
+Taijala, which is in turn based on `Django snippet #513`_ by Oliver Beattie.
+
+django-picklefield is available under the MIT license.
+
+.. _Django snippet #1694: http://www.djangosnippets.org/snippets/1694/
+.. _Django snippet #513: http://www.djangosnippets.org/snippets/513/
+
+-----
+Usage
+-----
+
+First of all, you need to have **django-picklefield** installed; for your
+convenience, recent versions should be available from PyPI.
+
+To use, just define a field in your model::
+
+ >>> from picklefield.fields import PickledObjectField
+ ... class SomeObject(models.Model):
+ ... args = PickledObjectField()
+
+and assign whatever you like (as long as it's picklable) to the field::
+
+ >>> obj = SomeObject()
+ >>> obj.args = ['fancy', {'objects': 'inside'}]
+ >>> obj.save()
+
+
+-----
+Notes
+-----
+
+If you need to serialize an object with a PickledObjectField for transmission
+to the browser, you may need to subclass the field and override the
+``value_to_string()`` method. Currently pickle fields are serialized as
+base64-encoded pickles, which allows reliable deserialization, but such a
+format is not convenient for parsing in the browser. By overriding
+``value_to_string()`` you can choose a more convenient serialization format.
+
+Fields now accept the boolean key word argument `copy`, which defaults to
+`True`. The `copy` is necessary for lookups to work correctly. If you don't
+care about performing lookups on the picklefield, you can set `copy=False` to
+save on some memory usage. This an be especially beneficial for very large
+object trees.
+
+-------------
+Running tests
+-------------
+
+The full test suite can be run with `Tox`_::
+
+ >>> pip install tox
+ >>> tox
+
+.. _Tox: https://testrun.org/tox/latest/
+
+--------------
+Original notes
+--------------
+
+Here are the notes by taavi223, the original author:
+
+Incredibly useful for storing just about anything in the database (provided it
+is Pickle-able, of course) when there isn't a 'proper' field for the job.
+
+PickledObjectField is database-agnostic, and should work with any database
+backend you can throw at it. You can pass in any Python object and it will
+automagically be converted behind the scenes. You never have to manually pickle
+or unpickle anything. Also works fine when querying; supports exact, in, and
+isnull lookups. It should be noted, however, that calling QuerySet.values()
+will only return the encoded data, not the original Python object.
+
+This PickledObjectField has a few improvements over the one in snippet #513.
+
+This one solves the DjangoUnicodeDecodeError problem when saving an object
+containing non-ASCII data by base64 encoding the pickled output stream. This
+ensures that all stored data is ASCII, eliminating the problem.
+
+PickledObjectField will now optionally use zlib to compress (and uncompress)
+pickled objects on the fly. This can be set per-field using the keyword
+argument "compress=True". For most items this is probably not worth the small
+performance penalty, but for Models with larger objects, it can be a real space
+saver.
+
+You can also now specify the pickle protocol per-field, using the protocol
+keyword argument. The default of 2 should always work, unless you are trying to
+access the data from outside of the Django ORM.
+
+Worked around a rare issue when using the cPickle and performing lookups of
+complex data types. In short, cPickle would sometimes output different streams
+for the same object depending on how it was referenced. This of course could
+cause lookups for complex objects to fail, even when a matching object exists.
+See the docstrings and tests for more information.
+
+You can now use the isnull lookup and have it function as expected. A
+consequence of this is that by default, PickledObjectField has null=True set
+(you can of course pass null=False if you want to change that). If null=False
+is set (the default for fields), then you wouldn't be able to store a Python
+None value, since None values aren't pickled or encoded (this in turn is what
+makes the isnull lookup possible).
+
+You can now pass in an object as the default argument for the field without it
+being converted to a unicode string first. If you pass in a callable though,
+the field will still call it. It will not try to pickle and encode it.
+
+You can manually import dbsafe_encode and dbsafe_decode from fields.py if you
+want to encode and decode objects yourself. This is mostly useful for decoding
+values returned from calling QuerySet.values(), which are still encoded
+strings.
+
+Note: If you are trying to store other django models in the PickledObjectField,
+please see the comments for a discussion on the problems associated with doing
+that. The easy solution is to put django models into a list or tuple before
+assigning them to the PickledObjectField.
+
+Update 9/2/09: Fixed the value_to_string method so that serialization should
+now work as expected. Also added deepcopy back into dbsafe_encode, fixing #4
+above, since deepcopy had somehow managed to remove itself. This means that
+lookups should once again work as expected in all situations. Also made the
+field editable=False by default (which I swear I already did once before!)
+since it is never a good idea to have a PickledObjectField be user editable.
+
+-------
+Changes
+-------
+
+Changes in version 1.0.0
+========================
+
+* Added a new option to prevent a copy of the object before pickling: `copy=True`
+* Dropped support for Django 1.4
+* Dropped support for Django 1.7
+* Dropped support for Python 3.2
+* Added support for Python 3.6
+
+Changes in version 0.3.2
+========================
+
+* Dropped support for Django 1.3.
+* Dropped support for Python 2.5.
+* Silenced deprecation warnings on Django 1.8+.
+
+Changes in version 0.3.1
+========================
+
+* Favor the built in json module (thanks to Simon Charette).
+
+Changes in version 0.3.0
+========================
+
+* Python 3 support (thanks to Rafal Stozek).
+
+Changes in version 0.2.0
+========================
+
+* Allow pickling of subclasses of django.db.models.Model (thanks to Simon
+ Charette).
+
+Changes in version 0.1.9
+========================
+
+* Added `connection` and `prepared` parameters to `get_db_prep_value()` too
+ (thanks to Matthew Schinckel).
+
+Changes in version 0.1.8
+========================
+
+* Updated link to code repository.
+
+Changes in version 0.1.7
+========================
+
+* Added `connection` and `prepared` parameters to `get_db_prep_lookup()` to
+ get rid of deprecation warnings in Django 1.2.
+
+Changes in version 0.1.6
+========================
+
+* Fixed South support (thanks aehlke@github).
+
+Changes in version 0.1.5
+========================
+
+* Added support for South.
+* Changed default to null=False, as is common throughout Django.
+
+Changes in version 0.1.4
+========================
+
+* Updated copyright statements.
+
+Changes in version 0.1.3
+========================
+
+* Updated serialization tests (thanks to Michael Fladischer).
+
+Changes in version 0.1.2
+========================
+
+* Added Simplified BSD licence.
+
+Changes in version 0.1.1
+========================
+
+* Added test for serialization.
+* Added note about JSON serialization for browser.
+* Added support for different pickle protocol versions (thanks to Michael
+ Fladischer).
+
+Changes in version 0.1
+======================
+
+* First public release.
+
+
+--------
+Feedback
+--------
+
+There is a home page <http://github.com/gintas/django-picklefield>
+with instructions on how to access the code repository.
+
+Send feedback and suggestions to gintautas(a)miliauskas.lt .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-picklefield-0.3.1/setup.cfg new/django-picklefield-1.0.0/setup.cfg
--- old/django-picklefield-0.3.1/setup.cfg 2013-11-15 22:25:57.000000000 +0100
+++ new/django-picklefield-1.0.0/setup.cfg 2017-06-30 01:46:31.000000000 +0200
@@ -1,5 +1,17 @@
+[flake8]
+max-line-length = 119
+
+[isort]
+combine_as_imports = true
+include_trailing_comma = true
+known_third_party = picklefield,south
+multi_line_output = 5
+not_skip = __init__.py
+
+[wheel]
+universal = 1
+
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-picklefield-0.3.1/setup.py new/django-picklefield-1.0.0/setup.py
--- old/django-picklefield-0.3.1/setup.py 2013-11-15 22:17:12.000000000 +0100
+++ new/django-picklefield-1.0.0/setup.py 2017-06-30 01:45:38.000000000 +0200
@@ -22,32 +22,27 @@
import codecs
from setuptools import setup, find_packages
+long_description = codecs.open('README.rst', encoding='utf-8').read()
-DESC=codecs.open('README', encoding='utf-8').read()
-
-
-setup(name='django-picklefield',
- version='0.3.1',
+setup(
+ name='django-picklefield',
+ version='1.0.0',
description='Pickled object field for Django',
- long_description=DESC,
+ long_description=long_description,
author='Gintautas Miliauskas',
author_email='gintautas(a)miliauskas.lt',
url='http://github.com/gintas/django-picklefield',
packages=find_packages('src'),
- package_dir={'' : 'src'},
- install_requires=[
- 'six',
- ],
+ package_dir={'': 'src'},
classifiers=[
'Development Status :: 5 - Production/Stable',
'Framework :: Django',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python',
- 'Programming Language :: Python :: 2.5',
- 'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.2',
'Programming Language :: Python :: 3.3',
+ 'Programming Language :: Python :: 3.4',
]
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-picklefield-0.3.1/src/django_picklefield.egg-info/PKG-INFO new/django-picklefield-1.0.0/src/django_picklefield.egg-info/PKG-INFO
--- old/django-picklefield-0.3.1/src/django_picklefield.egg-info/PKG-INFO 2013-11-15 22:25:57.000000000 +0100
+++ new/django-picklefield-1.0.0/src/django_picklefield.egg-info/PKG-INFO 2017-06-30 01:46:31.000000000 +0200
@@ -1,25 +1,31 @@
Metadata-Version: 1.1
Name: django-picklefield
-Version: 0.3.1
+Version: 1.0.0
Summary: Pickled object field for Django
Home-page: http://github.com/gintas/django-picklefield
Author: Gintautas Miliauskas
Author-email: gintautas(a)miliauskas.lt
License: UNKNOWN
-Description: -----
+Description: .. image:: https://travis-ci.org/gintas/django-picklefield.svg?branch=master
+ :target: https://travis-ci.org/gintas/django-picklefield
+
+ .. image:: https://coveralls.io/repos/gintas/django-picklefield/badge.svg?branch=maste…
+ :target: https://coveralls.io/github/gintas/django-picklefield?branch=master
+
+ -----
About
-----
**django-picklefield** provides an implementation of a pickled object field.
Such fields can contain any picklable objects.
- The implementation is taken and adopted from Django snippet #1694
- <http://www.djangosnippets.org/snippets/1694/> by Taavi Taijala, which is in
- turn based on Django snippet #513 <http://www.djangosnippets.org/snippets/513/>
- by Oliver Beattie.
+ The implementation is taken and adopted from `Django snippet #1694`_ by Taavi
+ Taijala, which is in turn based on `Django snippet #513`_ by Oliver Beattie.
django-picklefield is available under the MIT license.
+ .. _Django snippet #1694: http://www.djangosnippets.org/snippets/1694/
+ .. _Django snippet #513: http://www.djangosnippets.org/snippets/513/
-----
Usage
@@ -52,6 +58,23 @@
format is not convenient for parsing in the browser. By overriding
``value_to_string()`` you can choose a more convenient serialization format.
+ Fields now accept the boolean key word argument `copy`, which defaults to
+ `True`. The `copy` is necessary for lookups to work correctly. If you don't
+ care about performing lookups on the picklefield, you can set `copy=False` to
+ save on some memory usage. This an be especially beneficial for very large
+ object trees.
+
+ -------------
+ Running tests
+ -------------
+
+ The full test suite can be run with `Tox`_::
+
+ >>> pip install tox
+ >>> tox
+
+ .. _Tox: https://testrun.org/tox/latest/
+
--------------
Original notes
--------------
@@ -122,77 +145,93 @@
Changes
-------
+ Changes in version 1.0.0
+ ========================
+
+ * Added a new option to prevent a copy of the object before pickling: `copy=True`
+ * Dropped support for Django 1.4
+ * Dropped support for Django 1.7
+ * Dropped support for Python 3.2
+ * Added support for Python 3.6
+
+ Changes in version 0.3.2
+ ========================
+
+ * Dropped support for Django 1.3.
+ * Dropped support for Python 2.5.
+ * Silenced deprecation warnings on Django 1.8+.
+
Changes in version 0.3.1
========================
- * Favor the built in json module (thanks to Simon Charette).
+ * Favor the built in json module (thanks to Simon Charette).
Changes in version 0.3.0
========================
- * Python 3 support (thanks to Rafal Stozek).
+ * Python 3 support (thanks to Rafal Stozek).
Changes in version 0.2.0
========================
- * Allow pickling of subclasses of django.db.models.Model (thanks to Simon
- Charette).
+ * Allow pickling of subclasses of django.db.models.Model (thanks to Simon
+ Charette).
Changes in version 0.1.9
========================
- * Added `connection` and `prepared` parameters to `get_db_prep_value()` too
- (thanks to Matthew Schinckel).
+ * Added `connection` and `prepared` parameters to `get_db_prep_value()` too
+ (thanks to Matthew Schinckel).
Changes in version 0.1.8
========================
- * Updated link to code repository.
+ * Updated link to code repository.
Changes in version 0.1.7
========================
- * Added `connection` and `prepared` parameters to `get_db_prep_lookup()` to
- get rid of deprecation warnings in Django 1.2.
+ * Added `connection` and `prepared` parameters to `get_db_prep_lookup()` to
+ get rid of deprecation warnings in Django 1.2.
Changes in version 0.1.6
========================
- * Fixed South support (thanks aehlke@github).
+ * Fixed South support (thanks aehlke@github).
Changes in version 0.1.5
========================
- * Added support for South.
- * Changed default to null=False, as is common throughout Django.
+ * Added support for South.
+ * Changed default to null=False, as is common throughout Django.
Changes in version 0.1.4
========================
- * Updated copyright statements.
+ * Updated copyright statements.
Changes in version 0.1.3
========================
- * Updated serialization tests (thanks to Michael Fladischer).
+ * Updated serialization tests (thanks to Michael Fladischer).
Changes in version 0.1.2
========================
- * Added Simplified BSD licence.
+ * Added Simplified BSD licence.
Changes in version 0.1.1
========================
- * Added test for serialization.
- * Added note about JSON serialization for browser.
- * Added support for different pickle protocol versions (thanks to Michael
- Fladischer).
+ * Added test for serialization.
+ * Added note about JSON serialization for browser.
+ * Added support for different pickle protocol versions (thanks to Michael
+ Fladischer).
Changes in version 0.1
======================
- * First public release.
+ * First public release.
--------
@@ -210,8 +249,7 @@
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.5
-Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-picklefield-0.3.1/src/django_picklefield.egg-info/SOURCES.txt new/django-picklefield-1.0.0/src/django_picklefield.egg-info/SOURCES.txt
--- old/django-picklefield-0.3.1/src/django_picklefield.egg-info/SOURCES.txt 2013-11-15 22:25:57.000000000 +0100
+++ new/django-picklefield-1.0.0/src/django_picklefield.egg-info/SOURCES.txt 2017-06-30 01:46:31.000000000 +0200
@@ -1,9 +1,9 @@
-README
+README.rst
+setup.cfg
setup.py
src/django_picklefield.egg-info/PKG-INFO
src/django_picklefield.egg-info/SOURCES.txt
src/django_picklefield.egg-info/dependency_links.txt
-src/django_picklefield.egg-info/requires.txt
src/django_picklefield.egg-info/top_level.txt
src/picklefield/__init__.py
src/picklefield/compat.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-picklefield-0.3.1/src/django_picklefield.egg-info/requires.txt new/django-picklefield-1.0.0/src/django_picklefield.egg-info/requires.txt
--- old/django-picklefield-0.3.1/src/django_picklefield.egg-info/requires.txt 2013-11-15 22:25:57.000000000 +0100
+++ new/django-picklefield-1.0.0/src/django_picklefield.egg-info/requires.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-six
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-picklefield-0.3.1/src/picklefield/__init__.py new/django-picklefield-1.0.0/src/picklefield/__init__.py
--- old/django-picklefield-0.3.1/src/picklefield/__init__.py 2012-12-09 10:07:53.000000000 +0100
+++ new/django-picklefield-1.0.0/src/picklefield/__init__.py 2017-06-30 01:27:04.000000000 +0200
@@ -2,4 +2,4 @@
DEFAULT_PROTOCOL = 2
-from picklefield.fields import PickledObjectField # reexport
+from picklefield.fields import PickledObjectField # noqa
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-picklefield-0.3.1/src/picklefield/compat.py new/django-picklefield-1.0.0/src/picklefield/compat.py
--- old/django-picklefield-0.3.1/src/picklefield/compat.py 2013-11-15 22:15:16.000000000 +0100
+++ new/django-picklefield-1.0.0/src/picklefield/compat.py 2017-06-30 01:45:38.000000000 +0200
@@ -1,18 +1,6 @@
-# django 1.5 introduces force_text instead of force_unicode
-try:
- from django.utils.encoding import force_text
-except ImportError:
- from django.utils.encoding import force_unicode as force_text
-
# python 3.x does not have cPickle module
try:
- from cPickle import loads, dumps # cpython 2.x
-except ImportError:
- from pickle import loads, dumps # cpython 3.x, other interpreters
-
-# django 1.6 will deprecate django.utils.simple_json
-try:
- import json
+ # cpython 2.x
+ from cPickle import loads, dumps # noqa
except ImportError:
- from django.utils import simplejson as json
-
+ from pickle import loads, dumps # noqa
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-picklefield-0.3.1/src/picklefield/fields.py new/django-picklefield-1.0.0/src/picklefield/fields.py
--- old/django-picklefield-0.3.1/src/picklefield/fields.py 2012-12-09 10:12:06.000000000 +0100
+++ new/django-picklefield-1.0.0/src/picklefield/fields.py 2017-06-30 01:45:38.000000000 +0200
@@ -1,13 +1,13 @@
"""Pickle field implementation for Django."""
+from base64 import b64decode, b64encode
from copy import deepcopy
-from base64 import b64encode, b64decode
from zlib import compress, decompress
-import six
-import django
+
from django.db import models
+from django.utils.encoding import force_text
-from picklefield import DEFAULT_PROTOCOL
-from picklefield.compat import force_text, loads, dumps
+from . import DEFAULT_PROTOCOL
+from .compat import dumps, loads
class PickledObject(str):
@@ -26,10 +26,10 @@
class _ObjectWrapper(object):
"""
- A class used to wrap object that have properties that may clash with the
+ A class used to wrap object that have properties that may clash with the
ORM internals.
-
- For example, objects with the `prepare_database_save` property such as
+
+ For example, objects with the `prepare_database_save` property such as
`django.db.Model` subclasses won't work under certain conditions and the
same apply for trying to retrieve any `callable` object.
"""
@@ -45,38 +45,33 @@
return obj
-def dbsafe_encode(value, compress_object=False, pickle_protocol=DEFAULT_PROTOCOL):
+def dbsafe_encode(value, compress_object=False, pickle_protocol=DEFAULT_PROTOCOL, copy=True):
# We use deepcopy() here to avoid a problem with cPickle, where dumps
# can generate different character streams for same lookup value if
# they are referenced differently.
# The reason this is important is because we do all of our lookups as
# simple string matches, thus the character streams must be the same
# for the lookups to work properly. See tests.py for more information.
- value = dumps(deepcopy(value), protocol=pickle_protocol)
+ if copy:
+ # Copy can be very expensive if users aren't going to perform lookups
+ # on the value anyway.
+ value = deepcopy(value)
+ value = dumps(value, protocol=pickle_protocol)
if compress_object:
value = compress(value)
- value = b64encode(value).decode() # decode bytes to str
+ value = b64encode(value).decode() # decode bytes to str
return PickledObject(value)
def dbsafe_decode(value, compress_object=False):
- value = value.encode() # encode str to bytes
+ value = value.encode() # encode str to bytes
value = b64decode(value)
if compress_object:
value = decompress(value)
return loads(value)
-def _get_subfield_superclass():
- # hardcore trick to support django < 1.3 - there was something wrong with
- # inheritance and SubfieldBase before django 1.3
- # see https://github.com/django/django/commit/222c73261650201f5ce99e8dd4b1ce0d30a…
- if django.VERSION < (1,3):
- return models.Field
- return six.with_metaclass(models.SubfieldBase, models.Field)
-
-
-class PickledObjectField(_get_subfield_superclass()):
+class PickledObjectField(models.Field):
"""
A field that will accept *any* python object and store it in the
database. PickledObjectField will optionally compress its values if
@@ -86,11 +81,11 @@
can still do lookups using None). This way, it is still possible to
use the ``isnull`` lookup type correctly.
"""
- __metaclass__ = models.SubfieldBase # for django < 1.3
def __init__(self, *args, **kwargs):
self.compress = kwargs.pop('compress', False)
self.protocol = kwargs.pop('protocol', DEFAULT_PROTOCOL)
+ self.copy = kwargs.pop('copy', True)
kwargs.setdefault('editable', False)
super(PickledObjectField, self).__init__(*args, **kwargs)
@@ -140,6 +135,9 @@
value = super(PickledObjectField, self).pre_save(model_instance, add)
return wrap_conflictual_object(value)
+ def from_db_value(self, value, expression, connection, context):
+ return self.to_python(value)
+
def get_db_prep_value(self, value, connection=None, prepared=False):
"""
Pickle and b64encode the object, optionally compressing it.
@@ -158,35 +156,20 @@
# marshaller (telling it to store it like it would a string), but
# since both of these methods result in the same value being stored,
# doing things this way is much easier.
- value = force_text(dbsafe_encode(value, self.compress, self.protocol))
+ value = force_text(dbsafe_encode(value, self.compress, self.protocol, self.copy))
return value
def value_to_string(self, obj):
- value = self._get_val_from_obj(obj)
+ value = self.value_from_object(obj)
return self.get_db_prep_value(value)
def get_internal_type(self):
return 'TextField'
- def get_db_prep_lookup(self, lookup_type, value, connection=None, prepared=False):
- if lookup_type not in ['exact', 'in', 'isnull']:
- raise TypeError('Lookup type %s is not supported.' % lookup_type)
- # The Field model already calls get_db_prep_value before doing the
- # actual lookup, so all we need to do is limit the lookup types.
- try:
- return super(PickledObjectField, self).get_db_prep_lookup(
- lookup_type, value, connection=connection, prepared=prepared)
- except TypeError:
- # Try not to break on older versions of Django, where the
- # `connection` and `prepared` parameters are not available.
- return super(PickledObjectField, self).get_db_prep_lookup(
- lookup_type, value)
-
-
-# South support; see http://south.aeracode.org/docs/tutorial/part4.html#simple-inheritance
-try:
- from south.modelsinspector import add_introspection_rules
-except ImportError:
- pass
-else:
- add_introspection_rules([], [r"^picklefield\.fields\.PickledObjectField"])
+ def get_lookup(self, lookup_name):
+ """
+ We need to limit the lookup types.
+ """
+ if lookup_name not in ['exact', 'in', 'isnull']:
+ raise TypeError('Lookup type %s is not supported.' % lookup_name)
+ return super(PickledObjectField, self).get_lookup(lookup_name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-picklefield-0.3.1/src/picklefield/tests.py new/django-picklefield-1.0.0/src/picklefield/tests.py
--- old/django-picklefield-0.3.1/src/picklefield/tests.py 2012-12-09 10:12:06.000000000 +0100
+++ new/django-picklefield-1.0.0/src/picklefield/tests.py 2017-06-30 01:27:04.000000000 +0200
@@ -1,12 +1,14 @@
"""Unit tests for django-picklefield."""
+import json
+from datetime import date
+from unittest import skipIf
-from django.test import TestCase
-from django.db import models
+import django
from django.core import serializers
-from picklefield.compat import json
-from picklefield.fields import (PickledObjectField, wrap_conflictual_object,
- dbsafe_encode)
+from django.db import models
+from django.test import TestCase
+from .fields import PickledObjectField, dbsafe_encode, wrap_conflictual_object
S1 = 'Hello World'
T1 = (1, 2, 3, 4, 5)
@@ -15,10 +17,17 @@
D2 = {1: 2, 2: 4, 3: 6, 4: 8, 5: 10}
+class TestCopyDataType(str):
+ def __deepcopy__(self, memo):
+ raise ValueError('Please dont copy me')
+
+
class TestingModel(models.Model):
pickle_field = PickledObjectField()
compressed_pickle_field = PickledObjectField(compress=True)
default_pickle_field = PickledObjectField(default=(D1, S1, T1, L1))
+ callable_pickle_field = PickledObjectField(default=date.today)
+ non_copying_field = PickledObjectField(copy=False, default=TestCopyDataType('boom!'))
class MinimalTestingModel(models.Model):
@@ -42,14 +51,13 @@
the database, whether compression is enabled or not.
"""
for value in self.testing_data:
- model_test = TestingModel(pickle_field=value,
- compressed_pickle_field=value)
+ model_test = TestingModel(pickle_field=value, compressed_pickle_field=value)
model_test.save()
model_test = TestingModel.objects.get(id__exact=model_test.id)
# Make sure that both the compressed and uncompressed fields return
# the same data, even thought it's stored differently in the DB.
- self.assertEquals(value, model_test.pickle_field)
- self.assertEquals(value, model_test.compressed_pickle_field)
+ self.assertEqual(value, model_test.pickle_field)
+ self.assertEqual(value, model_test.compressed_pickle_field)
# Make sure we can also retrieve the model
model_test.save()
model_test.delete()
@@ -59,8 +67,8 @@
model_test = TestingModel()
model_test.save()
model_test = TestingModel.objects.get(id__exact=model_test.id)
- self.assertEquals((D1, S1, T1, L1),
- model_test.default_pickle_field)
+ self.assertEqual((D1, S1, T1, L1), model_test.default_pickle_field)
+ self.assertEqual(date.today(), model_test.callable_pickle_field)
def testLookups(self):
"""
@@ -116,7 +124,7 @@
>>> dumps(copy(t))
"((dp1\nI1\nI1\nsI2\nI4\nsI3\nI6\nsI4\nI8\nsI5\nI10\nsS'Hello World'\n(I1\nI2\nI3\nI4\nI5\nt(lp2\nI1\naI2\naI3\naI4\naI5\natp3\n."
- """
+ """ # noqa
for value in self.testing_data:
model_test = TestingModel(pickle_field=value, compressed_pickle_field=value)
model_test.save()
@@ -125,16 +133,16 @@
wrapped_value = wrap_conflictual_object(value)
model_test = TestingModel.objects.get(pickle_field__exact=wrapped_value,
compressed_pickle_field__exact=wrapped_value)
- self.assertEquals(value, model_test.pickle_field)
- self.assertEquals(value, model_test.compressed_pickle_field)
+ self.assertEqual(value, model_test.pickle_field)
+ self.assertEqual(value, model_test.compressed_pickle_field)
# Make sure that ``in`` lookups also work correctly.
model_test = TestingModel.objects.get(pickle_field__in=[wrapped_value],
compressed_pickle_field__in=[wrapped_value])
- self.assertEquals(value, model_test.pickle_field)
- self.assertEquals(value, model_test.compressed_pickle_field)
+ self.assertEqual(value, model_test.pickle_field)
+ self.assertEqual(value, model_test.compressed_pickle_field)
# Make sure that ``is_null`` lookups are working.
- self.assertEquals(1, TestingModel.objects.filter(pickle_field__isnull=False).count())
- self.assertEquals(0, TestingModel.objects.filter(pickle_field__isnull=True).count())
+ self.assertEqual(1, TestingModel.objects.filter(pickle_field__isnull=False).count())
+ self.assertEqual(0, TestingModel.objects.filter(pickle_field__isnull=True).count())
model_test.delete()
# Make sure that lookups of the same value work, even when referenced
@@ -144,17 +152,25 @@
model_test.save()
# Test lookup using an assigned variable.
model_test = TestingModel.objects.get(pickle_field__exact=value)
- self.assertEquals(value, model_test.pickle_field)
+ self.assertEqual(value, model_test.pickle_field)
# Test lookup using direct input of a matching value.
model_test = TestingModel.objects.get(
- pickle_field__exact = (D1, S1, T1, L1),
- compressed_pickle_field__exact = (D1, S1, T1, L1),
+ pickle_field__exact=(D1, S1, T1, L1),
+ compressed_pickle_field__exact=(D1, S1, T1, L1),
)
- self.assertEquals(value, model_test.pickle_field)
+ self.assertEqual(value, model_test.pickle_field)
model_test.delete()
+ @skipIf(django.VERSION[:2] < (1, 5), 'Skip for older Django versions')
+ def testLimitLookupsType(self):
+ """
+ Test that picklefield supports lookup type limit
+ """
+ with self.assertRaisesMessage(TypeError, 'Lookup type gte is not supported'):
+ TestingModel.objects.filter(pickle_field__gte=1)
+
def testSerialization(self):
- model = MinimalTestingModel(pickle_field={'foo': 'bar'})
+ model = MinimalTestingModel(pk=1, pickle_field={'foo': 'bar'})
serialized = serializers.serialize('json', [model])
data = json.loads(serialized)
@@ -162,10 +178,25 @@
# is different (but compatible with python 2)
p = dbsafe_encode({'foo': 'bar'})
- self.assertEquals(data,
- [{'pk': None, 'model': 'picklefield.minimaltestingmodel',
- 'fields': {"pickle_field": p}}])
+ self.assertEqual(data, [{
+ 'pk': 1,
+ 'model': 'picklefield.minimaltestingmodel',
+ 'fields': {"pickle_field": p}},
+ ])
for deserialized_test in serializers.deserialize('json', serialized):
- self.assertEquals(deserialized_test.object,
- model)
+ self.assertEqual(deserialized_test.object, model)
+
+ def testNoCopy(self):
+ TestingModel.objects.create(
+ pickle_field='Copy Me',
+ compressed_pickle_field='Copy Me',
+ non_copying_field=TestCopyDataType('Dont Copy Me')
+ )
+
+ with self.assertRaises(ValueError):
+ TestingModel.objects.create(
+ pickle_field=TestCopyDataType('BOOM!'),
+ compressed_pickle_field='Copy Me',
+ non_copying_field='Dont copy me'
+ )
1
0