Match current entries against some other input entries and take action on matches.
Note that all matching entries created in from
will be merged into corresponding task entry.
Option | Description | Default |
---|---|---|
from | List of input plugins | |
fields | List of entry fields which are matched from current task against entries generated by the plugins in from option |
|
action | accept or reject |
|
exact | yes or no |
yes |
all_fields | Require all fields to match. yes or no . |
no |
case_sensitive | Case sensitive match. yes or no . |
yes |
Reject movies that you have already voted on imdb. This would be used in a task.
crossmatch:
from:
- imdb_list:
user_id: ur9999999
list: ratings
fields:
- imdb_id
action: reject
You will also need to enable imdb_lookup on the task in order to get imdb_id populated. Granted, this is a lot more complicated than old imdb_rated used to be, but crossmatch allows all kinds of other clever uses as well.
Move imdb rated (watched) movies into another location.
interval: 1 days
filesystem: /path/to/movies/
seen: no
history: no
imdb_lookup: yes
crossmatch:
from:
- imdb_watchlist:
list: ratings
user_id: '{? imdb.user_id ?}'
fields:
- imdb_id
action: accept
move:
allow_dir: yes
to: /path/to/movies-rated/
DOES NOT WORK CORRECTLY DUE PLUGIN ORDER
tasks:
sort-rated-movies:
interval: 1 days
history: no
seen: no
filesystem:
- /path/to/collection
imdb_lookup: yes
crossmatch:
from:
- imdb_list:
list: ratings
login: '{? imdb.login ?}'
password: '{? imdb.pwd ?}'
fields:
- imdb_id
action: accept
require_field:
- imdb_score
- imdb_user_score
if:
- imdb_user_score < 7: accept
- imdb_user_score > 7: reject # since crossmatch accepted everything
move:
allow_dir: yes
to: /path/to/crap
See variables plugin.
The task will accept any entry containing an Artist's name (assumes /media/artists/ contains a folder for each Artist)
rss:
url: http://example.com/rss.xml
crossmatch:
from:
- filesystem: /media/artists/
fields:
- title
action: accept
exact: no