Hello community, here is the log from the commit of package djvusmooth for openSUSE:Factory checked in at 2019-04-09 20:18:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/djvusmooth (Old) and /work/SRC/openSUSE:Factory/.djvusmooth.new.3908 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "djvusmooth" Tue Apr 9 20:18:55 2019 rev:15 rq:692543 version:0.3 Changes: -------- --- /work/SRC/openSUSE:Factory/djvusmooth/djvusmooth.changes 2017-11-03 16:30:58.146848293 +0100 +++ /work/SRC/openSUSE:Factory/.djvusmooth.new.3908/djvusmooth.changes 2019-04-09 20:18:58.885866600 +0200 @@ -1,0 +2,10 @@ +Tue Apr 9 06:35:19 UTC 2019 - Kyrill Detinov <[email protected]> + +- Update to 0.3. + * Require the subprocess32 module. + * Don't let bad editor lock UI. + * Reorganize documentation. + * Improve error handling. + * Improve the setup script. + +------------------------------------------------------------------- Old: ---- djvusmooth-0.2.19.tar.gz djvusmooth-0.2.19.tar.gz.asc New: ---- djvusmooth-0.3.tar.gz djvusmooth-0.3.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ djvusmooth.spec ++++++ --- /var/tmp/diff_new_pack.jytYAL/_old 2019-04-09 20:18:59.677867679 +0200 +++ /var/tmp/diff_new_pack.jytYAL/_new 2019-04-09 20:18:59.685867690 +0200 @@ -1,7 +1,7 @@ # # spec file for package djvusmooth # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 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 @@ -12,15 +12,15 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: djvusmooth -Version: 0.2.19 +Version: 0.3 Release: 0 Summary: Graphical Text Editor for DjVu -License: GPL-2.0 +License: GPL-2.0-only Group: Productivity/Publishing/Other Url: http://jwilk.net/software/djvusmooth Source0: https://github.com/jwilk/djvusmooth/releases/download/%{version}/%{name}-%{version}.tar.gz @@ -29,9 +29,10 @@ Source3: %{name}.keyring BuildRequires: python-setuptools Requires: djvulibre -Requires: python-djvulibre -Requires: python-wxWidgets -Requires: python-xdg +Requires: python-wxWidgets-3_0 +Requires: python2-djvulibre +Requires: python2-pyxdg +Requires: python2-subprocess32 Requires(post): desktop-file-utils Requires(post): hicolor-icon-theme Requires(postun): desktop-file-utils @@ -80,6 +81,7 @@ %find_lang %{name} +%if 0%{?suse_version} && 0%{?suse_version} < 1330 %post %desktop_database_post %icon_theme_cache_post @@ -87,10 +89,12 @@ %postun %desktop_database_postun %icon_theme_cache_postun +%endif %files %defattr(-,root,root,-) -%doc doc/{changelog,COPYING,credits.txt} +%license doc/COPYING +%doc doc/{changelog,credits,README} %{_bindir}/%{name} %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/*/*/%{name}.png ++++++ djvusmooth-0.2.19.tar.gz -> djvusmooth-0.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/MANIFEST.in new/djvusmooth-0.3/MANIFEST.in --- old/djvusmooth-0.2.19/MANIFEST.in 2016-12-23 21:07:35.000000000 +0100 +++ new/djvusmooth-0.3/MANIFEST.in 2018-04-21 13:46:56.000000000 +0200 @@ -1,12 +1,14 @@ include COPYING +exclude README.rst include MANIFEST.in include djvusmooth edit-text include djvusmooth.py include doc/*.1 -include doc/*.txt include doc/*.xml include doc/COPYING +include doc/README include doc/changelog +include doc/credits include extra/* include po/*.po include private/* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/PKG-INFO new/djvusmooth-0.3/PKG-INFO --- old/djvusmooth-0.2.19/PKG-INFO 2017-09-16 17:06:16.000000000 +0200 +++ new/djvusmooth-0.3/PKG-INFO 2019-02-15 15:13:01.000000000 +0100 @@ -1,12 +1,12 @@ Metadata-Version: 1.1 Name: djvusmooth -Version: 0.2.19 +Version: 0.3 Summary: graphical editor for DjVu Home-page: http://jwilk.net/software/djvusmooth Author: Jakub Wilk Author-email: [email protected] License: GNU GPL 2 -Description: *djvusmooth* is a graphical editor for `DjVu <http://djvu.org>`_ documents. +Description: *djvusmooth* is a graphical editor for DjVu documents. Platform: UNKNOWN Classifier: Development Status :: 4 - Beta Classifier: Environment :: X11 Applications :: GTK diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/doc/README new/djvusmooth-0.3/doc/README --- old/djvusmooth-0.2.19/doc/README 1970-01-01 01:00:00.000000000 +0100 +++ new/djvusmooth-0.3/doc/README 2019-02-15 00:49:25.000000000 +0100 @@ -0,0 +1,32 @@ +Overview +======== + +**djvusmooth** is a graphical editor for DjVu_ documents. + +It allows you to: + +* edit document metadata, +* edit document outline (bookmarks), +* add, remove or edit hyperlinks, +* correct occasional errors in the hidden text layer. + +.. _DjVu: + http://djvu.org + +Prerequisites +============= + +* Python (2.7 or 2.6) +* DjVuLibre_ (including command-line tools) +* python-djvulibre_ +* subprocess32_ +* wxPython (3.0 or 2.8) in Unicode mode + +.. _DjVuLibre: + http://djvu.sourceforge.net/ +.. _python-djvulibre: + https://pypi.org/project/python-djvulibre/ +.. _subprocess32: + https://pypi.org/project/subprocess32/ + +.. vim:ft=rst ts=3 sts=3 sw=3 et diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/doc/changelog new/djvusmooth-0.3/doc/changelog --- old/djvusmooth-0.2.19/doc/changelog 2017-09-16 17:05:53.000000000 +0200 +++ new/djvusmooth-0.3/doc/changelog 2019-02-15 15:12:36.000000000 +0100 @@ -1,3 +1,16 @@ +djvusmooth (0.3) unstable; urgency=low + + * Require the subprocess32 module. + https://github.com/jwilk/djvusmooth/issues/23 + * Don't let bad editor lock UI. + https://github.com/jwilk/djvusmooth/issues/20 + Thanks to Alexander Trufanov for the bug report. + * Reorganize documentation. + * Improve error handling. + * Improve the setup script. + + -- Jakub Wilk <[email protected]> Fri, 15 Feb 2019 15:12:35 +0100 + djvusmooth (0.2.19) unstable; urgency=low * Create temporary files in a subdirectory of /tmp. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/doc/credits new/djvusmooth-0.3/doc/credits --- old/djvusmooth-0.2.19/doc/credits 1970-01-01 01:00:00.000000000 +0100 +++ new/djvusmooth-0.3/doc/credits 2018-06-02 17:55:15.000000000 +0200 @@ -0,0 +1,3 @@ +djvusmooth development was supported by the Polish Ministry of Science +and Higher Education's grant no. N N519 384036 (2009–2012, +https://bitbucket.org/jsbien/ndt). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/doc/credits.txt new/djvusmooth-0.3/doc/credits.txt --- old/djvusmooth-0.2.19/doc/credits.txt 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.3/doc/credits.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Since May 2009 djvusmooth development has been supported by the Polish Ministry -of Science and Higher Education's grant no. N N519 384036 (2009 - 2012, -https://bitbucket.org/jsbien/ndt). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/doc/djvusmooth.1 new/djvusmooth-0.3/doc/djvusmooth.1 --- old/djvusmooth-0.2.19/doc/djvusmooth.1 2017-09-16 17:06:16.000000000 +0200 +++ new/djvusmooth-0.3/doc/djvusmooth.1 2019-02-15 15:13:01.000000000 +0100 @@ -3,12 +3,12 @@ .\" Title: djvusmooth .\" Author: Jakub Wilk <[email protected]> .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/> -.\" Date: 09/16/2017 +.\" Date: 02/15/2019 .\" Manual: djvusmooth manual -.\" Source: djvusmooth 0.2.19 +.\" Source: djvusmooth 0.3 .\" Language: English .\" -.TH "DJVUSMOOTH" "1" 2017\-09\-16 "djvusmooth 0\&.2\&.19" "djvusmooth manual" +.TH "DJVUSMOOTH" "1" 2019-02-15 "djvusmooth 0\&.3" "djvusmooth manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/doc/djvusmooth.xml new/djvusmooth-0.3/doc/djvusmooth.xml --- old/djvusmooth-0.2.19/doc/djvusmooth.xml 2016-12-23 21:10:19.000000000 +0100 +++ new/djvusmooth-0.3/doc/djvusmooth.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,113 +0,0 @@ -<?xml version='1.0' encoding='utf-8'?> -<!DOCTYPE refentry PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN' 'http://www.docbook.org/xml/4.5/docbookx.dtd' -[ - <!ENTITY p 'djvusmooth'> - <!ENTITY version '0.2.19'> -]> - -<refentry> - -<refentryinfo> - <title>&p; manual</title> - <productname>&p;</productname> - <author> - <firstname>Jakub</firstname> <surname>Wilk</surname> - <email>[email protected]</email> - </author> -</refentryinfo> - -<refmeta> - <refentrytitle>&p;</refentrytitle> - <manvolnum>1</manvolnum> - <refmiscinfo class='version'>&version;</refmiscinfo> -</refmeta> - -<refnamediv> - <refname>&p;</refname> - <refpurpose>graphical editor for DjVu</refpurpose> -</refnamediv> - -<refsynopsisdiv> - <cmdsynopsis> - <command>&p;</command> - <arg choice='opt'><replaceable>djvu-file</replaceable></arg> - </cmdsynopsis> -</refsynopsisdiv> - -<refsection> - <title>Description</title> - <para> - &p; is a graphical editor for DjVu files, which allows one to: - <itemizedlist> - <listitem><para>edit document metadata,</para></listitem> - <listitem><para>edit document outline (bookmarks),</para></listitem> - <listitem><para>add, remove or edit hyperlinks,</para></listitem> - <listitem><para>correct occasional errors in the hidden text layer.</para></listitem> - </itemizedlist> - </para> -</refsection> - -<refsection> - <title>Environment</title> - <variablelist> - <varlistentry> - <term><filename><varname>XDG_CONFIG_HOME</varname></filename></term> - <listitem> - <para> - Base directory for configuration files. The default is <filename>$HOME/.config</filename>. - </para> - <para> - See <ulink - url='https://specifications.freedesktop.org/basedir-spec/latest/'>XDG Base Directory - Specification</ulink> for details. - </para> - </listitem> - </varlistentry> - </variablelist> -</refsection> - -<refsection> - <title>Files</title> - <variablelist> - <varlistentry> - <term><filename><varname>$XDG_CONFIG_HOME</varname>/djvusmooth/djvusmooth.conf</filename></term> - <listitem> - <para>&p; configuration file</para> - </listitem> - </varlistentry> - </variablelist> -</refsection> - -<refsection> - <title>Bugs</title> - <refsection> - <title>Portability issues</title> - <para> - &p; allows one to create hyperlinks with shadow borders as thin as 1 pixel, as specified by the - <ulink url='http://djvu.org/docs/DjVu3Spec.djvu'>Lizardtech DjVu Reference</ulink>. - However, some DjVu browsers do not accept shadow borders thinner than 3 pixels. - </para> - </refsection> - - <refsection> - <title>Reporting bugs</title> - <para> - Please report bugs at: - <ulink url='https://github.com/jwilk/djvusmooth/issues'/> - </para> - </refsection> -</refsection> - -<refsection> - <title>See also</title> - <para> - <citerefentry> - <refentrytitle>djvu</refentrytitle> - <manvolnum>1</manvolnum> - </citerefentry> - </para> -</refsection> - -</refentry> - -<!-- vim:set ts=4 sts=4 sw=4 tw=120 et: --> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/doc/manpage.xml new/djvusmooth-0.3/doc/manpage.xml --- old/djvusmooth-0.2.19/doc/manpage.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/djvusmooth-0.3/doc/manpage.xml 2019-02-13 20:35:09.000000000 +0100 @@ -0,0 +1,113 @@ +<?xml version='1.0' encoding='utf-8'?> +<!DOCTYPE refentry PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN' 'http://www.docbook.org/xml/4.5/docbookx.dtd' +[ + <!ENTITY p 'djvusmooth'> + <!ENTITY version '0.3'> +]> + +<refentry> + +<refentryinfo> + <title>&p; manual</title> + <productname>&p;</productname> + <author> + <firstname>Jakub</firstname> <surname>Wilk</surname> + <email>[email protected]</email> + </author> +</refentryinfo> + +<refmeta> + <refentrytitle>&p;</refentrytitle> + <manvolnum>1</manvolnum> + <refmiscinfo class='version'>&version;</refmiscinfo> +</refmeta> + +<refnamediv> + <refname>&p;</refname> + <refpurpose>graphical editor for DjVu</refpurpose> +</refnamediv> + +<refsynopsisdiv> + <cmdsynopsis> + <command>&p;</command> + <arg choice='opt'><replaceable>djvu-file</replaceable></arg> + </cmdsynopsis> +</refsynopsisdiv> + +<refsection> + <title>Description</title> + <para> + &p; is a graphical editor for DjVu files, which allows one to: + <itemizedlist> + <listitem><para>edit document metadata,</para></listitem> + <listitem><para>edit document outline (bookmarks),</para></listitem> + <listitem><para>add, remove or edit hyperlinks,</para></listitem> + <listitem><para>correct occasional errors in the hidden text layer.</para></listitem> + </itemizedlist> + </para> +</refsection> + +<refsection> + <title>Environment</title> + <variablelist> + <varlistentry> + <term><filename><varname>XDG_CONFIG_HOME</varname></filename></term> + <listitem> + <para> + Base directory for configuration files. The default is <filename>$HOME/.config</filename>. + </para> + <para> + See <ulink + url='https://specifications.freedesktop.org/basedir-spec/latest/'>XDG Base Directory + Specification</ulink> for details. + </para> + </listitem> + </varlistentry> + </variablelist> +</refsection> + +<refsection> + <title>Files</title> + <variablelist> + <varlistentry> + <term><filename><varname>$XDG_CONFIG_HOME</varname>/djvusmooth/djvusmooth.conf</filename></term> + <listitem> + <para>&p; configuration file</para> + </listitem> + </varlistentry> + </variablelist> +</refsection> + +<refsection> + <title>Bugs</title> + <refsection> + <title>Portability issues</title> + <para> + &p; allows one to create hyperlinks with shadow borders as thin as 1 pixel, as specified by the + <ulink url='http://djvu.org/docs/DjVu3Spec.djvu'>Lizardtech DjVu Reference</ulink>. + However, some DjVu browsers do not accept shadow borders thinner than 3 pixels. + </para> + </refsection> + + <refsection> + <title>Reporting bugs</title> + <para> + Please report bugs at: + <ulink url='https://github.com/jwilk/djvusmooth/issues'/> + </para> + </refsection> +</refsection> + +<refsection> + <title>See also</title> + <para> + <citerefentry> + <refentrytitle>djvu</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> + </para> +</refsection> + +</refentry> + +<!-- vim:set ts=4 sts=4 sw=4 tw=120 et: --> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/lib/__init__.py new/djvusmooth-0.3/lib/__init__.py --- old/djvusmooth-0.2.19/lib/__init__.py 2017-01-15 17:39:27.000000000 +0100 +++ new/djvusmooth-0.3/lib/__init__.py 2019-02-13 20:35:09.000000000 +0100 @@ -5,7 +5,7 @@ if sys.version_info >= (3, 0): raise RuntimeError('Python 2.X is required') -__version__ = '0.2.19' +__version__ = '0.3' __author__ = 'Jakub Wilk <[email protected]>' # vim:ts=4 sts=4 sw=4 et diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/lib/dependencies.py new/djvusmooth-0.3/lib/dependencies.py --- old/djvusmooth-0.2.19/lib/dependencies.py 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.3/lib/dependencies.py 2019-02-13 20:31:32.000000000 +0100 @@ -1,6 +1,6 @@ # encoding=UTF-8 -# Copyright © 2008-2015 Jakub Wilk <[email protected]> +# Copyright © 2008-2019 Jakub Wilk <[email protected]> # # This file is part of djvusmooth. # @@ -19,15 +19,6 @@ djvulibre_path = None -def _check_signals(): - # Protect from scanadf and possibly other software that sets SIGCHLD to - # SIG_IGN. - # https://bugs.debian.org/596232 - import os - import signal - if os.name == 'posix': - signal.signal(signal.SIGCHLD, signal.SIG_DFL) - def _check_djvu(): # On Windows, special measures may be needed to find the DjVuLibre DLL. global djvulibre_path @@ -40,14 +31,14 @@ try: import djvu.decode except ImportError as exc: - raise ImportError('{exc}; perhaps python-djvulibre is not installed'.format(exc=exc)) + raise ImportError('{exc}; is python-djvulibre installed?'.format(exc=exc)) del djvu # quieten pyflakes def _check_wx(): try: import wxversion except ImportError as exc: - raise ImportError('{exc}; perhaps wxPython is not installed'.format(exc=exc)) + raise ImportError('{exc}; is wxPython installed?'.format(exc=exc)) for ver in ['2.8-unicode', '3.0']: try: wxversion.select(ver, optionsRequired=True) @@ -58,7 +49,6 @@ else: raise ImportError('wxPython 3.0 or 2.8 in Unicode mode is required') -_check_signals() _check_djvu() _check_wx() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/lib/djvused.py new/djvusmooth-0.3/lib/djvused.py --- old/djvusmooth-0.2.19/lib/djvused.py 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.3/lib/djvused.py 2019-02-13 20:31:35.000000000 +0100 @@ -1,6 +1,6 @@ # encoding=UTF-8 -# Copyright © 2008-2015 Jakub Wilk <[email protected]> +# Copyright © 2008-2019 Jakub Wilk <[email protected]> # # This file is part of djvusmooth. # @@ -14,11 +14,12 @@ # more details. import os.path -import subprocess import threading from djvu.sexpr import Expression, Symbol +from . import ipc + djvused_path = None if os.name == 'nt': from . import dependencies @@ -37,10 +38,10 @@ def _djvused_usability_check(): try: - djvused = subprocess.Popen( + djvused = ipc.Subprocess( [djvused_path], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE + stdout=ipc.PIPE, + stderr=ipc.PIPE ) djvused.communicate() if djvused.returncode == 10: @@ -150,10 +151,10 @@ if save: args += '-s', args += self._file_name, - djvused = subprocess.Popen(args, - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE + djvused = ipc.Subprocess(args, + stdin=ipc.PIPE, + stdout=ipc.PIPE, + stderr=ipc.PIPE ) result = [None] reader_thread = threading.Thread( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/lib/external_editor.py new/djvusmooth-0.3/lib/external_editor.py --- old/djvusmooth-0.2.19/lib/external_editor.py 2017-09-15 23:24:39.000000000 +0200 +++ new/djvusmooth-0.3/lib/external_editor.py 2019-02-13 20:31:37.000000000 +0100 @@ -1,6 +1,6 @@ # encoding=UTF-8 -# Copyright © 2008-2017 Jakub Wilk <[email protected]> +# Copyright © 2008-2019 Jakub Wilk <[email protected]> # # This file is part of djvusmooth. # @@ -15,9 +15,10 @@ import os.path import shutil -import subprocess import tempfile +from . import ipc + class temporary_file(object): def __init__(self, name): @@ -74,10 +75,10 @@ def __call__(self, path): path = os.path.abspath(path) - edit = subprocess.Popen( + edit = ipc.Subprocess( ['edit', 'text/plain:{path}'.format(path=path)], - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, + stdin=ipc.PIPE, + stdout=ipc.PIPE, ) edit.stdin.close() edit.stdout.close() @@ -91,10 +92,10 @@ def __call__(self, path): path = os.path.abspath(path) - edit = subprocess.Popen( + edit = ipc.Subprocess( self._command + [path], - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, + stdin=ipc.PIPE, + stdout=ipc.PIPE, ) edit.stdin.close() edit.stdout.close() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/lib/gui/main.py new/djvusmooth-0.3/lib/gui/main.py --- old/djvusmooth-0.2.19/lib/gui/main.py 2017-09-15 23:24:39.000000000 +0200 +++ new/djvusmooth-0.3/lib/gui/main.py 2019-02-15 00:49:18.000000000 +0100 @@ -1,6 +1,6 @@ # encoding=UTF-8 -# Copyright © 2008-2015 Jakub Wilk <[email protected]> +# Copyright © 2008-2019 Jakub Wilk <[email protected]> # Copyright © 2009 Mateusz Turcza <[email protected]> # # This file is part of djvusmooth. @@ -22,7 +22,7 @@ import threading from Queue import Queue, Empty as QueueEmpty -import djvusmooth.dependencies as __dependencies +import djvusmooth.dependencies import wx import wx.lib.ogl @@ -810,7 +810,8 @@ pass else: exception = None - wx.CallAfter(lambda: self.after_external_edit_outline(new_repr, disabler, exception)) + wx.CallAfter(self.after_external_edit_outline, new_repr, disabler, exception) + disabler = exception = None disabler = wx.WindowDisabler() thread = threading.Thread(target=job, args=(disabler,)) thread.start() @@ -849,7 +850,8 @@ pass else: exception = None - wx.CallAfter(lambda: self.after_external_edit_text(new_sexpr, disabler, exception)) + wx.CallAfter(self.after_external_edit_text, new_sexpr, disabler, exception) + disabler = exception = None disabler = wx.WindowDisabler() thread = threading.Thread(target=job, args=(disabler,)) thread.start() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/lib/ipc.py new/djvusmooth-0.3/lib/ipc.py --- old/djvusmooth-0.2.19/lib/ipc.py 1970-01-01 01:00:00.000000000 +0100 +++ new/djvusmooth-0.3/lib/ipc.py 2019-02-15 00:49:25.000000000 +0100 @@ -0,0 +1,37 @@ +# encoding=UTF-8 + +# Copyright © 2010-2019 Jakub Wilk <[email protected]> +# +# This file is part of djvusmooth. +# +# djvusmooth is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published +# by the Free Software Foundation. +# +# djvusmooth is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. + +'''interprocess communication''' + +import os +import signal + +if os.name == 'posix': + import subprocess32 as subprocess +else: + import subprocess + +Subprocess = subprocess.Popen +PIPE = subprocess.PIPE + +# Protect from scanadf and possibly other software that sets SIGCHLD to +# SIG_IGN. +# https://bugs.debian.org/596232 +if os.name == 'posix': + signal.signal(signal.SIGCHLD, signal.SIG_DFL) + +__all__ = ['Subprocess', 'PIPE'] + +# vim:ts=4 sts=4 sw=4 et diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/lib/pkgconfig.py new/djvusmooth-0.3/lib/pkgconfig.py --- old/djvusmooth-0.2.19/lib/pkgconfig.py 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.3/lib/pkgconfig.py 2019-02-13 20:31:46.000000000 +0100 @@ -1,6 +1,6 @@ # encoding=UTF-8 -# Copyright © 2008-2009 Jakub Wilk <[email protected]> +# Copyright © 2008-2019 Jakub Wilk <[email protected]> # # This file is part of djvusmooth. # @@ -13,7 +13,7 @@ # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # more details. -import subprocess +from . import ipc class IOError(IOError): pass @@ -24,10 +24,10 @@ self._name = name def variable(self, variable_name): - pkgconfig = subprocess.Popen( + pkgconfig = ipc.Subprocess( ['pkg-config', '--variable=' + str(variable_name), self._name], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE + stdout=ipc.PIPE, + stderr=ipc.PIPE ) stdout, stderr = pkgconfig.communicate() if pkgconfig.returncode: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/lib/varietes.py new/djvusmooth-0.3/lib/varietes.py --- old/djvusmooth-0.2.19/lib/varietes.py 2017-09-15 23:28:58.000000000 +0200 +++ new/djvusmooth-0.3/lib/varietes.py 2019-02-15 15:12:26.000000000 +0100 @@ -1,6 +1,6 @@ # encoding=UTF-8 -# Copyright © 2008-2015 Jakub Wilk <[email protected]> +# Copyright © 2008-2018 Jakub Wilk <[email protected]> # # This file is part of djvusmooth. # @@ -110,12 +110,12 @@ def fix_uri(s): r''' - >>> uri = 'http://eggs.spam/' + >>> uri = 'http://example.com/' >>> fix_uri(uri) == uri True - >>> uri = fix_uri('http://eggs.spam/eggs and spam/') + >>> uri = fix_uri('http://example.com/eggs and spam/') >>> uri - 'http://eggs.spam/eggs%20and%20spam/' + 'http://example.com/eggs%20and%20spam/' >>> fix_uri(uri) == uri True ''' Binary files old/djvusmooth-0.2.19/locale/es/LC_MESSAGES/djvusmooth.mo and new/djvusmooth-0.3/locale/es/LC_MESSAGES/djvusmooth.mo differ Binary files old/djvusmooth-0.2.19/locale/pl/LC_MESSAGES/djvusmooth.mo and new/djvusmooth-0.3/locale/pl/LC_MESSAGES/djvusmooth.mo differ Binary files old/djvusmooth-0.2.19/locale/ru/LC_MESSAGES/djvusmooth.mo and new/djvusmooth-0.3/locale/ru/LC_MESSAGES/djvusmooth.mo differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/po/es.po new/djvusmooth-0.3/po/es.po --- old/djvusmooth-0.2.19/po/es.po 2016-12-23 21:10:19.000000000 +0100 +++ new/djvusmooth-0.3/po/es.po 2019-02-13 20:35:09.000000000 +0100 @@ -3,7 +3,7 @@ # This file is distributed under the same license as the djvusmooth package. msgid "" msgstr "" -"Project-Id-Version: djvusmooth 0.2.19\n" +"Project-Id-Version: djvusmooth 0.3\n" "Report-Msgid-Bugs-To: Jakub Wilk <[email protected]>\n" "POT-Creation-Date: 2015-09-15 10:51+0200\n" "PO-Revision-Date: 2012-05-21 00:20-0500\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/po/pl.po new/djvusmooth-0.3/po/pl.po --- old/djvusmooth-0.2.19/po/pl.po 2016-12-23 21:10:19.000000000 +0100 +++ new/djvusmooth-0.3/po/pl.po 2019-02-13 20:35:09.000000000 +0100 @@ -3,7 +3,7 @@ # This file is distributed under the same license as the djvusmooth package. msgid "" msgstr "" -"Project-Id-Version: djvusmooth 0.2.19\n" +"Project-Id-Version: djvusmooth 0.3\n" "Report-Msgid-Bugs-To: Jakub Wilk <[email protected]>\n" "POT-Creation-Date: 2015-09-15 10:51+0200\n" "PO-Revision-Date: 2012-10-09 20:41+0200\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/po/ru.po new/djvusmooth-0.3/po/ru.po --- old/djvusmooth-0.2.19/po/ru.po 2016-12-23 21:10:19.000000000 +0100 +++ new/djvusmooth-0.3/po/ru.po 2019-02-13 20:35:09.000000000 +0100 @@ -6,7 +6,7 @@ # msgid "" msgstr "" -"Project-Id-Version: djvusmooth 0.2.19\n" +"Project-Id-Version: djvusmooth 0.3\n" "Report-Msgid-Bugs-To: Jakub Wilk <[email protected]>\n" "POT-Creation-Date: 2015-09-15 10:51+0200\n" "PO-Revision-Date: 2013-02-21 18:33+0300\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/private/check-rst new/djvusmooth-0.3/private/check-rst --- old/djvusmooth-0.2.19/private/check-rst 1970-01-01 01:00:00.000000000 +0100 +++ new/djvusmooth-0.3/private/check-rst 2018-06-15 22:24:11.000000000 +0200 @@ -0,0 +1,34 @@ +#!/bin/sh + +# Copyright © 2016-2018 Jakub Wilk <[email protected]> +# +# This file is part of djvusmooth. +# +# ocrodjvu is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# ocrodjvu is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. + +set -e -u +here=${0%/*} +here=${here#./} +root="$here/../" +root=${root#private/../} +rst2xml=$(command -v rst2xml) \ +|| rst2xml=$(command -v rst2xml.py) \ +|| { printf 'rst2xml not found\n' >&2; exit 1; } +rst2xml=${rst2xml##*/} +options='--input-encoding=UTF-8 --strict' +if [ $# -eq 0 ] +then + grep -rwl 'ft=rst' "${root}doc" +else + printf '%s\n' "$@" +fi | +xargs -L1 -t -I{} "$rst2xml" $options {} /dev/null + +# vim:ts=4 sts=4 sw=4 et diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/private/update-version new/djvusmooth-0.3/private/update-version --- old/djvusmooth-0.2.19/private/update-version 2017-06-17 17:53:18.000000000 +0200 +++ new/djvusmooth-0.3/private/update-version 2018-07-24 12:29:07.000000000 +0200 @@ -1,8 +1,8 @@ #!/bin/sh -version=${1:?"no version number provided"} +export version=${1:?"no version number provided"} set -e set -x dch -m -v "$version" -u low -c doc/changelog -sed -i -E -e "s/^(__version__) = '[0-9.]+'$/\1 = '$version'/" lib/__init__.py -sed -i -E -e "s/<(!ENTITY version) '[0-9.]+'>/<\1 '$version'>/" doc/*.xml -sed -i -E -e "s/^(\"Project-Id-Version: djvusmooth) ([0-9.]+)/\1 $version/" po/*.po po/*.pot +perl -pi -e 's/^__version__ = \047\K[0-9.]+/$ENV{version}/' lib/__init__.py +perl -pi -e 's/<!ENTITY version \047\K[0-9.]+/$ENV{version}/' doc/*.xml +perl -pi -e 's/^"Project-Id-Version: \S+ \K[0-9.]+/$ENV{version}/' po/*.po po/*.pot diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.19/setup.py new/djvusmooth-0.3/setup.py --- old/djvusmooth-0.2.19/setup.py 2017-04-19 20:24:06.000000000 +0200 +++ new/djvusmooth-0.3/setup.py 2018-12-11 18:43:30.000000000 +0100 @@ -1,6 +1,6 @@ # encoding=UTF-8 -# Copyright © 2008-2015 Jakub Wilk <[email protected]> +# Copyright © 2008-2018 Jakub Wilk <[email protected]> # # This file is part of djvusmooth. # @@ -14,13 +14,10 @@ # more details. ''' -*djvusmooth* is a graphical editor for `DjVu <http://djvu.org>`_ documents. +*djvusmooth* is a graphical editor for DjVu documents. ''' -from __future__ import with_statement -# Let's keep this __future__ import here, even though Python 2.5 is no longer -# supported, so that people running setup.py against the unsupported version -# get a nice error message instead of SyntaxError. +exec b'' # Python 2.6 or 2.7 is required import glob import os @@ -39,15 +36,18 @@ else: distutils644.install() -from lib import __version__ - data_files = [] if os.name == 'posix': data_files += [ - (os.path.join('share', 'applications'), ['extra/djvusmooth.desktop']) + ('share/applications', ['extra/djvusmooth.desktop']) ] +def get_version(): + with open('doc/changelog', 'r') as file: + line = file.readline() + return line.split()[1].strip('()') + class build_mo(distutils_build): description = 'build binary message catalogs' @@ -55,7 +55,7 @@ def run(self): if os.name != 'posix': return - for poname in glob.iglob(os.path.join('po', '*.po')): + for poname in glob.iglob('po/*.po'): lang, _ = os.path.splitext(os.path.basename(poname)) modir = os.path.join('locale', lang, 'LC_MESSAGES') if not os.path.isdir(modir): @@ -70,7 +70,7 @@ description = 'perform some checks on message catalogs' def run(self): - for poname in glob.iglob(os.path.join('po', '*.po')): + for poname in glob.iglob('po/*.po'): checkname = poname + '.sdist-check' with open(checkname, 'w'): pass @@ -111,7 +111,7 @@ ) # Use RFC 3339 date format: contents = self._date_regex.sub( - lambda m: r'{year}\-{month}\-{day}'.format(**m.groupdict()), + lambda m: '{year}-{month}-{day}'.format(**m.groupdict()), contents ) file.seek(0) @@ -121,19 +121,19 @@ def run(self): if os.name != 'posix': return - for xmlname in glob.iglob(os.path.join('doc', '*.xml')): - manname = os.path.splitext(xmlname)[0] + '.1' - command = [ - 'xsltproc', '--nonet', - '--param', 'man.authors.section.enabled', '0', - '--param', 'man.charmap.use.subset', '0', - '--param', 'man.font.links', '"I"', - '--output', 'doc/', - 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl', - xmlname, - ] - self.make_file([xmlname], manname, self.build_man, [manname, command]) - data_files.append(('share/man/man1', [manname])) + xmlname = 'doc/manpage.xml' + manname = 'doc/djvusmooth.1' + command = [ + 'xsltproc', '--nonet', + '--param', 'man.authors.section.enabled', '0', + '--param', 'man.charmap.use.subset', '0', + '--param', 'man.font.links', '"I"', + '--output', 'doc/', + 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl', + xmlname, + ] + self.make_file([xmlname], manname, self.build_man, [manname, command]) + data_files.append(('share/man/man1', [manname])) distutils_build.sub_commands[:0] = [ ('build_doc', None), @@ -146,7 +146,7 @@ distutils_clean.run(self) if not self.all: return - for manname in glob.iglob(os.path.join('doc', '*.1')): + for manname in glob.iglob('doc/*.1'): with open(manname, 'r') as file: stamp = file.readline() if stamp != sdist.manpage_stamp: @@ -178,7 +178,7 @@ def make_release_tree(self, base_dir, files): distutils_sdist.make_release_tree(self, base_dir, files) - for manname in glob.iglob(os.path.join(base_dir, 'doc', '*.1')): + for manname in glob.iglob(os.path.join(base_dir, 'doc/*.1')): self.execute(self._rewrite_manpage, [manname], 'rewriting {0}'.format(manname)) self._maybe_move_file(base_dir, 'COPYING', 'doc/COPYING') @@ -198,7 +198,7 @@ distutils.core.setup( name='djvusmooth', - version=__version__, + version=get_version(), license='GNU GPL 2', description='graphical editor for DjVu', long_description=__doc__.strip(),
