AniDB O'Matic - Documentation: Local file renaming - Samples

From AniDB
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Default pattern

Output: Transliterated anime name - 01v2 - English episode name [s-gn] (CCRCCRCC).ext

ATTENTION! The default pattern has a bug. See below for instructions to fix it.

set('atitle', at('x-jat'))
if(length(atitle)=0, set('atitle', at('en')))
if(length(atitle)=0, set('atitle', A.Name))
set('atitle', replace(atitle, '\', ' '))
set('etitle', et('en'))
if(length(etitle)=0, set('etitle', et('x-jat')))
if(length(etitle)=0, set('etitle', et('ja')))
if(length(etitle)=0, set('etitle', E.Name))
set('etitle', replace(etitle, '\', ' '))
set('version', if(F.Version>1, 'v'+F.Version, ''))
set('mepno', max(A.TotalEpisodeCount, E.EpisodeTypeCount))
set('epno', padl(E.EpisodeNo, max(1, length(mepno)), '0') + version)
if(E.TypeId=2, set('epno', 'S'+epno))
if(E.TypeId=3, set('epno', 'C'+epno))
if(E.TypeId=4, set('epno', 'T'+epno))
if(E.TypeId=5, set('epno', 'P'+epno))
if(E.TypeId=6, set('epno', 'O'+epno))
set('groupname', if(G, if(length(G.Shortname)>0, G.Shortname, G.Name), 'no group'))
set('groupname', if(length(groupname)>0, '['+groupname+']'))
set('groupname', replace(groupname, '\', ' '))
set('crc', if(H, H.Crc32, F.Crc))
if(length(crc)>0, set('crc', '('+uc(crc)+')'))
set('filename', limit(limit(limit(atitle, 90) + ' - ' + epno + ' - ' + etitle, 200) + ' ' + groupname, 235) + crc + '.' + F.FileType)
set('filename', replace(filename, '*', ' '))
set('filename', replace(filename, '/', ' '))
set('filename', replace(filename, '?', ' '))
set('filename', replace(filename, ':', ' '))
set('filename', replace(filename, '"', ' '))
set('filename', replace(filename, '<', ' '))
set('filename', replace(filename, '>', ' '))
set('filename', replace(filename, '|', ' '))
set('filename', replace(filename, '`', "'"))
set('filename', replace(filename, '  ', ' '))
filename

ATTENTION! The default pattern has a bug. To fix it, find the following line:

set('mepno', max(A.TotalEpisodeCount, E.EpisodeTypeCount))

And replace it with:

set('mepno', if(E.TypeId=1, max(A.TotalEpisodeCount, E.EpisodeTypeCount), E.EpisodeTypeCount))

Sample with subfolders

Output: A\Animename\Animename - 05 [Group][source](CCRCCRCC).mkv

and when you have less than 4 files
Output: A\Animename - S03v2 [Group][source](CCRCCRCC).mkv

and when you watch it for the plot
Output: Hentai\P\Plotname\Plotname - 123 [Group][source](CCRCCRCC).mkv

Warning! You must specify the "Base folder" in Options -> File manager for this to work.

// Anime title
set('atitle', at('x-jat'))
if(length(atitle)=0, set('atitle', at('en')))
if(length(atitle)=0, set('atitle', A.Name))
set('atitle', replace(atitle, '\', ' '))
if(start(atitle, '.'), set('atitle', copy(atitle, 2, length(atitle))))
set('atitle', replace(atitle, '...', ''))
set('atitle', replace(atitle, '1/2', '½'))
set('atitle', trim(atitle))
set('uncensored', (F.State and 64) > 1)
set('censored', (F.State and 128) > 1)

// Episode title
set('etitle', et('en'))
if(length(etitle)=0, set('etitle', et('x-jat')))
if(length(etitle)=0, set('etitle', et('ja')))
if(length(etitle)=0, set('etitle', E.Name))
set('etitle', replace(etitle, '\', ' '))
set('etitle', replace(etitle, '...', ''))
set('etitle', trim(etitle))

// Version
set('version', if(F.Version>1, 'v'+F.Version, ''))
set('v2n', version)

// Episode number and prefix
set('mepno', if(E.TypeId=1, max(A.TotalEpisodeCount, E.EpisodeTypeCount), E.EpisodeTypeCount))
set('epno', padl(E.EpisodeNo, max(1, length(mepno)), '0') + version)
if(E.TypeId=2, set('epno', 'S'+epno))
if(E.TypeId=3, set('epno', 'C'+epno))
if(E.TypeId=4, set('epno', 'T'+epno))
if(E.TypeId=5, set('epno', 'P'+epno))
if(E.TypeId=6, set('epno', 'O'+epno))

// Group name
set('groupname', if(G, if(length(G.Shortname)>0, G.Shortname, G.Name), 'no group'))
set('groupname', if(length(groupname)>0, '['+groupname+']'))
set('groupname', replace(groupname, '\', ' '))

// CRC
set('crc', if(H, H.Crc32, F.Crc))
if(length(crc)>0, set('crc', '('+uc(crc)+')'))

// piece together the file name
set('filename', limit(limit(atitle, 70) + ' - ' + epno + ' ' + groupname, 145) + '[' + F.Source + ']' +crc + '.' + F.FileType)

// Folder for first letter in anime title
set('head', copy(atitle, 1, 1))
if(numeric(head) or (head='.'), set('head', '0-9'))
set('head', head+'\')

// Subfolder for anime if there's more than 2 files
if ((A.MylistCurrentEpisodeCount + A.MylistSpecialEpisodeCount) > 2, set('head', head + limit(atitle, 80)  + '\'))

// Prepend a subfolder for plot
set('filename', if(A.Restricted, 'Hentai\') + head + filename)

// remove invalid characters
set('filename', replace(filename, '*', ' '))
set('filename', replace(filename, '/', ' '))
set('filename', replace(filename, '?', ' '))
set('filename', replace(filename, ':', ' '))
set('filename', replace(filename, '"', ' '))
set('filename', replace(filename, '<', ' '))
set('filename', replace(filename, '>', ' '))
set('filename', replace(filename, '|', ' '))
set('filename', replace(filename, '`', "'"))
set('filename', replace(filename, '  ', ' '))

filename

[Group] Anime name - 01v2 [CCRCCRCC].ext

set('atitle', at('x-jat'))
if(length(atitle)=0, set('atitle', at('en')))
if(length(atitle)=0, set('atitle', A.Name))
set('atitle', replace(atitle, '\', ' '))
set('version', if(F.Version>1, 'v'+F.Version, ''))
set('mepno', if(E.TypeId=1, max(A.TotalEpisodeCount, E.EpisodeTypeCount), E.EpisodeTypeCount))
set('epno', padl(E.EpisodeNo, max(1, length(mepno)), '0') + version)
if(E.TypeId=2, set('epno', 'S'+epno))
if(E.TypeId=3, set('epno', 'C'+epno))
if(E.TypeId=4, set('epno', 'T'+epno))
if(E.TypeId=5, set('epno', 'P'+epno))
if(E.TypeId=6, set('epno', 'O'+epno))
set('crc', if(H, H.Crc32, F.Crc))
if(length(crc)>0, set('crc', '['+uc(crc)+']'))
set('groupname', if(G, if(length(G.Shortname)>0, G.Shortname, G.Name), 'no group'))
set('groupname', if(length(groupname)>0, '['+groupname+']'))
set('groupname', replace(groupname, '\', ' '))
set('filename', limit(limit(limit(groupname, 90) + ' ' + atitle, 200) + ' - ' + epno, 235) + ' ' + crc + '.' + F.FileType)
set('filename', replace(filename, '*', ' '))
set('filename', replace(filename, '/', ' '))
set('filename', replace(filename, '?', ' '))
set('filename', replace(filename, ':', ' '))
set('filename', replace(filename, '"', ' '))
set('filename', replace(filename, '<', ' '))
set('filename', replace(filename, '>', ' '))
set('filename', replace(filename, '|', ' '))
set('filename', replace(filename, ''', "'"))
set('filename', replace(filename, '  ', ' '))
filename

Main_title_-_01v2_[Group][CCRCCRCC].ext

set('atitle', at('x-jat'))
if(length(atitle)=0, set('atitle', at('95')))
if(length(atitle)=0, set('atitle', at('87')))
if(length(atitle)=0, set('atitle', at('en')))
if(length(atitle)=0, set('atitle', A.Name))
set('atitle', replace(atitle, '\', '_'))
set('etitle', et('en'))
if(length(etitle)=0, set('etitle', et('x-jat')))
if(length(etitle)=0, set('etitle', et('en')))
if(length(etitle)=0, set('etitle', E.Name))
set('etitle', replace(etitle, '\', '_'))
set('version', if(F.Version>1, 'v'+F.Version, ''))
set('mepno', if(E.TypeId=1, max(A.TotalEpisodeCount, E.EpisodeTypeCount), E.EpisodeTypeCount))
set('epno', padl(E.EpisodeNo, max(1, length(mepno)), '0') + version)
if(E.TypeId=2, set('epno', 'S'+epno))
if(E.TypeId=3, set('epno', 'C'+epno))
if(E.TypeId=4, set('epno', 'T'+epno))
if(E.TypeId=5, set('epno', 'P'+epno))
if(E.TypeId=6, set('epno', 'O'+epno))
set('groupname', if(G, if(length(G.Shortname)>0, G.Shortname, G.Name), 'no group'))
set('groupname', if(length(groupname)>0, '['+groupname+']'))
set('groupname', replace(groupname, '\', '_'))
set('crc', if(H, H.Crc32, F.Crc))
if(length(crc)>0, set('crc', '['+uc(crc)+']'))
set('filename', limit(limit(limit(atitle, 90) + '_-_' + epno, 200) + '_' + groupname, 235) + crc + '.' + F.FileType)
set('filename', replace(filename, '*', '_'))
set('filename', replace(filename, '/', '_'))
set('filename', replace(filename, '?', '_'))
set('filename', replace(filename, ':', '_'))
set('filename', replace(filename, '"', '_'))
set('filename', replace(filename, '<', '_'))
set('filename', replace(filename, '>', '_'))
set('filename', replace(filename, '|', '_'))
set('filename', replace(filename, '`', '_'))
set('filename', replace(filename, '  ', '_'))
set('filename', replace(filename, ' ', '_'))
set('filename', replace(filename, '__', '_'))
filename