Bug 210984 - [patch] [update] www/py-flexget: update to 2.1.7
Summary: [patch] [update] www/py-flexget: update to 2.1.7
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Jan Beich
URL:
Keywords: patch
Depends on: 210775 210972 210977 210978 210979 210980
Blocks:
  Show dependency treegraph
 
Reported: 2016-07-10 19:32 UTC by Andrej Ebert
Modified: 2016-07-18 19:24 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (wg)


Attachments
update to 2.1.7 (4.83 KB, patch)
2016-07-10 19:32 UTC, Andrej Ebert
no flags Details | Diff
poudriere log (179.02 KB, text/plain)
2016-07-10 19:33 UTC, Andrej Ebert
no flags Details
poudriere-portlint log (90 bytes, text/plain)
2016-07-10 19:33 UTC, Andrej Ebert
no flags Details
Version 2.1.15, various dependency fixes (5.86 KB, patch)
2016-07-18 15:39 UTC, Andrej Ebert
no flags Details | Diff
poudriere log (181.98 KB, text/plain)
2016-07-18 15:40 UTC, Andrej Ebert
no flags Details
poudriere-portlint log (90 bytes, text/plain)
2016-07-18 15:41 UTC, Andrej Ebert
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrej Ebert 2016-07-10 19:32:43 UTC
Created attachment 172350 [details]
update to 2.1.7

This is an update to 2.1.7.

There are new unported dependencies (mostly for the WEB UI): 

py-safe - bug #210972

py-flask-compress - bug #210977

py-flask-login - bug #210978

py-flask-restplus - bug #210979

newer version of py-apscheduler - bug #210980

newer version of py-guessit - bug #210775

Apparently there  are many changes between the 1.x.x and the 2.x.x tree, but as I don't use Flexget myself, i can't test how smooth an upgrade works.

It might also be a good idea to make the WEB UI an option, but I don't know if that's possible.

