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.belv...@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 <otsal...@iki.fi>; 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 <otsal...@iki.fi>, 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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <l...@li.org>\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