AniDB O'Matic - Documentation: Local file renaming: Difference between revisions
Epoximator (talk | contribs) (wiki markup) |
No edit summary |
||
| Line 25: | Line 25: | ||
'''Default tags'''<br /> | '''Default tags'''<br /> | ||
{| | {| | ||
|?a||Anime name | |?a||text||Anime name | ||
|- | |- | ||
|?ab||Audio bitrate | |?ab||number||Audio bitrate | ||
|- | |- | ||
|?ac||Audio codec | |?ac||text||Audio codec | ||
|- | |- | ||
|?aid||Anime ID | |?aid||number||Anime ID | ||
|- | |- | ||
|?e||Episode name | |?e||text||Episode name | ||
|- | |- | ||
|?eid||Episode ID | |?eid||number||Episode ID | ||
|- | |- | ||
|?ep||Episode number | |?ep||number||Episode number | ||
|- | |- | ||
|?ep2, ?ep3, ?ep4||Zero padded episode number, eg ?ep3 = 007 | |?ep2, ?ep3, ?ep4||text||Zero padded episode number, eg ?ep3 = 007 | ||
|- | |- | ||
|?fid||File ID | |?fid||number||File ID | ||
|- | |- | ||
|?fs||File source | |?fs||text||File source | ||
|- | |- | ||
|?g||Group name, long (?lg) if available, otherwise short (?sg) | |?g||text||Group name, long (?lg) if available, otherwise short (?sg) | ||
|- | |- | ||
|?gid||Group ID | |?gid||number||Group ID | ||
|- | |- | ||
|? | |?isMovie||boolean||True if the current file belongs to a movie anime | ||
|- | |- | ||
|? | |?lang||text||Shows 1-2 Audio and 1-2 Subtitle languages | ||
|- | |- | ||
|? | |?la||text||Shows all audio languages | ||
|- | |- | ||
|? | |?la1, ?la2, ?la3, ?la4||text||Shows 1-4 audio languages | ||
|- | |- | ||
|? | |?lg||text||Long group name | ||
|- | |- | ||
|? | |?ls||text||Shows all subtitle languages | ||
|- | |- | ||
|? | |?ls1, ?ls2, ?ls3, ?ls4||text||Shows 1-4 subtitle languages | ||
|- | |- | ||
|? | |?mid||number||Mylist ID | ||
|- | |- | ||
|? | |?sg||text||Short group name | ||
|- | |- | ||
|? | |?v||number||File version | ||
|- | |- | ||
|?vc||Video codec | |?vb||number||Video bitrate | ||
|- | |||
|?vc||text||Video codec | |||
|} | |} | ||
Note that all tags are greedy, that means that ?ep2 will always be read as ep2, never as ?e or ?ep. If you need a tag to not be greedy you can use ?out(ep). | Note that all tags are greedy, that means that ?ep2 will always be read as ep2, never as ?e or ?ep. If you need a tag to not be greedy you can use ?out(ep). | ||
| Line 80: | Line 82: | ||
|- | |- | ||
|?uc()||Converts the supplied parameter to upper case.<br />Example ?uc(crc) | |?uc()||Converts the supplied parameter to upper case.<br />Example ?uc(crc) | ||
|} | |||
'''Comparison operators'''<br /> | |||
{| | |||
|A=B||true if A equals B | |||
|- | |||
|A<>B||true if A does not equal B | |||
|- | |||
|A<B||true if A is smaller than B | |||
|- | |||
|A>B||true if A is larger than B | |||
|- | |||
|A and B||true if both A and B are true | |||
|- | |||
|A or B||true if either A or B is true | |||
|- | |||
|not A||true if A is false | |||
|} | |} | ||
Revision as of 19:09, 28 August 2007
File renaming patterns
AoM contains a comprehensive number of patterns to fully customize file names and paths. In order for the pattern to allow very complex rules it essentially allows light scripting. The path can be a complete path or a partial path, in case of a partial path the current file manager is used to place the file based on a known root or from the root folder of the file manager, see file managers below for more details. File extensions are automatically added to the end of the pattern.
Here's a few sample patterns:
- "?a - ?ep - ?e [?g]" ->
"Anime - 02 - Episode name [Group name]" - "?a - ?epv?v - ?e?if(lg<>'', ' ['+lg+']', '')" ->
With group: "Anime - 02v1 - Episode name [Group name]"
Without group:"Anime - 02v1 - Episode name" - "?if(wltw, 'To watch\', '')?a?if(isMovie, if(moviePartCount>1, ' - Part '+partno+if(v>1, 'v'+v, ''), if(v>1, ' - v'+v, '')), ep+if(v>1, v, '')+'- ?e') ?if(lg<>'', lg+' ', ''){?crc32}" ->
For a movie: "Anime name - v2 [Group name]{crc32}"
For a movie with 2 parts: "Anime name - Part 2v2 [Group name]{crc32}
For a normal anime, marked as "to watch in wishlist": "To watch\Anime name - 02v2 - Episode name [Group name]{crc32}
Custom tags
AOM still supports custom tags to simplify rules. Custom tags works as follows:
- Specified like a normal tag but in all uppercase, for example "?G".
- If any subpart of the tag is empty, the whole tag is skipped, except:
- If the tag contains ?if statements, these are not checked if they're empty.
With this you could simplify the group rule, for example you could write it:
- Using ?if: "?if(lg<>'', '['+lg+']', '')" -> "?G"
- Simplest form: "[?lg]" -> "?G"
- More advanced example: "?if(lg<>'', '['+lg']', if(sg<>'', '['+sg']', '[RAW]'))" -> "?G"
Default tags
| ?a | text | Anime name |
| ?ab | number | Audio bitrate |
| ?ac | text | Audio codec |
| ?aid | number | Anime ID |
| ?e | text | Episode name |
| ?eid | number | Episode ID |
| ?ep | number | Episode number |
| ?ep2, ?ep3, ?ep4 | text | Zero padded episode number, eg ?ep3 = 007 |
| ?fid | number | File ID |
| ?fs | text | File source |
| ?g | text | Group name, long (?lg) if available, otherwise short (?sg) |
| ?gid | number | Group ID |
| ?isMovie | boolean | True if the current file belongs to a movie anime |
| ?lang | text | Shows 1-2 Audio and 1-2 Subtitle languages |
| ?la | text | Shows all audio languages |
| ?la1, ?la2, ?la3, ?la4 | text | Shows 1-4 audio languages |
| ?lg | text | Long group name |
| ?ls | text | Shows all subtitle languages |
| ?ls1, ?ls2, ?ls3, ?ls4 | text | Shows 1-4 subtitle languages |
| ?mid | number | Mylist ID |
| ?sg | text | Short group name |
| ?v | number | File version |
| ?vb | number | Video bitrate |
| ?vc | text | Video codec |
Note that all tags are greedy, that means that ?ep2 will always be read as ep2, never as ?e or ?ep. If you need a tag to not be greedy you can use ?out(ep).
Function tags
| ?if() | If statement. Example: ?if(a=b, 'equal', 'not equal') |
| ?lc() | Converts the supplied parameter to lower case. Example ?lc(crc) |
| ?uc() | Converts the supplied parameter to upper case. Example ?uc(crc) |
Comparison operators
| A=B | true if A equals B |
| A<>B | true if A does not equal B |
| A<B | true if A is smaller than B |
| A>B | true if A is larger than B |
| A and B | true if both A and B are true |
| A or B | true if either A or B is true |
| not A | true if A is false |