flexget-nexusphp icon indicating copy to clipboard operation
flexget-nexusphp copied to clipboard

nexusphp插件过滤free种子功能配置后,imdb插件的功能失效了

Open terrellgf opened this issue 4 years ago • 5 comments

nexusphp插件过滤free种子功能配置后,imdb插件的功能失效了,貌似绕过imdb插件的筛选了,请问是我配置有问题,还是两个插件本身不能兼容?

web_server:
  bind: 0.0.0.0
  port: 5050
  web_ui: yes

tasks:
  BBB:
    template: 
      - movie
      - AAA 
    nexusphp:
      cookie: 'xxx'
      user-agent: 'xxx'
      discount:
        - free
        - 2xfree
    priority: 1
schedules:
  - tasks: [BBB]
    interval:
      minutes: 5

templates:
  global:
    retry_failed:
      retry_time: 5 minutes
      retry_time_multiplier: 1
      max_retries: 12
    no_entries_ok: yes
  movie:
    transmission:
      host: x.x.x.x
      port: xxxx
      username: xxxxxx
      password: xxxxxx
      path: /xxx/xx/x
    seen_movies:
      matching: strict
    proper_movies: no
    imdb_lookup: yes
    imdb:
      min_year: 1990
      min_score: 6
    list_match:
      from:
        - movie_list: mymovies
    regexp:
      from: title
      reject:
        - msd
        - afg
        - line
        - hc
        - korsub
    content_filter:
      reject:
        - '*.rar'
        - '*.zip'
        - '*.iso'
  AAA:
    inputs:
      - rss:
          url: https://xxxx/xxxx
          all_entries: yes
          other_fields:
            - link

terrellgf avatar Feb 07 '21 04:02 terrellgf

抱歉这么晚才回复你。 我研究了下imdb插件的代码,发现imdb插件只会accept满足条件的,而不会reject任何条目,imdb插件是这样描述的Accept movie entries based on imdb details. 而nexusphp插件会判断已接受+未决定的条目,因此imdb插件无法发挥效果。我并不知道imdb插件为何要这样设计,也许是担心误判吧。

解决方案:用if插件或者crossmatch插件配合imdb插件reject条目

Juszoe avatar Apr 07 '21 03:04 Juszoe

抱歉这么晚才回复你。 我研究了下imdb插件的代码,发现imdb插件只会accept满足条件的,而不会reject任何条目,imdb插件是这样描述的Accept movie entries based on imdb details. 而nexusphp插件会判断已接受+未决定的条目,因此imdb插件无法发挥效果。我并不知道imdb插件为何要这样设计,也许是担心误判吧。

解决方案:用if插件或者crossmatch插件配合imdb插件reject条目

感谢大神的回复,我以为我的问题可能石沉大海了呢,没想到您可以回复我,还为我给出了解决方案,没能及时看到,抱歉! 我对flexget的原理现在还是一知半解,没有完全吃透,我五一研究研究,按照您的推荐方案做个测试,有新的进展我会及时反馈! 再次感谢!

terrellgf avatar Apr 30 '21 07:04 terrellgf

抱歉这么晚才回复你。 我研究了下imdb插件的代码,发现imdb插件只会accept满足条件的,而不会reject任何条目,imdb插件是这样描述的Accept movie entries based on imdb details. 而nexusphp插件会判断已接受+未决定的条目,因此imdb插件无法发挥效果。我并不知道imdb插件为何要这样设计,也许是担心误判吧。

解决方案:用if插件或者crossmatch插件配合imdb插件reject条目 我有一个思路不知道是不是可行。先过imdb的过滤器,把所有accept的条目再通过nexusphp过滤器进行二次筛选。即先从RRS输出的条目中筛选出符合1990年并且6分以上的电影,再交给nexusphp,从这些条目中再筛选出free的种子。 但是我还没想到怎么控制过滤器的先后顺序、优先级。您有什么思路么?

terrellgf avatar Apr 30 '21 09:04 terrellgf

控制过滤器优先级很简单,用plugin_priority插件就能做到。 nexusphp插件默认优先级127,imdb插件默认优先级120,实际上imdb先处理了再交给nexusphp的。 但这个思路其实不可行,筛选出符合1990年并且6分以上的电影,accept的其实没有问题,关键就在于undecided的都是6分以下的,nexusphp判断之后又会把这些条目accept回来。所以不管怎么调整优先级都无法起作用。

用if插件是可以解决这个问题的,我举个例子

tasks:
  my-task:
    rss: 
      url: https://www.example.com/rss.xml
      other_fields: [link]
    imdb_lookup: yes
    require_field:
      - imdb_score
    if:
      - imdb_score < 6: accept
      - imdb_score > 6: reject
    nexusphp:
      cookie: ''
      # ...以下略

Juszoe avatar May 16 '21 07:05 Juszoe

控制过滤器优先级很简单,用plugin_priority插件就能做到。 nexusphp插件默认优先级127,imdb插件默认优先级120,实际上imdb先处理了再交给nexusphp的。 但这个思路其实不可行,筛选出符合1990年并且6分以上的电影,accept的其实没有问题,关键就在于undecided的都是6分以下的,nexusphp判断之后又会把这些条目accept回来。所以不管怎么调整优先级都无法起作用。

用if插件是可以解决这个问题的,我举个例子

tasks:
  my-task:
    rss: 
      url: https://www.example.com/rss.xml
      other_fields: [link]
    imdb_lookup: yes
    require_field:
      - imdb_score
    if:
      - imdb_score < 6: accept
      - imdb_score > 6: reject
    nexusphp:
      cookie: ''
      # ...以下略

好像不太对,我这边自己的需求,希望 ifnexusphp 前执行,是要用 plugin_priority 设成 129 才行,貌似是越大越优先

davidxuang avatar Jan 12 '22 05:01 davidxuang