Hello community,
here is the log from the commit of package gaupol for openSUSE:Factory checked in at 2018-07-09 13:30:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gaupol (Old)
and /work/SRC/openSUSE:Factory/.gaupol.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gaupol"
Mon Jul 9 13:30:02 2018 rev:22 rq:621577 version:1.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/gaupol/gaupol.changes 2018-05-16 11:42:32.118242455 +0200
+++ /work/SRC/openSUSE:Factory/.gaupol.new/gaupol.changes 2018-07-09 13:31:34.246462831 +0200
@@ -1,0 +2,9 @@
+Sun Jul 8 07:38:12 UTC 2018 - antoine.belvire@opensuse.org
+
+- Update to version 1.4.1:
+ * Fix TypeErrors due to video player pipeline queries failing
+ (gh#otsaloma/gaupol#78).
+ * Make setup.py --record include compiled extensions as well
+ (gh#otsaloma/gaupol#91).
+
+-------------------------------------------------------------------
Old:
----
gaupol-1.4.tar.gz
New:
----
gaupol-1.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gaupol.spec ++++++
--- /var/tmp/diff_new_pack.5j59S0/_old 2018-07-09 13:31:34.734461848 +0200
+++ /var/tmp/diff_new_pack.5j59S0/_new 2018-07-09 13:31:34.738461840 +0200
@@ -18,7 +18,7 @@
%bcond_without test
Name: gaupol
-Version: 1.4
+Version: 1.4.1
Release: 0
Summary: GTK Subtitle editor
License: GPL-3.0-or-later
++++++ gaupol-1.4.tar.gz -> gaupol-1.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gaupol-1.4/.gitignore new/gaupol-1.4.1/.gitignore
--- old/gaupol-1.4/.gitignore 2018-05-01 15:14:51.000000000 +0200
+++ new/gaupol-1.4.1/.gitignore 2018-07-07 18:09:12.000000000 +0200
@@ -1,5 +1,6 @@
*~
.cache
+.pytest_cache
__pycache__
build
data/extensions/*/*.extension
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gaupol-1.4/NEWS.md new/gaupol-1.4.1/NEWS.md
--- old/gaupol-1.4/NEWS.md 2018-05-01 15:14:51.000000000 +0200
+++ new/gaupol-1.4.1/NEWS.md 2018-07-07 18:09:12.000000000 +0200
@@ -1,3 +1,9 @@
+2018-07-07: Gaupol 1.4.1
+========================
+
+* Fix TypeErrors due to video player pipeline queries failing (#78)
+* Make 'setup.py --record' include compiled extensios as well (#91)
+
2018-05-01: Gaupol 1.4
======================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gaupol-1.4/README.md new/gaupol-1.4.1/README.md
--- old/gaupol-1.4/README.md 2018-05-01 15:14:51.000000000 +0200
+++ new/gaupol-1.4.1/README.md 2018-07-07 18:09:12.000000000 +0200
@@ -67,7 +67,9 @@
### Windows
See the [releases page][releases] for installers. Note that Windows
-packaging will sometimes be a bit behind and might sometimes skip a
-version, so you might need to look further than the latest release.
+packaging is irregular, sometimes skipping a version, sometimes on hold
+completely, so you might need to look further than the latest release.
+Also note that the Windows version might lack some features, currently
+notably lacking the builtin video player.
[releases]: https://github.com/otsaloma/gaupol/releases
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gaupol-1.4/aeidon/__init__.py new/gaupol-1.4.1/aeidon/__init__.py
--- old/gaupol-1.4/aeidon/__init__.py 2018-05-01 15:14:51.000000000 +0200
+++ new/gaupol-1.4.1/aeidon/__init__.py 2018-07-07 18:09:12.000000000 +0200
@@ -74,7 +74,7 @@
import re
import sys
-__version__ = "1.4"
+__version__ = "1.4.1"
RUNNING_SPHINX = (sys.argv[0].endswith("autogen.py") or
sys.argv[0].endswith("sphinx-build"))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gaupol-1.4/data/extensions/custom-framerates/custom-framerates.extension.in new/gaupol-1.4.1/data/extensions/custom-framerates/custom-framerates.extension.in
--- old/gaupol-1.4/data/extensions/custom-framerates/custom-framerates.extension.in 2018-05-01 15:14:51.000000000 +0200
+++ new/gaupol-1.4.1/data/extensions/custom-framerates/custom-framerates.extension.in 2018-07-07 18:09:12.000000000 +0200
@@ -1,11 +1,11 @@
# -*- conf -*-
[Extension]
-GaupolVersion=1.4
+GaupolVersion=1.4.1
Module=custom-framerates
Name=Custom Framerates
Description=Allow use of non-standard framerates
-Version=1.4
+Version=1.4.1
Authors=Osmo Salomaa ;
Copyright=Copyright © 2011 Osmo Salomaa;
Website=https://otsaloma.io/gaupol/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gaupol-1.4/gaupol/__init__.py new/gaupol-1.4.1/gaupol/__init__.py
--- old/gaupol-1.4/gaupol/__init__.py 2018-05-01 15:14:51.000000000 +0200
+++ new/gaupol-1.4.1/gaupol/__init__.py 2018-07-07 18:09:12.000000000 +0200
@@ -17,7 +17,7 @@
"""GTK+ user interface for the Gaupol subtitle editor."""
-__version__ = "1.4"
+__version__ = "1.4.1"
COMBO_SEPARATOR = "<separator/>"
import sys
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gaupol-1.4/gaupol/agents/edit.py new/gaupol-1.4.1/gaupol/agents/edit.py
--- old/gaupol-1.4/gaupol/agents/edit.py 2018-05-01 15:14:51.000000000 +0200
+++ new/gaupol-1.4.1/gaupol/agents/edit.py 2018-07-07 18:09:12.000000000 +0200
@@ -145,6 +145,7 @@
"""Insert a new subtitle at video position."""
mode = aeidon.modes.SECONDS
pos = self.player.get_position(mode)
+ if pos is None: return
page = self.get_current_page()
starts = [x.start_seconds for x in page.project.subtitles]
index = bisect.bisect_right(starts, pos)
@@ -267,6 +268,7 @@
mode = aeidon.modes.SECONDS
row = page.view.get_selected_rows()[0]
pos = self.player.get_position(mode)
+ if pos is None: return
page.project.set_end(row, pos)
@aeidon.deco.export
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gaupol-1.4/gaupol/agents/video.py new/gaupol-1.4.1/gaupol/agents/video.py
--- old/gaupol-1.4/gaupol/agents/video.py 2018-05-01 15:14:51.000000000 +0200
+++ new/gaupol-1.4.1/gaupol/agents/video.py 2018-07-07 18:09:12.000000000 +0200
@@ -275,6 +275,7 @@
def _on_seek_next_activate(self, *args):
"""Seek to the start of the next subtitle."""
pos = self.player.get_position(aeidon.modes.SECONDS)
+ if pos is None: return
subtitles = list(filter(lambda x: x[0] > pos + 0.001, self._cache))
if not subtitles: return
self.player.seek(subtitles[0][0])
@@ -283,6 +284,7 @@
def _on_seek_previous_activate(self, *args):
"""Seek to the start of the previous subtitle."""
pos = self.player.get_position(aeidon.modes.SECONDS)
+ if pos is None: return
subtitles = list(filter(lambda x: x[1] < pos - 0.001, self._cache))
if not subtitles: return
self.player.seek(subtitles[-1][0])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gaupol-1.4/gaupol/player.py new/gaupol-1.4.1/gaupol/player.py
--- old/gaupol-1.4/gaupol/player.py 2018-05-01 15:14:51.000000000 +0200
+++ new/gaupol-1.4.1/gaupol/player.py 2018-07-07 18:09:12.000000000 +0200
@@ -19,6 +19,7 @@
import aeidon
import gaupol
+import time
from aeidon.i18n import _
from gi.repository import GLib
@@ -100,9 +101,11 @@
"""
if self._in_default_segment: return
# XXX: There's got to be a simpler way to do this.
- pos = self.get_position(aeidon.modes.SECONDS) * Gst.SECOND
seek_flags = Gst.SeekFlags.FLUSH | Gst.SeekFlags.ACCURATE
+ pos = self.get_position(aeidon.modes.SECONDS) * Gst.SECOND
end = self.get_duration(aeidon.modes.SECONDS) * Gst.SECOND
+ if pos is None: return
+ if end is None: return
self._playbin.seek(rate=1.0,
format=Gst.Format.TIME,
flags=seek_flags,
@@ -120,7 +123,14 @@
def get_duration(self, mode=None):
"""Return duration of video stream or ``None``."""
- success, duration = self._playbin.query_duration(Gst.Format.TIME)
+ q = self._playbin.query_duration
+ for i in range(100):
+ # Querying duration sometimes fails very unreproducibly,
+ # likely due to a particular pipeline state or state change.
+ # Try repeated times, hoping to pass the bad state.
+ success, duration = q(Gst.Format.TIME)
+ if success: break
+ time.sleep(1/100)
if not success: return None
if mode is None: return duration
duration = duration / Gst.SECOND
@@ -134,7 +144,14 @@
def get_position(self, mode=None):
"""Return current position in video stream or ``None``."""
- success, pos = self._playbin.query_position(Gst.Format.TIME)
+ q = self._playbin.query_position
+ for i in range(100):
+ # Querying position sometimes fails very unreproducibly,
+ # likely due to a particular pipeline state or state change.
+ # Try repeated times, hoping to pass the bad state.
+ success, pos = q(Gst.Format.TIME)
+ if success: break
+ time.sleep(1/100)
if not success: return None
if mode is None: return pos
pos = pos / Gst.SECOND
@@ -283,6 +300,7 @@
seek_flags = Gst.SeekFlags.FLUSH | Gst.SeekFlags.ACCURATE
start = max(0, self.calc.to_seconds(start)) * Gst.SECOND
duration = self.get_duration(aeidon.modes.SECONDS)
+ if duration is None: return
end = min(duration, self.calc.to_seconds(end)) * Gst.SECOND
self._playbin.seek(rate=1.0,
format=Gst.Format.TIME,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gaupol-1.4/po/fi.po new/gaupol-1.4.1/po/fi.po
--- old/gaupol-1.4/po/fi.po 2018-05-01 15:14:51.000000000 +0200
+++ new/gaupol-1.4.1/po/fi.po 2018-07-07 18:09:12.000000000 +0200
@@ -8,8 +8,8 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-01 16:08+0300\n"
-"PO-Revision-Date: 2018-05-01 16:08+0300\n"
+"POT-Creation-Date: 2018-07-07 19:01+0300\n"
+"PO-Revision-Date: 2018-07-07 19:02+0300\n"
"Last-Translator: Osmo Salomaa , 2016\n"
"Language-Team: Finnish (https://www.transifex.com/otsaloma/teams/64879/fi/)\n"
"Language: fi\n"
@@ -557,7 +557,7 @@
msgid "Failed to load dictionary for language \"{}\""
msgstr "Sanakirjan lataaminen kielelle \"{}\" epäonnistui"
-#: gaupol/assistants.py:600 gaupol/player.py:234 gaupol/player.py:339
+#: gaupol/assistants.py:600 gaupol/player.py:251 gaupol/player.py:357
#: gaupol/dialogs/search.py:556 gaupol/dialogs/search.py:564
#: gaupol/dialogs/text_edit.py:49 gaupol/dialogs/encoding.py:56
#: gaupol/dialogs/spell_check.py:390 gaupol/agents/open.py:322
@@ -648,7 +648,7 @@
msgstr[0] "Vahvista {:d} muutos"
msgstr[1] "Vahvista {:d} muutosta"
-#: gaupol/player.py:337
+#: gaupol/player.py:355
msgid "Failed to initialize playback"
msgstr "Toiston aloitus epäonnistui"
@@ -1022,17 +1022,17 @@
msgid "Stretching end position"
msgstr "lopun venyttäminen"
-#: gaupol/agents/edit.py:207
+#: gaupol/agents/edit.py:208
msgid "Inserted {:d} subtitle to fit clipboard contents"
msgid_plural "Inserted {:d} subtitles to fit clipboard contents"
msgstr[0] "Lisättiin {:d} kappale, jotta leikepöydän sisältö mahtui"
msgstr[1] "Lisättiin {:d} kappaletta, jotta leikepöydän sisältö mahtui"
-#: gaupol/agents/edit.py:289 gaupol/agents/edit.py:307
+#: gaupol/agents/edit.py:291 gaupol/agents/edit.py:309
msgid "Stretching start position"
msgstr "alun venyttäminen"
-#: gaupol/agents/edit.py:365
+#: gaupol/agents/edit.py:367
msgid "Use Shift+Return for line-break"
msgstr "Käytä näppäimiä Shift+Return rivinvaihtoa varten"
@@ -1118,7 +1118,7 @@
msgid "_Load"
msgstr "_Lataa"
-#: gaupol/agents/video.py:351
+#: gaupol/agents/video.py:353
msgid "Undefined"
msgstr "Määrittelemätön"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gaupol-1.4/po/gaupol.pot new/gaupol-1.4.1/po/gaupol.pot
--- old/gaupol-1.4/po/gaupol.pot 2018-05-01 15:14:51.000000000 +0200
+++ new/gaupol-1.4.1/po/gaupol.pot 2018-07-07 18:09:12.000000000 +0200
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-01 16:08+0300\n"
+"POT-Creation-Date: 2018-07-07 19:01+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -554,7 +554,7 @@
msgid "Failed to load dictionary for language \"{}\""
msgstr ""
-#: gaupol/assistants.py:600 gaupol/player.py:234 gaupol/player.py:339
+#: gaupol/assistants.py:600 gaupol/player.py:251 gaupol/player.py:357
#: gaupol/dialogs/search.py:556 gaupol/dialogs/search.py:564
#: gaupol/dialogs/text_edit.py:49 gaupol/dialogs/encoding.py:56
#: gaupol/dialogs/spell_check.py:390 gaupol/agents/open.py:322
@@ -645,7 +645,7 @@
msgstr[0] ""
msgstr[1] ""
-#: gaupol/player.py:337
+#: gaupol/player.py:355
msgid "Failed to initialize playback"
msgstr ""
@@ -1006,17 +1006,17 @@
msgid "Stretching end position"
msgstr ""
-#: gaupol/agents/edit.py:207
+#: gaupol/agents/edit.py:208
msgid "Inserted {:d} subtitle to fit clipboard contents"
msgid_plural "Inserted {:d} subtitles to fit clipboard contents"
msgstr[0] ""
msgstr[1] ""
-#: gaupol/agents/edit.py:289 gaupol/agents/edit.py:307
+#: gaupol/agents/edit.py:291 gaupol/agents/edit.py:309
msgid "Stretching start position"
msgstr ""
-#: gaupol/agents/edit.py:365
+#: gaupol/agents/edit.py:367
msgid "Use Shift+Return for line-break"
msgstr ""
@@ -1101,7 +1101,7 @@
msgid "_Load"
msgstr ""
-#: gaupol/agents/video.py:351
+#: gaupol/agents/video.py:353
msgid "Undefined"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gaupol-1.4/setup.py new/gaupol-1.4.1/setup.py
--- old/gaupol-1.4/setup.py 2018-05-01 15:14:51.000000000 +0200
+++ new/gaupol-1.4.1/setup.py 2018-07-07 18:09:12.000000000 +0200
@@ -233,6 +233,16 @@
data_dir = os.path.join(data_dir, "share", "gaupol")
files = glob.glob("{}/extensions/*/*.py".format(data_dir))
distutils.util.byte_compile(files, optimize, self.force, self.dry_run)
+ # Figure out paths of the compiled files and add them to
+ # self.outfiles so that 'setup.py --record' works correctly.
+ def get_cache_pattern(path):
+ dir, file = os.path.split(path)
+ file = os.path.splitext(file)[0] + ".*"
+ return os.path.join(dir, "__pycache__", file)
+ for pattern in map(get_cache_pattern, files):
+ for file in glob.glob(pattern):
+ if not file in self.outfiles:
+ self.outfiles.append(file)
def __generate_linguas(self):
"""Generate LINGUAS file needed by msgfmt."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gaupol-1.4/win32/gaupol.iss new/gaupol-1.4.1/win32/gaupol.iss
--- old/gaupol-1.4/win32/gaupol.iss 2018-05-01 15:14:51.000000000 +0200
+++ new/gaupol-1.4.1/win32/gaupol.iss 2018-07-07 18:09:12.000000000 +0200
@@ -2,14 +2,14 @@
[Setup]
AppName=Gaupol
-AppVerName=Gaupol 1.4
+AppVerName=Gaupol 1.4.1
AppPublisher=Osmo Salomaa
AppPublisherURL=https://otsaloma.io/gaupol/
DefaultDirName={pf}\Gaupol
DefaultGroupName=Gaupol
AllowNoIcons=yes
OutputDir=".."
-OutputBaseFilename=gaupol-1.4-win32
+OutputBaseFilename=gaupol-1.4.1-win32
Compression=lzma
SolidCompression=yes