It builds, installs and deinstalls fine provided the above mentioned dependencies.
Comment 1 Andrej Ebert 2016-07-10 19:33:11 UTC
Created attachment 172351 [details]
poudriere log
Comment 2 Andrej Ebert 2016-07-10 19:33:26 UTC
Created attachment 172352 [details]
poudriere-portlint log
Comment 3 Jan Beich freebsd_committer freebsd_triage 2016-07-17 19:02:25 UTC
(In reply to Andrej Ebert from comment #0)
> Apparently there are many changes between the 1.x.x and the
> 2.x.x tree, but as I don't use Flexget myself, i can't test how
> smooth an upgrade works.

At least check the python package starts without import errors.

  $ flexget execute
  ...
  pkg_resources.DistributionNotFound: The 'flask-restplus==0.8.6' distribution was not found and is required by FlexGet
  pkg_resources.DistributionNotFound: The 'apscheduler>=3.2.0' distribution was not found and is required by FlexGet
  pkg_resources.DistributionNotFound: The 'guessit<=2.0.4' distribution was not found and is required by FlexGet
  pkg_resources.DistributionNotFound: The 'python-dateutil>=2.5.2' distribution was not found and is required by FlexGet

But in this case those are not the only issues.

  $ cat ~/.flexget/config.yml
  tasks:
    bsdnow_mp3:
      rss: https://feeds.feedburner.com/BsdNowMp3
      accept_all: yes
      limit_new: 1
      exec: fetch -o "/tmp/{{title}}.mp3" "{{url}}"

  $ LANG=en_US.UTF-8 flexget execute
  2016-07-17 18:56 CRITICAL plugin                        Exception while loading plugin flexget.plugins.api.tvmaze_lookup
  2016-07-17 18:56 ERROR    plugin                        'super' object has no attribute 'response'
  Traceback (most recent call last):
    File "/usr/local/lib/python2.7/site-packages/flexget/plugin.py", line 387, in _load_plugins_from_dirs
      __import__(module_name)
    File "/usr/local/lib/python2.7/site-packages/flexget/plugins/api/tvmaze_lookup.py", line 7, in <module>
      from flexget.api import api, APIResource
    File "/usr/local/lib/python2.7/site-packages/flexget/api/__init__.py", line 331, in <module>
      loader.find_module(module_name).load_module(module_name)
    File "/usr/local/lib/python2.7/pkgutil.py", line 246, in load_module
      mod = imp.load_module(fullname, self.file, self.filename, self.etc)
    File "/usr/local/lib/python2.7/site-packages/flexget/api/authentication.py", line 84, in <module>
      class LoginAPI(APIResource):
    File "/usr/local/lib/python2.7/site-packages/flexget/api/authentication.py", line 86, in LoginAPI
      @api.response(401, 'Invalid username or password')
    File "/usr/local/lib/python2.7/site-packages/flexget/api/__init__.py", line 162, in response
      return super(Api, self).response(code_or_apierror, description, model=model)
  AttributeError: 'super' object has no attribute 'response'
  Traceback (most recent call last):
    File "/usr/local/bin/flexget", line 9, in <module>
      load_entry_point('FlexGet==2.1.7', 'console_scripts', 'flexget')()
    File "/usr/local/lib/python2.7/site-packages/flexget/__init__.py", line 42, in main
      manager.start()
    File "/usr/local/lib/python2.7/site-packages/flexget/manager.py", line 310, in start
      self.initialize()
    File "/usr/local/lib/python2.7/site-packages/flexget/manager.py", line 182, in initialize
      plugin.load_plugins(extra_dirs=[os.path.join(self.config_base, 'plugins')])
    File "/usr/local/lib/python2.7/site-packages/flexget/plugin.py", line 431, in load_plugins
      _load_plugins_from_dirs(extra_dirs)
    File "/usr/local/lib/python2.7/site-packages/flexget/plugin.py", line 387, in _load_plugins_from_dirs
      __import__(module_name)
    File "/usr/local/lib/python2.7/site-packages/flexget/plugins/api/tvmaze_lookup.py", line 7, in <module>
      from flexget.api import api, APIResource
    File "/usr/local/lib/python2.7/site-packages/flexget/api/__init__.py", line 331, in <module>
      loader.find_module(module_name).load_module(module_name)
    File "/usr/local/lib/python2.7/pkgutil.py", line 246, in load_module
      mod = imp.load_module(fullname, self.file, self.filename, self.etc)
    File "/usr/local/lib/python2.7/site-packages/flexget/api/authentication.py", line 84, in <module>
      class LoginAPI(APIResource):
    File "/usr/local/lib/python2.7/site-packages/flexget/api/authentication.py", line 86, in LoginAPI
      @api.response(401, 'Invalid username or password')
    File "/usr/local/lib/python2.7/site-packages/flexget/api/__init__.py", line 162, in response
      return super(Api, self).response(code_or_apierror, description, model=model)
  AttributeError: 'super' object has no attribute 'response'
Comment 4 Andrej Ebert 2016-07-18 15:39:53 UTC
Created attachment 172659 [details]
Version 2.1.15, various dependency fixes

So, I got it to work, but:

it really, really wants to have flask-restplus 0.8.6, so I'll have to downgrade the port.

I _think_ I can get away with dateutil <2.5.2 and guessit>2.0.4 (thus the requirements.txt patch) but it requires further testing with series, etc. where guessit comes into play.

Also added devel/py-plumbum dependency, since it's an optional dependency in devel/py-RPyC, but flexget seems to need it.

Your test config works with guessit 2.0.5 (bug 210775) , apscheduler 3.2.0 (with properly registered version, see re-opened bug 210980), restplus 0.8.6 (bug 210979):

# flexget execute
2016-07-18 16:26 VERBOSE  task_queue                    There are 1 tasks to execute. Shutdown will commence when they have completed.
2016-07-18 16:26 VERBOSE  details       test task       Produced 150 entries.
2016-07-18 16:26 VERBOSE  task          test task       ACCEPTED: [skipped]
2016-07-18 16:26 VERBOSE  limit_new     test task       Allowed Sprinkle A Little BSD Into Your Life | BSD Now 150 (http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/jnite/bsd-0150.mp3)
2016-07-18 16:26 VERBOSE  task          test task       REJECTED: [skipped]
2016-07-18 16:26 VERBOSE  details       test task       Summary - Accepted: 1 (Rejected: 149 Undecided: 0 Failed: 0)
2016-07-18 16:26 VERBOSE  exec          test task       Executing: fetch -o "/tmp/Sprinkle A Little BSD Into Your Life | BSD Now 150.mp3" "http://www.podtrac.com/pts/redirect.mp3/traffic.libsyn.com/jnite/bsd-0150.mp3"
2016-07-18 16:27 INFO     exec          test task       Stdout: /tmp/Sprinkle A Little BSD Into Your Life | BSD Now 150.mp3           0  B    0  Bps\n

# cat .flexget/config.yml
tasks:
  test task:
    rss: https://feeds.feedburner.com/BsdNowMp3
    accept_all: yes
    limit_new: 1
    exec: fetch -o "/tmp/{{title}}.mp3" "{{url}}"
Comment 5 Andrej Ebert 2016-07-18 15:40:25 UTC
Created attachment 172660 [details]
poudriere log
Comment 6 Andrej Ebert 2016-07-18 15:41:08 UTC
Created attachment 172661 [details]
poudriere-portlint log
Comment 7 commit-hook freebsd_committer freebsd_triage 2016-07-18 19:07:24 UTC
A commit references this bug:

Author: jbeich
Date: Mon Jul 18 19:06:54 UTC 2016
New revision: 418734
URL: https://svnweb.freebsd.org/changeset/ports/418734

Log:
  www/py-flexget: update to 2.1.15

  - Drop regression-test as tests/ directory is absent in distfile.

  Changes:	https://github.com/Flexget/Flexget/compare/1.2.348...2.1.15
  PR:		210984
  Submitted by:	Andrej Ebert <andrej@ebert.su>

Changes:
  head/www/py-flexget/Makefile
  head/www/py-flexget/distinfo
  head/www/py-flexget/files/patch-pavement.py
  head/www/py-flexget/files/patch-requirements.txt
Comment 8 Jan Beich freebsd_committer freebsd_triage 2016-07-18 19:24:18 UTC
Thanks. Landed. It seems to work fine here, even with "series" plugin.