From owner-svn-ports-all@freebsd.org Mon May 27 19:40:16 2019 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B70D015A929D; Mon, 27 May 2019 19:40:16 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5F9FE82862; Mon, 27 May 2019 19:40:16 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 358BB78A9; Mon, 27 May 2019 19:40:16 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x4RJeGOp070130; Mon, 27 May 2019 19:40:16 GMT (envelope-from jbeich@FreeBSD.org) Received: (from jbeich@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x4RJeFbb070123; Mon, 27 May 2019 19:40:15 GMT (envelope-from jbeich@FreeBSD.org) Message-Id: <201905271940.x4RJeFbb070123@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jbeich set sender to jbeich@FreeBSD.org using -f From: Jan Beich Date: Mon, 27 May 2019 19:40:15 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r502817 - in head/www/py-flexget: . files X-SVN-Group: ports-head X-SVN-Commit-Author: jbeich X-SVN-Commit-Paths: in head/www/py-flexget: . files X-SVN-Commit-Revision: 502817 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 5F9FE82862 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.96 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.96)[-0.961,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 May 2019 19:40:17 -0000 Author: jbeich Date: Mon May 27 19:40:14 2019 New Revision: 502817 URL: https://svnweb.freebsd.org/changeset/ports/502817 Log: www/py-flexget: update to 2.21.1 Changes: https://github.com/Flexget/Flexget/compare/2.14.24...2.21.1 Added: head/www/py-flexget/files/patch-01-guessit-2.1.4 (contents, props changed) head/www/py-flexget/files/patch-02-path.py-8.1 (contents, props changed) Modified: head/www/py-flexget/Makefile (contents, props changed) head/www/py-flexget/distinfo (contents, props changed) head/www/py-flexget/files/patch-requirements.txt (contents, props changed) Modified: head/www/py-flexget/Makefile ============================================================================== --- head/www/py-flexget/Makefile Mon May 27 19:32:31 2019 (r502816) +++ head/www/py-flexget/Makefile Mon May 27 19:40:14 2019 (r502817) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= flexget -PORTVERSION= 2.14.24 +PORTVERSION= 2.21.1 PORTEPOCH= 1 CATEGORIES= www python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -14,18 +14,19 @@ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy12>0:databases/py-sqlalchemy12@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10:devel/py-Jinja2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rebulk>=0.9.0:devel/py-rebulk@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}rpyc>0:devel/py-RPyC@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}apscheduler>=3.2.0:devel/py-apscheduler@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dateutil>=2.5.3:devel/py-dateutil@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dateutil>0:devel/py-dateutil@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}future>=0.15.2:devel/py-future@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}jsonschema>=2.0:devel/py-jsonschema@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}path.py>=8.1.1:devel/py-path.py@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}path.py<10.6:devel/py-path.py@${PY_FLAVOR} \ ${PY_PATHLIB} \ ${PYTHON_PKGNAMEPREFIX}pyparsing>=2.0.3:devel/py-pyparsing@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}yaml>0:devel/py-yaml@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}progressbar>0:misc/py-progressbar@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}guessit>=2.1.4:multimedia/py-guessit@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}yaml>=3.13:devel/py-yaml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}progressbar>=2.5:misc/py-progressbar@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}guessit<3.0.0:multimedia/py-guessit@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pynzb>0:news/py-pynzb@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}zxcvbn>0:security/py-zxcvbn@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}plumbum>=1.2:sysutils/py-plumbum@${PY_FLAVOR} \ @@ -42,7 +43,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy12>0:dat ${PYTHON_PKGNAMEPREFIX}Flask-RESTful>=0.3.3:www/py-flask-restful@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}flask-restplus>=0.10.1:www/py-flask-restplus@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}html5lib>=0.11:www/py-html5lib@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}requests>=2.8.0:www/py-requests@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}requests>=2.20.0:www/py-requests@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=3.3:devel/py-pytest@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}vcrpy>0:devel/py-vcrpy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}boto3>0:www/py-boto3@${PY_FLAVOR} Modified: head/www/py-flexget/distinfo ============================================================================== --- head/www/py-flexget/distinfo Mon May 27 19:32:31 2019 (r502816) +++ head/www/py-flexget/distinfo Mon May 27 19:40:14 2019 (r502817) @@ -1,3 +1,3 @@ -TIMESTAMP = 1538359480 -SHA256 (flexget-Flexget-2.14.24_GH0.tar.gz) = 3459a600848f7f44f4dc0119f26a30c0959c338a157f957d58d457d3dde9977c -SIZE (flexget-Flexget-2.14.24_GH0.tar.gz) = 6633696 +TIMESTAMP = 1558749819 +SHA256 (flexget-Flexget-2.21.1_GH0.tar.gz) = 9a612657e087229d4f8ca13fd10deb9af39347ba1f96b8a028f3a6ed2ae30a7e +SIZE (flexget-Flexget-2.21.1_GH0.tar.gz) = 7141563 Added: head/www/py-flexget/files/patch-01-guessit-2.1.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-flexget/files/patch-01-guessit-2.1.4 Mon May 27 19:40:14 2019 (r502817) @@ -0,0 +1,141 @@ +Revert https://github.com/Flexget/Flexget/commit/f6b01c1176ff + +--- flexget/components/imdb/utils.py.orig 2019-05-25 02:03:39 UTC ++++ flexget/components/imdb/utils.py +@@ -96,7 +96,7 @@ class ImdbSearch(object): + parser = plugin.get('parsing', 'imdb_search').parse_movie(raw_name) + name = parser.name + year = parser.year +- if not name: ++ if name == '': + log.critical('Failed to parse name from %s', raw_name) + return None + log.debug('smart_match name=%s year=%s' % (name, str(year))) +--- flexget/components/parsing/parsers/parser_guessit.py.orig 2019-05-25 02:03:39 UTC ++++ flexget/components/parsing/parsers/parser_guessit.py +@@ -40,16 +40,9 @@ _id_regexps = Rebulk().functional( + ) + + +-def rules_builder(config): +- rebulk = rebulk_builder(config) +- rebulk.rebulk(_id_regexps) +- return rebulk ++guessit_api = GuessItApi(rebulk_builder().rebulk(_id_regexps)) + + +-guessit_api = GuessItApi() +-guessit_api.configure(options={}, rules_builder=rules_builder, force=True) +- +- + def normalize_component(data): + if data is None: + return [] +@@ -66,19 +59,6 @@ except AttributeError: + + + class ParserGuessit(object): +- SOURCE_MAP = { +- 'Camera': 'cam', +- 'HD Camera': 'cam', +- 'HD Telesync': 'telesync', +- 'Pay-per-view': 'ppv', +- 'Digital TV': 'dvb', +- 'Video on Demand': 'vod', +- 'Analog HDTV': 'ahdtv', +- 'Ultra HDTV': 'uhdtv', +- 'HD Telecine': 'hdtc', +- 'Web': 'web-dl', +- } +- + @staticmethod + def _guessit_options(options): + settings = { +@@ -87,6 +67,7 @@ class ParserGuessit(object): + 'allowed_countries': ['us', 'uk', 'gb'], + 'single_value': True, + } ++ # 'clean_function': clean_value + options['episode_prefer_number'] = not options.get('identified_by') == 'ep' + if options.get('allow_groups'): + options['expected_group'] = options['allow_groups'] +@@ -114,18 +95,17 @@ class ParserGuessit(object): + else: + version -= 1 + proper_count = guessit_result.get('proper_count', 0) +- fastsub = 'fast subtitled' in normalize_component(guessit_result.values_list.get('other')) ++ fastsub = 'fastsub' in normalize_component(guessit_result.values_list.get('other')) + return version + proper_count - (5 if fastsub else 0) + +- def _source(self, guessit_result): +- other = normalize_component(guessit_result.values_list.get('other')) +- source = self.SOURCE_MAP.get(guessit_result.get('source'), guessit_result.get('source')) +- # special case +- if source == 'web-dl' and 'rip' in other: +- source = 'webrip' ++ def _quality(self, guessit_result): ++ """Generate a FlexGet Quality from a guessit result.""" ++ resolution = normalize_component(guessit_result.values_list.get('screen_size')) ++ other = normalize_component(guessit_result.get('other')) ++ if not resolution and 'hr' in other: ++ resolution.append('hr') + +- source = normalize_component(source) +- ++ source = normalize_component(guessit_result.get('format')) + if 'preair' in other: + source.append('preair') + if 'screener' in other: +@@ -136,17 +116,6 @@ class ParserGuessit(object): + if 'region 5' in other or 'region c' in other: + source.append('r5') + +- return source +- +- def _quality(self, guessit_result): +- """Generate a FlexGet Quality from a guessit result.""" +- resolution = normalize_component(guessit_result.values_list.get('screen_size')) +- other = normalize_component(guessit_result.values_list.get('other')) +- if not resolution and 'high resolution' in other: +- resolution.append('hr') +- +- source = self._source(guessit_result) +- + codec = normalize_component(guessit_result.values_list.get('video_codec')) + if '10bit' in normalize_component(guessit_result.values_list.get('color_depth')): + codec.append('10bit') +@@ -155,11 +124,9 @@ class ParserGuessit(object): + audio_profile = normalize_component(guessit_result.values_list.get('audio_profile')) + audio_channels = normalize_component(guessit_result.values_list.get('audio_channels')) + # unlike the other components, audio can be a bit iffy with multiple codecs, so we limit it to one +- if 'dts' in audio and any(hd in audio_profile for hd in ['hd', 'master audio']): ++ if 'dts' in audio and any(hd in audio_profile for hd in ['HD', 'HDMA']): + audio = ['dtshd'] +- elif '5.1' in audio_channels and 'dolby digital plus' in audio: +- audio = ['dd+5.1'] +- elif '5.1' in audio_channels and 'dolby digital' in audio: ++ elif '5.1' in audio_channels and any(dd in audio for dd in ['ac3', 'dolbydigital']): + audio = ['dd5.1'] + + # Make sure everything are strings (guessit will return lists when there are multiples) +--- flexget/tests/test_seriesparser.py.orig 2019-05-25 02:03:39 UTC ++++ flexget/tests/test_seriesparser.py +@@ -114,7 +114,6 @@ class TestSeriesParser(object): + s = parse(name='Something', data='Something - Season2 Episode2') + assert s.season == 2 and s.episode == 2, 'failed to parse %s' % s + +- @pytest.mark.xfail(reason='Not supported in guessit, works for internal parser') + def test_series_episode(self, parse): + """SeriesParser: series X, episode Y""" + s = parse(name='Something', data='Something - Series 2, Episode 2') +--- requirements.txt.orig 2019-05-25 02:03:39 UTC ++++ requirements.txt +@@ -15,7 +15,7 @@ python-dateutil + jsonschema>=2.0 + path.py>=10.6 + pathlib>=1.0; python_version<'3.4' +-guessit==3.0.3 ++guessit<3.0.0 + rebulk>=0.9.0 + apscheduler>=3.2.0 + terminaltables>=3.1.0 Added: head/www/py-flexget/files/patch-02-path.py-8.1 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/py-flexget/files/patch-02-path.py-8.1 Mon May 27 19:40:14 2019 (r502817) @@ -0,0 +1,69 @@ +Revert https://github.com/Flexget/Flexget/commit/0a401204a107 + +--- flexget/api/core/server.py.orig 2019-05-25 02:03:39 UTC ++++ flexget/api/core/server.py +@@ -571,6 +571,6 @@ class ServerCrashLogAPI(APIResource): + path = Path(self.manager.config_base) + crashes = [ + {'name': file.name, 'content': file.open().readlines()} +- for file in path.listdir(match='crash_report*.log') ++ for file in path.listdir(pattern='crash_report*.log') + ] + return jsonify(crashes) +--- flexget/plugin.py.orig 2019-05-25 02:03:39 UTC ++++ flexget/plugin.py +@@ -476,7 +476,7 @@ def _load_plugins_from_dirs(dirs): + _f for _f in plugin_path.relpath(plugins_dir).parent.splitall() if _f + ] + module_name = '.'.join( +- [plugins_pkg.__name__] + plugin_subpackages + [plugin_path.stem] ++ [plugins_pkg.__name__] + plugin_subpackages + [plugin_path.namebase] + ) + _import_plugin(module_name, plugin_path) + _check_phase_queue() +@@ -498,7 +498,7 @@ def _load_components_from_dirs(dirs): + _f for _f in component_path.relpath(component_dir).parent.splitall() if _f + ] + package_name = '.'.join( +- [components_pkg.__name__] + plugin_subpackages + [component_path.stem] ++ [components_pkg.__name__] + plugin_subpackages + [component_path.namebase] + ) + _import_plugin(package_name, component_path) + _check_phase_queue() +--- flexget/plugins/input/filesystem.py.orig 2019-05-25 02:03:39 UTC ++++ flexget/plugins/input/filesystem.py +@@ -129,7 +129,7 @@ class Filesystem(object): + entry['url'] = pathlib.Path(filepath).absolute().as_uri() + entry['filename'] = filepath.name + if filepath.isfile(): +- entry['title'] = filepath.stem ++ entry['title'] = filepath.namebase + else: + entry['title'] = filepath.name + try: +--- flexget/tests/test_filesystem.py.orig 2019-05-25 02:03:39 UTC ++++ flexget/tests/test_filesystem.py +@@ -137,10 +137,10 @@ class TestFilesystem(object): + task_name, + file, + ) +- assert task.find_entry(title=file.stem), assertion_error ++ assert task.find_entry(title=file.namebase), assertion_error + else: + assertion_error = 'Failed %s %s test, found %s' % (test_type, task_name, file) +- assert not task.find_entry(title=file.stem), assertion_error ++ assert not task.find_entry(title=file.namebase), assertion_error + + def test_string(self, execute_task): + task_name = 'string' +--- requirements.txt.orig 2019-05-25 02:03:39 UTC ++++ requirements.txt +@@ -13,7 +13,7 @@ jinja2~=2.10 + requests>=2.20.0 + python-dateutil + jsonschema>=2.0 +-path.py>=10.6 ++path.py>=8.1.1,<10.6 + pathlib>=1.0; python_version<'3.4' + guessit==3.0.3 + rebulk>=0.9.0 Modified: head/www/py-flexget/files/patch-requirements.txt ============================================================================== --- head/www/py-flexget/files/patch-requirements.txt Mon May 27 19:32:31 2019 (r502816) +++ head/www/py-flexget/files/patch-requirements.txt Mon May 27 19:40:14 2019 (r502817) @@ -1,28 +1,17 @@ ---- requirements.txt.orig 2017-06-21 02:13:55 UTC +--- requirements.txt.orig 2019-05-25 02:03:39 UTC +++ requirements.txt -@@ -7,18 +7,15 @@ html5lib>=0.11 +@@ -7,8 +7,8 @@ html5lib>=0.11 PyRSS2Gen pynzb #PY3 progressbar --rpyc==3.3.0 +-rpyc~=4.0 +-jinja2~=2.10 +rpyc - jinja2 ++jinja2 # There is a bug in requests 2.4.0 where it leaks urllib3 exceptions --requests~=2.16.3 --#Guessit requires python-dateutil<=2.5.2 -+requests>=2.8.0, <3.0 - python-dateutil>=2.5.3 - jsonschema>=2.0 - path.py>=8.1.1 - pathlib>=1.0; python_version<'3.4' --guessit<=2.1.4 --# Rebulk changes how guessit works higher than 0.8.2 --rebulk==0.9.0 -+guessit>=2.1.0 - apscheduler>=3.2.0 - terminaltables>=3.1.0 - colorclass>=2.2.0 -@@ -26,10 +23,10 @@ colorclass>=2.2.0 + requests>=2.20.0 + python-dateutil +@@ -24,11 +24,11 @@ colorclass>=2.2.0 cherrypy>=3.7.0 flask>=0.7 flask-restful>=0.3.3 @@ -35,3 +24,6 @@ -zxcvbn-python +zxcvbn future>=0.15.2 +-progressbar==2.5 +\ No newline at end of file ++progressbar>=2.5