MyList export template guidelines: Difference between revisions

From AniDB
Jump to navigation Jump to search
 
(64 intermediate revisions by 7 users not shown)
Line 1: Line 1:
This page will try to give some pointers in to Mylist Export Template creation.
{{TOCright}}
 
This page will try to give some pointers in to MyList Export Template creation.


== Frequently Asked Questions ==
== Frequently Asked Questions ==
; What are Mylist Exports?  
=== What are MyList Exports? ===
: Mylist exports are a way to export your mylist, providing offline browsing capabilites, it's like a snapshot of the state of your mylist at the moment you requested the export.
: MyList exports are a way to export your MyList, providing off-line browsing capabilities, it's like a snapshot of the state of your MyList at the moment you requested the export.
; Can i create my own template?  
=== Can I create my own template? ===
: Yes, this page should help you starting with your own template.
: Yes, this page should help you starting with your own template.
; What are the requirements for building a template?  
=== What are the requirements for building a template? ===
: Well, the only true *requirement* is a text editor, though if you wan't to test your template before submiting you will need Perl (v5.8.8+) to use the SDK.
: Well, the only true *requirement* is a text editor, though if you want to test your template before submitting you will need Perl (v5.8.8+) to use the SDK.
; Can I include images, external stylesheets/javascript files with my templates?  
=== Include images, ext. stylesheets/JavaScript files with templates? ===
: Yes, you can copy stylesheet or javascript files directly into the template directory.
: Yes, you can even include subdirectories but please try to keep the size low.
: However images should be placed in a seperate zip file and will be hosted on anidb and linked on the export page for seperate download.
 
: You also can't include subdirectories, you have to copy the files directly into the directory of your template.
=== How do I create files other than .htm? ===
; How do i create files other than .htm?  
: Take a look at the csv-minimal theme. You need to create a file called extension.dat which only contains the desired extension, _without_ the dot!
: Take a look at the csv-minimal theme. You need to create a file called extension.dat which only contains the desired extension, _without_ the dot!
; What is that info.dat file?  
=== What is that info.dat file? ===
: It's ment to provide the user with a short info about the template. The content should not be too long but is otherwise left to the author of the template.
: It's meant to provide the user with a short info about the template. The content should not be too long but is otherwise left to the author of the template.
: However, it is strongly recommended to begin the file with 3 special lines:
: However, it is strongly recommended to begin the file with 3 special lines:
:: (C) 2003 by EXP
:: (C) 2003 by EXP
Line 25: Line 26:
:: 3. one empty line
:: 3. one empty line


== About the SDK ==
=== About this SDK ===
: This SDK is meant to allow you to test your templates for the AniDB MyList export function on your own pc. It should work under Windows and Linux. You might need to install some additional software (see bellow for Installing Perl).
=== Current version and where to get ===
: Current release of the SDK is '''0.13.4''', get here: http://static.anidb.net/files/anidb_template_sdk_0.13.4.rar
: Current version of the SDK on SVN is '''0.13.5'''.


== About the SDK ==
=== Resources ===
: {{ForumLink|20|The new development forum}}
: [http://forum.anidb.net/viewforum.php?f=11 The old development forum] ''(old forum)''
: {{OldThreadLink|429|The SDK thread}}
: [http://static.anidb.net/files/anidb_icon_pack.rar Image pack]


; About this SDK
=== Installing Perl ===
: This SDK is ment to allow you to test your templates for the anidb mylist export function on your own pc. It should work under Windows and Linux. You might need to install some additional software (see bellow for Installing Perl).
: This program needs Perl to create example html files from the templates. If you don't have Perl installed (preferably 5.8.8) you'll need to do so now.
; Current version and where to get
: Under Windows you'll need to download ActivePerl 5.8.8.820+ from activeperl.com:
: Current version of the SDK is '''0.10b''', get here: http://anidb.info/dev/anidb_template_sdk_0.10.tar.bz2
:: http://www.activestate.com/activeperl/downloads
; Resources
: The development forum, here: http://www.anidb.net/forum/viewforum.php?f=11
: The SDK thread, here: http://www.anidb.net/forum/viewtopic.php?t=429
; Installing Perl
: This programm needs Perl to create example html files from the templates. If you don't have Perl installed (preferably 5.8.8) you'll need to do so now.
: Under Windows you'll need to download ActivePerl 5.8.0+ from activeperl.com:
:: http://downloads.activestate.com/ActivePerl/Windows/5.8/
:: Install it to c:\perl (or some other directory, but remember where you installed it!).
:: Install it to c:\perl (or some other directory, but remember where you installed it!).
: Under Linux it should already be installed. If not get it from:
: Under Linux it should already be installed. If not get it from the link above.
:: http://downloads.activestate.com/ActivePerl/Linux/5.8/
 
: You might have to update Sharable though, try the following:
: If you are not using 5.8.8.820 it's possible you need to update Storable, try the following:
:: perl -MCPAN -eshell
:: perl -MCPAN -eshell
:: install Storable
:: install Storable
:: bye
:: bye
; Additional Module HTML-Template-Expr  
{{eyecatch|1|Note|If you installed 5.8.8.820 '''don't''' overwrite Perl's copy of Storable with the one in the SDK.}}
 
=== Additional Module HTML::Template::Expr ===
: Under Windows with ActivePerl go to it's startmenu entry (might be called "ActiveState ActivePerl 5.8") and start "Perl Package Manager". Then enter
: Under Windows with ActivePerl go to it's startmenu entry (might be called "ActiveState ActivePerl 5.8") and start "Perl Package Manager". Then enter
:: install HTML-Template-Expr
:: install HTML-Template-Expr
Line 57: Line 64:
: (export.pl takes one parameter which is the name of the template to use)
: (export.pl takes one parameter which is the name of the template to use)


: Note: you can get more information about the HTML::Template::Expr here: http://html-template.sourceforge.net/html_template_expr.html
{{eyecatch|1|Note|You can get more information about the HTML::Template::Expr here: http://html-template.sourceforge.net/html_template_expr.html}}
; Changelog  
 
: Read here [[Mylist_export_SDK_changelog]]
=== Changelog ===
: Read here [[Mylist export SDK changelog]]
 
== GIT Access ==
[[AniDB:Mylist_export_DEV]]


== Template HowTo ==
== Template HowTo ==


Well, here's all you need to write templates for the mylist export function.
Well, here's all you need to write templates for the MyList export function.<br>
We really need better templates!
We really need better templates!
A theme consist out of one or multiple tpl files. Those are called:
A theme consist out of one or multiple tpl files. Those are called:
* mylist.tpl - (mandatory)
* anime.tpl - (optional)
* extension.dat - (optional)
* info.dat - (mandatory)
* changelog.txt - (optional)


mylist.tpl - (mandatory)
All files, if possible, in Unix format. But dos format doesn't hurt either, I'll convert them, in that case.<br>
anime.tpl - (optional)
The export script will parse the mylist.tpl file and create one output file called i.e. mylist.htm. So mylist.tpl get's parsed only once (because you only have one MyList).<br>
extension.dat - (optional)
However anime.tpl will be parsed once for every anime in your MyList. And for each a unique file will be created. The default file extension for the output files is "htm", however if you create a file called "extension.dat" and put only the extension in the first line of the file, i.e. "txt" then that extension will be used.
info.dat - (mandatory)
changelog.txt - (optional)
 
All files, if possible, in unix format. But dos format doesn't hurt either, I'll convert them, in that case.
The export script will parse the mylist.tpl file and create one output file called i.e. mylist.htm. So mylist.tpl get's parsed only once (because you only have one mylist).
However anime.tpl will be parsed once for every anime in your mylist. And for each a unique file will be created. The default file extension for the output files is "htm", however if you create a file called "extension.dat" and put only the extension in the first line of the file, i.e. "txt" then that extension will be used.


The file info.dat should contain at least the following 3 lines:
The file info.dat should contain at least the following 3 lines:<br>
     (C) 2003 by EXP
     (C) 2003 by EXP
     Version: 0.01 (08.07.2003)
     Version: 0.01 (08.07.2003)


1. copyright of the template author, you may include your email address here
1. copyright of the template author, you may include your email address here<br>
2. version number and date
2. version number and date<br>
3. one empty line
3. one empty line


The rest may be used for a short description of the template.
The rest may be used for a short description of the template.<br>
Please do not include the changelog in your info.dat file, instead create a seperate changelog.txt file and put your changelog there.
Please do not include the changelog in your info.dat file, instead create a separate changelog.txt file and put your changelog there.


Please also note that the content of the info.dat will be displayed on the AniDB MyList Export Page, so please make sure that your additional info is acutally of interest to AniDB users who are trying to decide which theme to use.
Please also note that the content of the info.dat will be displayed on the AniDB MyList Export Page, so please make sure that your additional info is actually of interest to AniDB users who are trying to decide which theme to use.


The export script will create the file (i.e.) mylist.htm and if anime.tpl was provided a folder "anime" where for each anime a file "a<animeid>.htm" will be created.
The export script will create the file (i.e.) mylist.htm and if anime.tpl was provided a folder "anime" where for each anime a file "a<animeid>.htm" will be created.<br>
This can be used to created a linked animelist instead of one huge single html file with all data in it.
This can be used to created a linked animelist instead of one huge single html file with all data in it.<br>
The tpl files are simple plaintext or html files. So just put normal html code in them.
The tpl files are simple plain text or html files. So just put normal html code in them.


The export function uses the HTML::Template perl module to create the output.  
The export function uses the HTML::Template Perl module to create the output.<br>
This means you have to use some special tags:
This means you have to use some special tags:


Line 104: Line 115:
==== Example 2 ====
==== Example 2 ====
; <tmpl_if name=status_anime_iswatched>anime is watched<tmpl_else>anime is unwatched</tmpl_if>
; <tmpl_if name=status_anime_iswatched>anime is watched<tmpl_else>anime is unwatched</tmpl_if>
: This is a simple if/else statement. This would write "anime is watched" or "anime is unwatched" into the resulting html file. Note that you can only check if a variable is defined, it is not possible to compare values. All variables begining with status_ are meant to be used in ifs. They are either 0 or 1.
: This is a simple if/else statement. This would write "anime is watched" or "anime is unwatched" into the resulting html file. Note that you can only check if a variable is defined, it is not possible to compare values. All variables beginning with status_ are meant to be used in ifs. They are either 0 or 1.


==== Example 3 ====
==== Example 3 ====
Line 118: Line 129:


==== Example 5 ====
==== Example 5 ====
; You will also need loops to create a usefull template. What are loops?
; You will also need loops to create a useful template. What are loops?
: Well, to create html tables there will be some parts of the html code (mostly table rows) which need to be repeated over and over again and filled with anime/ep/file info.
: Well, to create html tables there will be some parts of the html code (mostly table rows) which need to be repeated over and over again and filled with anime/ep/file info.
: This is specified like this:
: This is specified like this:
Line 140: Line 151:


; global_user : AniDB Username
; global_user : AniDB Username
 
; global_user_id : AniDB Username ID
; global_date : Date of creation (i.e. 02.08.2003 12:18)
; global_date : Date of creation (i.e. 02.08.2003 12:18)
; global_date_short : Short date of creation (i.e. 02.08.03)
; global_date_short : Short date of creation (i.e. 02.08.03)
 
; global_animecount : Number of anime in MyList
; global_animecount : Number of animes in mylist
; global_totalepcount : Total number of episodes in MyList, including both normal and special episodes
 
; global_epcount : Number of <u>normal</u> episodes in MyList
; global_epcount : Number of episodes in mylist
:''Normal excludes special episodes, such as S, C, T, O, and P episodes''
 
; global_spcount : Number of <u>special</u> episodes in MyList
; global_filecount : Number of files in mylist
:''Special episodes only, such as S, C, T, O, and P episodes''
 
; global_filecount : Number of files in MyList
; global_bytecount : Overall size of all files in mylist in Bytes
; global_bytecount : Overall size of all files in MyList in Bytes
 
; global_bytecount_h : Same as global_bytecount but in kB, MB, GB, ...
; global_bytecount_h : Same as global_bytecount but in kB, MB, GB, ...
 
; global_animedburl : URL to animedb, <nowiki>http://..../animedb.pl</nowiki>
; global_animedburl : URL to animedb, http://..../animedb.pl
; global_userstat_animeadded : Anime entries added by user to DB
 
; global_userstat_epsadded : Episode entries added by user to DB
; global_userstat_animeadded : Anime entries added by user to db
; global_userstat_filesadded : Files added by user to DB
 
; global_userstat_groupsadded : Group entries added by user to DB
; global_userstat_epsadded : Episode entries added by user to db
 
; global_userstat_filesadded : Files added by user to db
 
; global_userstat_groupsadded : Group entries added by user to db
 
; global_userstat_lamefiles : Number of lame files user owns
; global_userstat_lamefiles : Number of lame files user owns
 
; global_userstat_lamefilesp : Percentage of lame files in MyList
; global_userstat_lamefilesp : Percentage of lame files in mylist
 
; global_userstat_independencep : Percentage of independence ([[AniDB_Stats:Most_Independent_User]])
; global_userstat_independencep : Percentage of independence ([[AniDB_Stats:Most_Independent_User]])
; global_userstat_leechp : Percentage of leechness ([[AniDB_Stats:Biggest_Leech0r]])
; global_userstat_leechp : Percentage of leechness ([[AniDB_Stats:Biggest_Leech0r]])
; global_userstat_reviews : Total reviews written by user
; global_userstat_reviews : Total reviews written by user
; global_userstat_votes : Number of votes issued by user
; global_userstat_votes : Number of votes issued by user
; global_userstat_totalviewedp : Percentage of viewed episodes, from all DB
; global_userstat_totalownedp : Percentage of owned episodes, from all DB
; global_userstat_ownviewedp : Percentage of viewed episodes, from MyList
; global_userstat_viewedepcnt : Number of viewed episodes, from MyList


; global_userstat_totalviewedp : Percentage of viewed episodes, from all db
----
 
; global_userstat_totalownedp : Percentage of owned episodes, from all db
 
; global_userstat_ownviewedp : Percentage of viewed episodes, from mylist


; global_userstat_viewedepcnt : Number of viewed episodes, from mylist
==== global_genren_loop ====
<tt>New global loop for the cat system</tt>
<tt>NOTES: you should try to limit the usage of this loop to mylist.tpl</tt>
; global_genren_id : cat id
; global_genren_name : cat name
; global_genren_parentid : cat parent id
; global_genren_ishentai : is cat 18+ restricted


----
----
Line 192: Line 196:
<tt>loop for anime entries</tt>
<tt>loop for anime entries</tt>
; data_anime_id : AniDB ID for anime entry
; data_anime_id : AniDB ID for anime entry
; data_anime_eps : Total of episodes
; data_anime_eps : Total of episodes
 
; data_anime_eps_special : Total number of special episodes
; data_anime_eps_total : Total number of episodes
; data_anime_year : Year of release/airing
; data_anime_year : Year of release/airing
; data_anime_producer : '''[deprecated]''' Producer
; data_anime_producer : '''[deprecated]''' Producer
; data_anime_url : Official home page
; data_anime_url : Official home page
; data_anime_other : Anime synopsis
; data_anime_other : Anime synopsis
 
; data_anime_date : Date of addition to DB
; data_anime_date : Date of addition to db
; data_anime_date_short : Short date of addition to DB
 
; data_anime_update : Last update date (in Unix time format)
; data_anime_date_short : Short date of addition to db
 
; data_anime_update : Last update date (in unix time format)
 
; data_anime_update_short : Last update short date
; data_anime_update_short : Last update short date
; data_anime_startdate : Start airing/release date
; data_anime_startdate : Start airing/release date
; data_anime_startdate_short : Short start airing/release date
; data_anime_startdate_short : Short start airing/release date
; data_anime_enddate : End airing/release date
; data_anime_enddate : End airing/release date
; data_anime_enddate_short : Short end airing/release date
; data_anime_enddate_short : Short end airing/release date
; data_anime_rating : Average rating
; data_anime_rating : Average rating
; data_anime_votes : Total votes
; data_anime_votes : Total votes
; data_anime_tmprating : Average temporal rating
; data_anime_tmprating : Average temporal rating
; data_anime_tmpvotes : Total temporal votes
; data_anime_tmpvotes : Total temporal votes
; data_anime_reviewrating : Average review rating
; data_anime_reviewrating : Average review rating
; data_anime_reviews : Number of reviews
; data_anime_reviews : Number of reviews
; data_anime_type_id : Anime type ID (see ids.txt)
; data_anime_type_id : Anime type ID (see ids.txt)
; data_anime_type_name : Anime type name
; data_anime_type_name : Anime type name
 
; data_anime_animenfoid : Old AnimeNfo ID (i.e. 954)
; data_anime_animenfoid : Old AnimeNFO ID (i.e. 954)
; data_anime_animenfoid2 : New AnimeNfo ID (i.e. klmgzk)
 
; data_anime_animenfourl : Complete AnimeNfo URL (without <a href="">, just a plain URL)
; data_anime_animenfoid2 : New AnimeNFO ID (i.e. klmgzk)
; data_anime_animenfourl_name : AnimeNfo link name as displayed at AniDB (i.e. "ID: 954" or "ID: 954,klmgzk")
 
; data_anime_animenfourl : Complete AnimeNFO url (without <a href="">, just a plain url)
 
; data_anime_animenfourl_name : AnimeNFO link name as displayed at AniDB (i.e. "ID: 954" or "ID: 954,klmgzk")
 
; data_anime_annid : Anime News Network ID
; data_anime_annid : Anime News Network ID


''If only one file is present for an anime the following variables will have the same values as the ones for that file, if there is more than one file and all files have the same mystate it will match those. in any other case the mystate is undef''
''If only one file is present for an anime the following variables will have the same values as the ones for that file, if there is more than one file and all files have the same mystate it will match those. in any other case the mystate is undef''
; data_anime_mystate : State of anime files (undef=-1, unknown=0, on hdd=1, on cd=2, deleted=3)
; data_anime_mystate : State of anime files (undef=-1, unknown=0, on hdd=1, on cd=2, deleted=3)
; data_anime_mystate_string : String representation of state (i.e. "unknown" or "on cd")
; data_anime_mystate_string : String representation of state (i.e. "unknown" or "on CD")
; data_anime_mystate_icon : AniDB url to state icon (img tag already included)
; data_anime_mystate_icon : AniDB URL to state icon (img tag already included)
; data_anime_wishlist_type : Wishlist type ID (0="unknown / unfiled", 1="to watch", 2="to get", 3="blacklist"),
; data_anime_wishlist_type : Wishlist type ID (0="unknown / unfiled", 1="to watch", 2="to get", 3="blacklist"),
; data_anime_wishlist_type_name : Wishlist type name
; data_anime_wishlist_type_name : Wishlist type name
Line 260: Line 240:
; data_anime_my_tmpvote_date : Date when temp vote for anime was last changed
; data_anime_my_tmpvote_date : Date when temp vote for anime was last changed
; data_anime_my_tmpvote_date_short : Same, short version
; data_anime_my_tmpvote_date_short : Same, short version
; data_anime_annurl : Anime News Network url
; data_anime_annurl : Anime News Network URL
; data_anime_allcinemaid : AllCinema ID
; data_anime_allcinemaid : AllCinema ID
; data_anime_allcinemaurl : AllCinema url
; data_anime_allcinemaurl : AllCinema URL
; data_anime_animeplanetid : Anime-Planet ID (i.e. 415)
; data_anime_animeplanetid : Anime-Planet ID (i.e. 415)
; data_anime_animeplaneturl : Anime-Planet Recomendation url
; data_anime_animeplaneturl : Anime-Planet Recommendation URL
; data_anime_my_eps : Number of non-special episodes in mylist
; data_anime_my_eps : Number of non-special episodes in MyList
; data_anime_my_eps_special : Number of special episodes in mylist
; data_anime_my_eps_special : Number of special episodes in MyList
; data_anime_my_eps_total : Number of non-special and special episodes in mylist
; data_anime_my_eps_total : Number of non-special and special episodes in MyList
; data_anime_my_watchedeps : Number of watched episodes
; data_anime_my_watchedeps : Number of watched episodes
; data_anime_my_watchedeps_special : Number of watched specials
; data_anime_my_watchedeps_special : Number of watched specials
Line 274: Line 254:
; data_anime_my_unwatchedeps_special : Number of unwatched specials
; data_anime_my_unwatchedeps_special : Number of unwatched specials
; data_anime_my_unwatchedeps_total : Total number of unwatched episodes and specials
; data_anime_my_unwatchedeps_total : Total number of unwatched episodes and specials
; data_anime_my_size : Overall size of all anime files in mylist in Bytes
; data_anime_my_size : Overall size of all anime files in MyList in Bytes
; data_anime_my_size_h : Same as data_anime_my_size but in kB, MB, GB, ...
; data_anime_my_size_h : Same as data_anime_my_size but in kB, MB, GB, ...
; data_anime_name : Default anime title (mostly japanese romaji), always present
; data_anime_name : Default anime title (mostly Japanese romaji), always present
; data_anime_title_jap_kanji : Anime title in japanese kanji, optional
; data_anime_name_langname : Language name (ie: Japanese)
; data_anime_title_eng : Anime title in english, optional
; data_anime_name_langsname : Language shortname (i.e.: ja)
; data_anime_title_jap_kanji : Anime title in Japanese kanji, optional
; data_anime_title_eng : Anime title in English, optional
; data_anime_title_other : Other official title in another language, optional
; data_anime_title_other : Other official title in another language, optional
; data_anime_awardicons : Ready to use html string which displays the little award icons from AniDB. Empty string if no awards are present.
; data_anime_awardicons : Ready to use html string which displays the little award icons from AniDB. Empty string if no awards are present.
Line 286: Line 268:
===== loop_anime_genren =====
===== loop_anime_genren =====
<tt>loop for new genres (categories)</tt>
<tt>loop for new genres (categories)</tt>
; data_anime_genren_id : Genre (Category) ID
; data_anime_genren_id : Genre (Category) ID
; data_anime_genren_name : Genre (Category) name
; data_anime_genren_name : Genre (Category) name
; data_anime_genren_parentid : Parent genre (category) ID
; data_anime_genren_parentid : Parent genre (category) ID
; data_anime_genren_ishentai : This genre (category) is hentai related
; data_anime_genren_ishentai : This genre (category) is hentai related
; data_anime_genren_weight : Weight of the category
; data_anime_genren_weight_name : Textual notation of the category weight


----
----
Line 299: Line 279:
===== loop_anime_tag =====
===== loop_anime_tag =====
<tt>loop for user defined tags</tt>
<tt>loop for user defined tags</tt>
; data_anime_tag_id : Tag ID
; data_anime_tag_id : Tag ID
; data_anime_tag_name : Tag name
; data_anime_tag_name : Tag name
; data_anime_tag_date : Date of creation
; data_anime_tag_date : Date of creation


Line 310: Line 287:
===== loop_anime_company =====
===== loop_anime_company =====
<tt>loop for all involved companies</tt>
<tt>loop for all involved companies</tt>
; data_anime_company_id : Company ID
; data_anime_company_id : Company ID
; data_anime_company_name : Company name
; data_anime_company_name : Company name
; data_anime_company_shortname : Company short name
; data_anime_company_shortname : Company short name
; data_anime_company_othername : Company other name
; data_anime_company_othername : Company other name
; data_anime_company_type : Company type ID (see ids.txt)
; data_anime_company_type : Company type ID (see ids.txt)
; data_anime_company_url : Company URL
; data_anime_company_picurl : Company logo URL
; data_anime_company_aptype : Company role for the anime (see ids.txt)
; data_anime_company_type_name : company type string (company, organization, individual, etc.)
; data_anime_company_aptype_name : company relation to given anime string (production, music, etc.)


; data_anime_company_url : Company url
----


; data_anime_company_picurl : Company logo url
===== loop_anime_title_official =====
<tt>loop for official titles</tt>


; data_anime_company_aptype : Company role for the anime (see ids.txt)
; data_anime_title_official_name : Official title (data_anime_name is not included, data_anime_title_jap_kanji and data_anime_title_eng are included)
; data_anime_title_official_langid : Language ID
; data_anime_title_official_langname : Language name (ie: Japanese)
; data_anime_title_official_langsname : Language shortname (ie: ja)


----
----
Line 333: Line 314:


; data_anime_title_alias_name : Synonyms (data_anime_name and data_anime_title_* are not included)
; data_anime_title_alias_name : Synonyms (data_anime_name and data_anime_title_* are not included)
; data_anime_title_alias_langid : Language ID
; data_anime_title_alias_langname : Language name (ie: Japanese)
; data_anime_title_alias_langsname : Language shortname (ie: ja)


----
----
Line 340: Line 324:


; data_anime_title_short_name : Short titles
; data_anime_title_short_name : Short titles
; data_anime_title_short_langid : Language ID
; data_anime_title_short_langname : Language name (ie: Japanese)
; data_anime_title_short_langsname : Language shortname (ie: ja)
===== loop_anime_titles =====
<tt>loop for all titles</tt>
; data_anime_title_name : Title
; data_anime_title_langid : Language ID
; data_anime_title_type_id : Type ID (1 = main, 2 = syn, 3 = short, 4 = official)
; data_anime_title_type_string : Type name (main, syn, short, official)
; data_anime_title_langname : Language name (ie: Japanese)
; data_anime_title_langsname : Language shortname (ie: ja)


----
----
Line 349: Line 346:


; data_anime_award_type_id : Award type ID
; data_anime_award_type_id : Award type ID
; data_anime_award_type_name : Award type name
; data_anime_award_type_name : Award type name
; data_anime_award_type_img : Award type image (full html image tag)
; data_anime_award_type_img : Award type image (full html image tag)


Line 362: Line 357:


; data_anime_award_id : Award ID
; data_anime_award_id : Award ID
; data_anime_award_name : Award name
; data_anime_award_name : Award name
; data_anime_award_type : Award type
; data_anime_award_type : Award type
 
; data_anime_award_url : Award URL (URL assigned to this award, i.e. overview over all awards of this type)
; data_anime_award_url : Award URL (url assigned to this award, i.e. overview over all awards of this type)
; <strike>data_anime_award_picurl : URL to pic only</strike> [this was removed since AniDB v0.1.47]
 
; data_anime_award_picurl : URL to pic only


----
----
Line 377: Line 368:


; data_anime_genre_id : Genre ID
; data_anime_genre_id : Genre ID
; data_anime_genre_name : Genre name
----
===== loop_anime_groups =====
<tt>loop of anime groups</tt>
; data_anime_group_id : Group ID
; data_anime_group_agid : Group AGID
; data_anime_group_name : Group name
; data_anime_group_sname : Group shortname
; data_anime_group_state : Group state (complete, dropped, etc)
; data_anime_group_lastep : Last episode released
; data_anime_group_lastup : Last update date (dd.mm.yyyy hh:mm)
; data_anime_group_votes : Number of votes
; data_anime_group_rating : Rating
; data_anime_group_cmts : Number of comments
; data_anime_group_epcnt : Normal episode count
; data_anime_group_sepcnt : Specials count (S + O + C + T + P eps)
; data_anime_group_myvote : My vote or '-' if none
; data_anime_group_myvote_date : My vote date (dd.mm.yyyy hh:mm)
; data_anime_group_eprange : episode range for a given group (as in AniDB)
----
====== data_anime_group_alangs_loop ======
<tt>loops group audio languags</tt>
; data_anime_group_alang_id : audio language id (i.e.: 1)
; data_anime_group_alang_name : audio language name (Chinese, English, etc)
; data_anime_group_alang_sname : audio language short name (ja, ne, etc)
----
====== data_anime_group_slangs_loop ======
<tt>loops group subtitle languags</tt>


; data_anime_genre_name : Genre name
; data_anime_group_slang_id : sub language id (i.e.: 1)
; data_anime_group_slang_name :sub language name (Chinese, English, etc)
; data_anime_group_slang_sname : sub language short name (ja, ne, etc)


----
----
Line 385: Line 413:
; status_anime_iscomplete : Anime is complete (0/1)
; status_anime_iscomplete : Anime is complete (0/1)
; status_anime_iswatched : Anime is completely watched (0/1)
; status_anime_iswatched : Anime is completely watched (0/1)
; status_anime_genre_<genrename> : '''[deprecated]''' i.e. status_anime_genre_action = 1, if the anime has genre action added. Genres are all lowercase and spaces are replaced with _.
; status_anime_genre_<genrename> : '''[deprecated]''' i.e. status_anime_genre_action = 1, if the anime has genre action added. Genres are all lower case and spaces are replaced with _.
; status_anime_my_isvoted : User voted for this anime (0/1)
; status_anime_my_isvoted : User voted for this anime (0/1)
; status_anime_my_istmpvoted : User temporally voted for this anime (0/1)
; status_anime_my_istmpvoted : User temporally voted for this anime (0/1)
; status_anime_mystate_undef : Has undefined state (0/1)
; status_anime_mystate_undef : Has undefined state (0/1)
; status_anime_mystate_unknown : Has unknwon state (0/1)
; status_anime_mystate_unknown : Has unknown state (0/1)
; status_anime_mystate_onhdd : Has onhdd state (0/1)
; status_anime_mystate_onhdd : Has onhdd state (0/1)
; status_anime_mystate_oncd : Has oncd state (0/1)
; status_anime_mystate_oncd : Has oncd state (0/1)
Line 397: Line 425:
; status_anime_title_has_other : Has other title (0/1)
; status_anime_title_has_other : Has other title (0/1)
; status_anime_title_has_jap_kanji : Has kanji title (0/1)
; status_anime_title_has_jap_kanji : Has kanji title (0/1)
; status_anime_title_has_eng : Has english title (0/1)
; status_anime_title_has_eng : Has English title (0/1)
; status_anime_allcinema_listed : All Cinema is listed (0/1)
; status_anime_allcinema_listed : All Cinema is listed (0/1)
; status_anime_animeplanet_listed : Anime-Planet is listed (0/1)
; status_anime_animeplanet_listed : Anime-Planet is listed (0/1)
; status_anime_ann_listed : Anime News Network is listed (0/1)
; status_anime_ann_listed : Anime News Network is listed (0/1)
; status_anime_isrestricted : Anime has +18 restricted audience (0/1)


----
----
Line 407: Line 436:
<tt>loop for episodes</tt>
<tt>loop for episodes</tt>
; data_ep_id : Episode ID (as in DB)
; data_ep_id : Episode ID (as in DB)
; data_ep_epno : Episode number
; data_ep_epno : Episode number
; data_ep_name : Episode name
; data_ep_name : Episode name
; data_ep_name_romaji : Romaji episode name
; data_ep_name_romaji : Romaji episode name
; data_ep_name_kanji : Kanji episode name
; data_ep_name_kanji : Kanji episode name
 
; data_ep_length : Episode length, in minutes
; data_ep_length : Episode lenght, in minutes
 
; data_ep_aired : Date of first airing
; data_ep_aired : Date of first airing
; data_ep_aired_short : Short date of first airing
; data_ep_aired_short : Short date of first airing
; data_ep_other : Other information related to episode
; data_ep_other : Other information related to episode
; data_ep_rating : Average rating
; data_ep_rating : Average rating
; data_ep_votes : Total votes
; data_ep_votes : Total votes
 
; data_ep_myvote : My vote for a given episode
; data_ep_myvote_date : My vote date for a given episode
; data_ep_date : Date of addition to DB
; data_ep_date : Date of addition to DB
; data_ep_date_short : Short date of addition to DB
; data_ep_date_short : Short date of addition to DB
; data_ep_update : Last update date
; data_ep_update : Last update date
; data_ep_update_short : Last update short date
; data_ep_update_short : Last update short date
; data_ep_state : Episode state (1=Special, 2=Recap, 4=OP/ED/Credits, 32=Trailer, 64=Parody, 128=Others)
; data_ep_state : Episode state (1=Special, 2=Recap, 4=OP/ED/Credits, 32=Trailer, 64=Parody, 128=Others)
''Note that the values can be added together, so 3 would be a special which is also a recap. 4, 32, 64 and 128 are exclusive''
''Note that the values can be added together, so 3 would be a special which is also a recap. 4, 32, 64 and 128 are exclusive''
''If only one file is present for an ep the following variables will have the same values as the ones for that file, if there is more than one file and all files have the same mystate it will match those. in any other case the mystate is undef''
''If only one file is present for an ep the following variables will have the same values as the ones for that file, if there is more than one file and all files have the same mystate it will match those. in any other case the mystate is undef''
; data_ep_mystate : State of anime episode (undef=-1, unknown=0, on hdd=1, on cd=2, deleted=3)
; data_ep_mystate : State of anime episode (undef=-1, unknown=0, on hdd=1, on cd=2, deleted=3)
; data_ep_mystate_string : String representation of state (i.e. "unknown" or "on cd")
; data_ep_mystate_icon : AniDB url to state icon (img tag already included)


; data_ep_mystate_string : String representation of state (i.e. "unknown" or "on cd")
----
 
===== loop: data_ep_titles =====


; data_ep_mystate_icon : AniDB url to state icon (img tag already included)
; data_ep_title_name : Episode title (includes data_ep_name, data_ep_name_romaji and data_ep_name_kanji)
; data_ep_title_langid : Language ID


----
----
Line 450: Line 471:


; status_ep_mystate_undef : Has undefined state (0/1)
; status_ep_mystate_undef : Has undefined state (0/1)
; status_ep_mystate_unknown : Has unknown state (0/1)
; status_ep_mystate_unknown : Has unknown state (0/1)
; status_ep_mystate_onhdd : Has onhdd state (0/1)
; status_ep_mystate_onhdd : Has onhdd state (0/1)
; status_ep_mystate_oncd : Has oncd state (0/1)
; status_ep_mystate_oncd : Has oncd state (0/1)
; status_ep_mystate_deleted : Has deleted state (0/1)
; status_ep_mystate_deleted : Has deleted state (0/1)
; status_ep_state_special : Episode is a special (0/1)
; status_ep_state_special : Episode is a special (0/1)
Line 472: Line 489:
<tt>loop for files</tt>
<tt>loop for files</tt>
; data_file_id : File ID (as in DB)
; data_file_id : File ID (as in DB)
; data_file_size : File size in bytes (with dots)
; data_file_size : File size in bytes (with dots)
; data_file_size_plain : File size in bytes (without dots)
; data_file_size_plain : File size in bytes (without dots)
; data_file_size_h : Same as data_file_size_plain but in MB
; data_file_size_h : Same as data_file_size_plain but in MB
; data_file_filetype : File type (extension, i.e. avi or mkv)
; data_file_filetype : File type (extension, i.e. avi or mkv)
; data_file_crc : CRC for file
; data_file_crc : CRC for file
; data_file_md5 : MD5 hash for file
; data_file_md5 : MD5 hash for file
; data_file_sha1 : SHA1 hash for file
; data_file_sha1 : SHA1 hash for file
 
; data_file_tth : TTH hash for file
; data_file_ed2k_link : Full ed2k link
; data_file_ed2k_link : Full ed2k link
; data_file_ed2k_hash : ed2k hash for file
; data_file_ed2k_hash : ed2k hash for file
; data_file_ed2k_name : ed2k file name
; data_file_ed2k_name : ed2k file name
; data_file_group_id : ID for the group who released the file
; data_file_group_id : ID for the group who released the file
; data_file_group_name : Group name
; data_file_group_name : Group name
; data_file_group_shortname : Short group name
; data_file_group_shortname : Short group name
; data_file_released : Date of release
; data_file_released : Date of release
; data_file_released_short : Short date of release
; data_file_released_short : Short date of release
; data_file_qual_id : Quality ID
; data_file_qual_id : Quality ID
; data_file_qual_name : Quality string representation
; data_file_qual_name : Quality string representation
; data_file_res_name : Video resolution
; data_file_res_name : Video resolution
; data_file_vidcnt : Count for video streams (1 for media files, 0 for others)
; data_file_vidcnt : Count for video streams (1 for media files, 0 for others)
; data_file_ar : Aspect ratio
; data_file_ar : Aspect ratio
 
; data_file_ar_name : The AR string (4:3, 16:9, etc)
; data_file_fps : Frames per second
; data_file_fps : Frames per second
; data_file_vbitrate : Video bit rate
; data_file_vbitrate : Video bit rate
; data_file_vcodec_id : Video codec ID (see ids.txt)
; data_file_vcodec_id : Video codec ID (see ids.txt)
; data_file_vcodec_name : Video codec name
; data_file_vcodec_name : Video codec name
; data_file_vflags : Video Flags (see ids.txt)
; data_file_vflags : Video Flags (see ids.txt)
; data_file_audcnt : Count for audio streams (for now just 2)
; data_file_audcnt : Count for audio streams (for now just 2)
 
; data_file_atype : audio type id (stream #1)
; data_file_atype_name : audio type string (stream #1)
; data_file_abitrate : Audio bitrate
; data_file_abitrate : Audio bitrate
; data_file_acodec_id : Audio codec ID (see ids.txt)
; data_file_acodec_id : Audio codec ID (see ids.txt)
; data_file_acodec_name : Audio codec name
; data_file_acodec_name : Audio codec name
; data_file_chantype : Number of audio channels (see ids.txt)
; data_file_chantype : Number of audio channels (see ids.txt)
 
; data_file_chantype_name : channel string (Mono, Stereo, etc) (stream #1)
; data_file_lang_id : Language ID (see ids.txt)
; data_file_lang_id : Language ID (see ids.txt)
; data_file_lang_name : Language name
; data_file_lang_name : Language name
 
; data_file_lang_sname : Language shortname (ie: ja)
; data_file_atype2 : audio type id (stream #2)
; data_file_atype_name2 - audio type string (stream #2)
; data_file_abitrate2 : Audio bitrate, for second stream
; data_file_abitrate2 : Audio bitrate, for second stream
; data_file_acodec_id2 : Audio codec ID (see ids.txt), for second stream
; data_file_acodec_id2 : Audio codec ID (see ids.txt), for second stream
; data_file_acodec_name2 : Audio codec name, for second stream
; data_file_acodec_name2 : Audio codec name, for second stream
; data_file_chantype2 : Number of audio channels (see ids.txt), for second stream
; data_file_chantype2 : Number of audio channels (see ids.txt), for second stream
 
; data_file_chantype_name2 : channel string (Mono, Stereo, etc) (stream #2)
; data_file_lang_id2 : Language ID (see ids.txt), for second stream
; data_file_lang_id2 : Language ID (see ids.txt), for second stream
; data_file_lang_name2 : Language name, for second stream
; data_file_lang_name2 : Language name, for second stream
 
; data_file_lang_sname2 : Language shortname (ie: ja)
; data_file_subcnt : Count for subtitle streams (for now just 2)
; data_file_subcnt : Count for subtitle streams (for now just 2)
; data_file_sflags : Subtitle flags describing the kind of subtitles (see ids.txt)
; data_file_sflags : Subtitle flags describing the kind of subtitles (see ids.txt)
; data_file_stype : Subtitle type (see ids.txt)
; data_file_stype : Subtitle type (see ids.txt)
 
; data_file_stypename : subtitle type string (stream #1)
; data_file_sub_id : Subtitle language ID (see ids.txt)
; data_file_sub_id : Subtitle language ID (see ids.txt)
; data_file_sub_name : Subtitle language name
; data_file_sub_name : Subtitle language name
 
; data_file_sub_sname : Language shortname (ie: ja)
; data_file_sflags2 : Subtitle flags describing the kind of subtitles (see ids.txt), for second stream
; data_file_sflags2 : Subtitle flags describing the kind of subtitles (see ids.txt), for second stream
; data_file_stype2 : Subtitle type (see ids.txt), for second stream
; data_file_stype2 : Subtitle type (see ids.txt), for second stream
 
; data_file_stypename2 - subtitle type string (stream #2)
; data_file_sub_id2 : Subtitle language ID (see ids.txt), for second stream
; data_file_sub_id2 : Subtitle language ID (see ids.txt), for second stream
; data_file_sub_name2 : Subtitle language name, for second stream
; data_file_sub_name2 : Subtitle language name, for second stream
 
; data_file_sub_sname2 : Language shortname (ie: ja)
; data_file_length : File length in seconds
; data_file_length : File length in seconds
; data_file_type : File type (see ids.txt)
; data_file_type : File type (see ids.txt)
 
; data_file_typename : file type string (video,audio,etc)
; data_file_type_id : File source ID
; data_file_type_id : File source ID
; data_file_type_name : File source name
; data_file_type_name : File source name
; data_file_date : Date of addition to DB
; data_file_date : Date of addition to DB
; data_file_date_short : Short date of addition to DB
; data_file_date_short : Short date of addition to DB
; data_file_update : Last update date
; data_file_update : Last update date
; data_file_update_short : Last update short date
; data_file_update_short : Last update short date
 
; data_file_ldate : Date when file was added to MyList
; file_data_ldate : Date when file was added to mylist
; data_file_ldate_short : Same, short version
 
; file_data_ldate_short : Same, short version
 
; data_file_storage : User defined string for storage
; data_file_storage : User defined string for storage
; data_file_source : User defined string for source
; data_file_source : User defined string for source
; data_file_other : File comments
; data_file_other : File comments
; data_file_viewdate : Date when viewed
; data_file_viewdate : Date when viewed
; data_file_viewdate_short : Short date when viewed
; data_file_viewdate_short : Short date when viewed
; data_file_state : File state (1=CRC ok, 2=CRC error, 4=is v2, 8=is v3, 16=is v4, 32=is v5, 64=is uncensored, 128=is censored)
; data_file_state : File state (1=CRC ok, 2=CRC error, 4=is v2, 8=is v3, 16=is v4, 32=is v5, 64=is uncensored, 128=is censored)
; data_file_state_versionname : File release version in string (including v1)
; data_file_state_versionname : File release version in string (including v1)
; data_file_mystate : File state (unknown=0, on hdd=1, on cd=2, deleted=3)
; data_file_mystate_string : String representation of file state (i.e. "unknown" or "on cd")
; data_file_mystate_icon : AniDB url to state icon (img tag already included)
; data_file_myfilestate : User file mystate ID (0=normal, 1=invalid crc, 2=self edited, 10=self ripped, 11=on dvd, 12 on vhs, 13=on tv, 14=theater, 20=filler ep, 100=other)
; data_file_myfilestate_string : String representation of user file mystate ID
; data_file_myfilestate_icon : AniDB url to mystate icon (img tag already included)


; data_file_mystate : File state (unknown=0, on hdd=1, on cd=2, deleted=3)
----


; data_file_mystate_string : String representation of file state (i.e. "unknown" or "on cd")
====== loop: loop_data_file_filerel ======
<tt>loops available file<->file relations</tt>


; data_file_mystate_icon : AniDB url to state icon (img tag already included)
; data_file_filerel_fid : one end of the relation
; data_file_filerel_otherfid : the other end of the relation
; data_file_filerel_type : type of the relation (subtitle file, etc)


; data_file_myfilestate : User file mystate ID (0=normal, 1=invalid crc, 2=self edited, 10=self ripped, 11=on dvd, 12=on vhs, 13=on tv, 14=theater, 20=filler ep, 100=other)
----


; data_file_myfilestate_string : String representation of user file mystate ID
====== loop: loop_data_file_fileeprel ======
<tt>loops available file<->ep relations</tt>


; data_file_myfilestate_icon : AniDB url to mystate icon (img tag already included)
; data_file_fileeprel_fid : the fid that spans eps
; data_file_fileeprel_eid : the episode
; data_file_fileeprel_startp : start percentage
; data_file_fileeprel_endp : end percentage


----
----
Line 626: Line 607:
; status_file_state_isv4 : File is fourth release (0/1)
; status_file_state_isv4 : File is fourth release (0/1)
; status_file_state_isv5 : File is fifth release (0/1)
; status_file_state_isv5 : File is fifth release (0/1)
; status_file_mystate_unknown : Has unknwon state (0/1)
; status_file_mystate_unknown : Has unknown state (0/1)
; status_file_mystate_onhdd : Has onhdd state (0/1)
; status_file_mystate_onhdd : Has onhdd state (0/1)
; status_file_mystate_oncd : Has oncd state (0/1)
; status_file_mystate_oncd : Has oncd state (0/1)
Line 642: Line 623:
== List of Ids ==
== List of Ids ==


Should this list be outdated you can also check the HTML code of the corresponding dropdowns at AniDB.
Should this list be outdated you can also check the HTML code of the corresponding drop-downs at AniDB.
----
----


Line 704: Line 685:
; 20 : subtitle file
; 20 : subtitle file
; 30 : audio file
; 30 : audio file
; 90 : generic file
; 100 : other
; 100 : other


Line 950: Line 932:
----
----


=== Episode mylist status ===
=== Episode MyList status ===
; -1 : undefined
; -1 : mixed
; 0 : unknown
; 0 : unknown
; 1 : on hdd
; 1 : on hdd
Line 971: Line 953:
----
----


=== Mylist file status ===
=== MyList file status ===
; 0 : unknown
; 0 : unknown
; 1 : on hdd
; 1 : on hdd
Line 979: Line 961:
----
----


=== Mylist filestate ===
=== MyList filestate ===
; 0 : normal
; 0 : normal
; 1 : invalid crc
; 1 : invalid crc
Line 990: Line 972:
; 20 : filler ep
; 20 : filler ep
; 100 : other
; 100 : other
[[Category:Development]][[Category:Mylist export]]

Latest revision as of 07:09, 16 March 2017

This page will try to give some pointers in to MyList Export Template creation.

Frequently Asked Questions

What are MyList Exports?

MyList exports are a way to export your MyList, providing off-line browsing capabilities, it's like a snapshot of the state of your MyList at the moment you requested the export.

Can I create my own template?

Yes, this page should help you starting with your own template.

What are the requirements for building a template?

Well, the only true *requirement* is a text editor, though if you want to test your template before submitting you will need Perl (v5.8.8+) to use the SDK.

Include images, ext. stylesheets/JavaScript files with templates?

Yes, you can even include subdirectories but please try to keep the size low.

How do I create files other than .htm?

Take a look at the csv-minimal theme. You need to create a file called extension.dat which only contains the desired extension, _without_ the dot!

What is that info.dat file?

It's meant to provide the user with a short info about the template. The content should not be too long but is otherwise left to the author of the template.
However, it is strongly recommended to begin the file with 3 special lines:
(C) 2003 by EXP
Version: 0.01 (08.07.2003)


1. copyright of the template author, you may include your email address here
2. version number and date
3. one empty line

About the SDK

About this SDK

This SDK is meant to allow you to test your templates for the AniDB MyList export function on your own pc. It should work under Windows and Linux. You might need to install some additional software (see bellow for Installing Perl).

Current version and where to get

Current release of the SDK is 0.13.4, get here: http://static.anidb.net/files/anidb_template_sdk_0.13.4.rar
Current version of the SDK on SVN is 0.13.5.

Resources

The new development forum
The old development forum (old forum)
The SDK thread (old forum)
Image pack

Installing Perl

This program needs Perl to create example html files from the templates. If you don't have Perl installed (preferably 5.8.8) you'll need to do so now.
Under Windows you'll need to download ActivePerl 5.8.8.820+ from activeperl.com:
http://www.activestate.com/activeperl/downloads
Install it to c:\perl (or some other directory, but remember where you installed it!).
Under Linux it should already be installed. If not get it from the link above.
If you are not using 5.8.8.820 it's possible you need to update Storable, try the following:
perl -MCPAN -eshell
install Storable
bye
Note If you installed 5.8.8.820 don't overwrite Perl's copy of Storable with the one in the SDK.

Additional Module HTML::Template::Expr

Under Windows with ActivePerl go to it's startmenu entry (might be called "ActiveState ActivePerl 5.8") and start "Perl Package Manager". Then enter
install HTML-Template-Expr
exit
Under Linux you have to do a:
perl -MCPAN -eshell
install HTML::Template::Expr
bye
You should now be able to execute export.pl, take a look at the provided bat file to see how it is used.
(export.pl takes one parameter which is the name of the template to use)


Note You can get more information about the HTML::Template::Expr here: http://html-template.sourceforge.net/html_template_expr.html

Changelog

Read here Mylist export SDK changelog

GIT Access

AniDB:Mylist_export_DEV

Template HowTo

Well, here's all you need to write templates for the MyList export function.
We really need better templates!

A theme consist out of one or multiple tpl files. Those are called:

  • mylist.tpl - (mandatory)
  • anime.tpl - (optional)
  • extension.dat - (optional)
  • info.dat - (mandatory)
  • changelog.txt - (optional)

All files, if possible, in Unix format. But dos format doesn't hurt either, I'll convert them, in that case.
The export script will parse the mylist.tpl file and create one output file called i.e. mylist.htm. So mylist.tpl get's parsed only once (because you only have one MyList).
However anime.tpl will be parsed once for every anime in your MyList. And for each a unique file will be created. The default file extension for the output files is "htm", however if you create a file called "extension.dat" and put only the extension in the first line of the file, i.e. "txt" then that extension will be used.

The file info.dat should contain at least the following 3 lines:

   (C) 2003 by EXP
   Version: 0.01 (08.07.2003)

1. copyright of the template author, you may include your email address here
2. version number and date
3. one empty line

The rest may be used for a short description of the template.
Please do not include the changelog in your info.dat file, instead create a separate changelog.txt file and put your changelog there.

Please also note that the content of the info.dat will be displayed on the AniDB MyList Export Page, so please make sure that your additional info is actually of interest to AniDB users who are trying to decide which theme to use.

The export script will create the file (i.e.) mylist.htm and if anime.tpl was provided a folder "anime" where for each anime a file "a<animeid>.htm" will be created.
This can be used to created a linked animelist instead of one huge single html file with all data in it.
The tpl files are simple plain text or html files. So just put normal html code in them.

The export function uses the HTML::Template Perl module to create the output.
This means you have to use some special tags:


Examples

Example 1

<tmpl_var name=data_anime_name>
will be replaced with the value of the specified variable, in this case the anime name.

Example 2

<tmpl_if name=status_anime_iswatched>anime is watched<tmpl_else>anime is unwatched</tmpl_if>
This is a simple if/else statement. This would write "anime is watched" or "anime is unwatched" into the resulting html file. Note that you can only check if a variable is defined, it is not possible to compare values. All variables beginning with status_ are meant to be used in ifs. They are either 0 or 1.

Example 3

<tmpl_unless name=status_anime_iswatched>anime is unwatched</tmpl_unless>
You can also used id variables, if the id is undef (0) they are false, otherwise they are true.

The negation of <tmpl_if> is <tmpl_unless> i.e.

This would only write "anime is unwatched" to the output file if status_anime_iswatched is 0.
Note that this tag is closed with /tmpl_unless and not tmpl_if.

Example 4

<tmpl_if expr="data_file_audcnt > 1">multiple audio streams</tmpl_if>
You can also check if a value is greater or smaller than something.

Example 5

You will also need loops to create a useful template. What are loops?
Well, to create html tables there will be some parts of the html code (mostly table rows) which need to be repeated over and over again and filled with anime/ep/file info.
This is specified like this:
<tmpl_loop name=loop_anime>

</tmpl_loop>

<tmpl_var name=data_anime_name>
This would create a table with a list of all anime titles.
Take a look at the included themes for more examples.

NOTE: the first and last lines in anime.tpl start/close a loop, this has internal reasons and you have to do this too, or your theme won't work.

ADVICE: the best way to write your own theme might be to take one of the existing ones and edit it.

List of variables

Global Vars

global_user
AniDB Username
global_user_id
AniDB Username ID
global_date
Date of creation (i.e. 02.08.2003 12:18)
global_date_short
Short date of creation (i.e. 02.08.03)
global_animecount
Number of anime in MyList
global_totalepcount
Total number of episodes in MyList, including both normal and special episodes
global_epcount
Number of normal episodes in MyList
Normal excludes special episodes, such as S, C, T, O, and P episodes
global_spcount
Number of special episodes in MyList
Special episodes only, such as S, C, T, O, and P episodes
global_filecount
Number of files in MyList
global_bytecount
Overall size of all files in MyList in Bytes
global_bytecount_h
Same as global_bytecount but in kB, MB, GB, ...
global_animedburl
URL to animedb, http://..../animedb.pl
global_userstat_animeadded
Anime entries added by user to DB
global_userstat_epsadded
Episode entries added by user to DB
global_userstat_filesadded
Files added by user to DB
global_userstat_groupsadded
Group entries added by user to DB
global_userstat_lamefiles
Number of lame files user owns
global_userstat_lamefilesp
Percentage of lame files in MyList
global_userstat_independencep
Percentage of independence (AniDB_Stats:Most_Independent_User)
global_userstat_leechp
Percentage of leechness (AniDB_Stats:Biggest_Leech0r)
global_userstat_reviews
Total reviews written by user
global_userstat_votes
Number of votes issued by user
global_userstat_totalviewedp
Percentage of viewed episodes, from all DB
global_userstat_totalownedp
Percentage of owned episodes, from all DB
global_userstat_ownviewedp
Percentage of viewed episodes, from MyList
global_userstat_viewedepcnt
Number of viewed episodes, from MyList

global_genren_loop

New global loop for the cat system NOTES: you should try to limit the usage of this loop to mylist.tpl

global_genren_id
cat id
global_genren_name
cat name
global_genren_parentid
cat parent id
global_genren_ishentai
is cat 18+ restricted

Loops, Subloops and Loopdata


loop_anime

loop for anime entries

data_anime_id
AniDB ID for anime entry
data_anime_eps
Total of episodes
data_anime_eps_special
Total number of special episodes
data_anime_eps_total
Total number of episodes
data_anime_year
Year of release/airing
data_anime_producer
[deprecated] Producer
data_anime_url
Official home page
data_anime_other
Anime synopsis
data_anime_date
Date of addition to DB
data_anime_date_short
Short date of addition to DB
data_anime_update
Last update date (in Unix time format)
data_anime_update_short
Last update short date
data_anime_startdate
Start airing/release date
data_anime_startdate_short
Short start airing/release date
data_anime_enddate
End airing/release date
data_anime_enddate_short
Short end airing/release date
data_anime_rating
Average rating
data_anime_votes
Total votes
data_anime_tmprating
Average temporal rating
data_anime_tmpvotes
Total temporal votes
data_anime_reviewrating
Average review rating
data_anime_reviews
Number of reviews
data_anime_type_id
Anime type ID (see ids.txt)
data_anime_type_name
Anime type name
data_anime_animenfoid
Old AnimeNfo ID (i.e. 954)
data_anime_animenfoid2
New AnimeNfo ID (i.e. klmgzk)
data_anime_animenfourl
Complete AnimeNfo URL (without <a href="">, just a plain URL)
data_anime_animenfourl_name
AnimeNfo link name as displayed at AniDB (i.e. "ID: 954" or "ID: 954,klmgzk")
data_anime_annid
Anime News Network ID

If only one file is present for an anime the following variables will have the same values as the ones for that file, if there is more than one file and all files have the same mystate it will match those. in any other case the mystate is undef

data_anime_mystate
State of anime files (undef=-1, unknown=0, on hdd=1, on cd=2, deleted=3)
data_anime_mystate_string
String representation of state (i.e. "unknown" or "on CD")
data_anime_mystate_icon
AniDB URL to state icon (img tag already included)
data_anime_wishlist_type
Wishlist type ID (0="unknown / unfiled", 1="to watch", 2="to get", 3="blacklist"),
data_anime_wishlist_type_name
Wishlist type name
data_anime_wishlist_priority
Wishlist priority (0="low", 1="medium", 3="high")
data_anime_wishlist_priority_name
Wishlist priority string representation
data_anime_wishlist_comment
Wishlist comment
data_anime_my_vote
User vote for this anime
data_anime_my_tmpvote
User temporal vote for this anime
data_anime_my_vote_date
Date when vote for anime was last changed
data_anime_my_vote_date_short
Same, short version
data_anime_my_tmpvote_date
Date when temp vote for anime was last changed
data_anime_my_tmpvote_date_short
Same, short version
data_anime_annurl
Anime News Network URL
data_anime_allcinemaid
AllCinema ID
data_anime_allcinemaurl
AllCinema URL
data_anime_animeplanetid
Anime-Planet ID (i.e. 415)
data_anime_animeplaneturl
Anime-Planet Recommendation URL
data_anime_my_eps
Number of non-special episodes in MyList
data_anime_my_eps_special
Number of special episodes in MyList
data_anime_my_eps_total
Number of non-special and special episodes in MyList
data_anime_my_watchedeps
Number of watched episodes
data_anime_my_watchedeps_special
Number of watched specials
data_anime_my_watchedeps_total
Total number of watched episodes and specials
data_anime_my_unwatchedeps
Number of unwatched episodes
data_anime_my_unwatchedeps_special
Number of unwatched specials
data_anime_my_unwatchedeps_total
Total number of unwatched episodes and specials
data_anime_my_size
Overall size of all anime files in MyList in Bytes
data_anime_my_size_h
Same as data_anime_my_size but in kB, MB, GB, ...
data_anime_name
Default anime title (mostly Japanese romaji), always present
data_anime_name_langname
Language name (ie: Japanese)
data_anime_name_langsname
Language shortname (i.e.: ja)
data_anime_title_jap_kanji
Anime title in Japanese kanji, optional
data_anime_title_eng
Anime title in English, optional
data_anime_title_other
Other official title in another language, optional
data_anime_awardicons
Ready to use html string which displays the little award icons from AniDB. Empty string if no awards are present.

loop_anime_genren

loop for new genres (categories)

data_anime_genren_id
Genre (Category) ID
data_anime_genren_name
Genre (Category) name
data_anime_genren_parentid
Parent genre (category) ID
data_anime_genren_ishentai
This genre (category) is hentai related
data_anime_genren_weight
Weight of the category
data_anime_genren_weight_name
Textual notation of the category weight

loop_anime_tag

loop for user defined tags

data_anime_tag_id
Tag ID
data_anime_tag_name
Tag name
data_anime_tag_date
Date of creation

loop_anime_company

loop for all involved companies

data_anime_company_id
Company ID
data_anime_company_name
Company name
data_anime_company_shortname
Company short name
data_anime_company_othername
Company other name
data_anime_company_type
Company type ID (see ids.txt)
data_anime_company_url
Company URL
data_anime_company_picurl
Company logo URL
data_anime_company_aptype
Company role for the anime (see ids.txt)
data_anime_company_type_name
company type string (company, organization, individual, etc.)
data_anime_company_aptype_name
company relation to given anime string (production, music, etc.)

loop_anime_title_official

loop for official titles

data_anime_title_official_name
Official title (data_anime_name is not included, data_anime_title_jap_kanji and data_anime_title_eng are included)
data_anime_title_official_langid
Language ID
data_anime_title_official_langname
Language name (ie: Japanese)
data_anime_title_official_langsname
Language shortname (ie: ja)

loop_anime_title_alias

loop for synonyms

data_anime_title_alias_name
Synonyms (data_anime_name and data_anime_title_* are not included)
data_anime_title_alias_langid
Language ID
data_anime_title_alias_langname
Language name (ie: Japanese)
data_anime_title_alias_langsname
Language shortname (ie: ja)

loop_anime_title_short

loop for short titles

data_anime_title_short_name
Short titles
data_anime_title_short_langid
Language ID
data_anime_title_short_langname
Language name (ie: Japanese)
data_anime_title_short_langsname
Language shortname (ie: ja)
loop_anime_titles

loop for all titles

data_anime_title_name
Title
data_anime_title_langid
Language ID
data_anime_title_type_id
Type ID (1 = main, 2 = syn, 3 = short, 4 = official)
data_anime_title_type_string
Type name (main, syn, short, official)
data_anime_title_langname
Language name (ie: Japanese)
data_anime_title_langsname
Language shortname (ie: ja)

loop_anime_award_types

loop for award types

Award types describe the types of awards which were assigned to this anime. Typically that would be AniDB TOP10 or ARC Awards, however this is likely to be extended in the future without notice, your template should not depend on the id.

data_anime_award_type_id
Award type ID
data_anime_award_type_name
Award type name
data_anime_award_type_img
Award type image (full html image tag)

loop_anime_awards

loop for Awards

These are the actual awards which are assigned to this anime. These are things like the AniDB TOP10 award, ARC Best Anime, ARC Best Action Anime, etc. Again a template should not depend on the ids.

data_anime_award_id
Award ID
data_anime_award_name
Award name
data_anime_award_type
Award type
data_anime_award_url
Award URL (URL assigned to this award, i.e. overview over all awards of this type)
data_anime_award_picurl : URL to pic only [this was removed since AniDB v0.1.47]

loop_anime_genre

loop of anime genres (old system)

data_anime_genre_id
Genre ID
data_anime_genre_name
Genre name

loop_anime_groups

loop of anime groups

data_anime_group_id
Group ID
data_anime_group_agid
Group AGID
data_anime_group_name
Group name
data_anime_group_sname
Group shortname
data_anime_group_state
Group state (complete, dropped, etc)
data_anime_group_lastep
Last episode released
data_anime_group_lastup
Last update date (dd.mm.yyyy hh:mm)
data_anime_group_votes
Number of votes
data_anime_group_rating
Rating
data_anime_group_cmts
Number of comments
data_anime_group_epcnt
Normal episode count
data_anime_group_sepcnt
Specials count (S + O + C + T + P eps)
data_anime_group_myvote
My vote or '-' if none
data_anime_group_myvote_date
My vote date (dd.mm.yyyy hh:mm)
data_anime_group_eprange
episode range for a given group (as in AniDB)

data_anime_group_alangs_loop

loops group audio languags

data_anime_group_alang_id
audio language id (i.e.: 1)
data_anime_group_alang_name
audio language name (Chinese, English, etc)
data_anime_group_alang_sname
audio language short name (ja, ne, etc)

data_anime_group_slangs_loop

loops group subtitle languags

data_anime_group_slang_id
sub language id (i.e.: 1)
data_anime_group_slang_name
sub language name (Chinese, English, etc)
data_anime_group_slang_sname
sub language short name (ja, ne, etc)

Status variables
status_anime_iscomplete
Anime is complete (0/1)
status_anime_iswatched
Anime is completely watched (0/1)
status_anime_genre_<genrename>
[deprecated] i.e. status_anime_genre_action = 1, if the anime has genre action added. Genres are all lower case and spaces are replaced with _.
status_anime_my_isvoted
User voted for this anime (0/1)
status_anime_my_istmpvoted
User temporally voted for this anime (0/1)
status_anime_mystate_undef
Has undefined state (0/1)
status_anime_mystate_unknown
Has unknown state (0/1)
status_anime_mystate_onhdd
Has onhdd state (0/1)
status_anime_mystate_oncd
Has oncd state (0/1)
status_anime_mystate_deleted
Has deleted state (0/1)
status_anime_isinwishlist
Anime is in wishlist
status_anime_hasawards
Has awards (0/1)
status_anime_title_has_other
Has other title (0/1)
status_anime_title_has_jap_kanji
Has kanji title (0/1)
status_anime_title_has_eng
Has English title (0/1)
status_anime_allcinema_listed
All Cinema is listed (0/1)
status_anime_animeplanet_listed
Anime-Planet is listed (0/1)
status_anime_ann_listed
Anime News Network is listed (0/1)
status_anime_isrestricted
Anime has +18 restricted audience (0/1)

loop_ep

loop for episodes

data_ep_id
Episode ID (as in DB)
data_ep_epno
Episode number
data_ep_name
Episode name
data_ep_name_romaji
Romaji episode name
data_ep_name_kanji
Kanji episode name
data_ep_length
Episode length, in minutes
data_ep_aired
Date of first airing
data_ep_aired_short
Short date of first airing
data_ep_other
Other information related to episode
data_ep_rating
Average rating
data_ep_votes
Total votes
data_ep_myvote
My vote for a given episode
data_ep_myvote_date
My vote date for a given episode
data_ep_date
Date of addition to DB
data_ep_date_short
Short date of addition to DB
data_ep_update
Last update date
data_ep_update_short
Last update short date
data_ep_state
Episode state (1=Special, 2=Recap, 4=OP/ED/Credits, 32=Trailer, 64=Parody, 128=Others)

Note that the values can be added together, so 3 would be a special which is also a recap. 4, 32, 64 and 128 are exclusive If only one file is present for an ep the following variables will have the same values as the ones for that file, if there is more than one file and all files have the same mystate it will match those. in any other case the mystate is undef

data_ep_mystate
State of anime episode (undef=-1, unknown=0, on hdd=1, on cd=2, deleted=3)
data_ep_mystate_string
String representation of state (i.e. "unknown" or "on cd")
data_ep_mystate_icon
AniDB url to state icon (img tag already included)

loop: data_ep_titles
data_ep_title_name
Episode title (includes data_ep_name, data_ep_name_romaji and data_ep_name_kanji)
data_ep_title_langid
Language ID

Episode status variables
status_ep_mystate_undef
Has undefined state (0/1)
status_ep_mystate_unknown
Has unknown state (0/1)
status_ep_mystate_onhdd
Has onhdd state (0/1)
status_ep_mystate_oncd
Has oncd state (0/1)
status_ep_mystate_deleted
Has deleted state (0/1)
status_ep_state_special
Episode is a special (0/1)
status_ep_state_recap
Episode is a recap (0/1)
status_ep_state_op
Episode is an opening (0/1)
status_ep_state_end
Episode is an ending (0/1)
status_ep_iswatched
Episode was watched (0/1)
status_ep_hasfile
Episode has files (0/1)
status_ep_hasname_kanji
Has kanji episode name (0/1)
status_ep_hasname_romaji
Has romaji episode name (0/1)

loop_file

loop for files

data_file_id
File ID (as in DB)
data_file_size
File size in bytes (with dots)
data_file_size_plain
File size in bytes (without dots)
data_file_size_h
Same as data_file_size_plain but in MB
data_file_filetype
File type (extension, i.e. avi or mkv)
data_file_crc
CRC for file
data_file_md5
MD5 hash for file
data_file_sha1
SHA1 hash for file
data_file_tth
TTH hash for file
data_file_ed2k_link
Full ed2k link
data_file_ed2k_hash
ed2k hash for file
data_file_ed2k_name
ed2k file name
data_file_group_id
ID for the group who released the file
data_file_group_name
Group name
data_file_group_shortname
Short group name
data_file_released
Date of release
data_file_released_short
Short date of release
data_file_qual_id
Quality ID
data_file_qual_name
Quality string representation
data_file_res_name
Video resolution
data_file_vidcnt
Count for video streams (1 for media files, 0 for others)
data_file_ar
Aspect ratio
data_file_ar_name
The AR string (4:3, 16:9, etc)
data_file_fps
Frames per second
data_file_vbitrate
Video bit rate
data_file_vcodec_id
Video codec ID (see ids.txt)
data_file_vcodec_name
Video codec name
data_file_vflags
Video Flags (see ids.txt)
data_file_audcnt
Count for audio streams (for now just 2)
data_file_atype
audio type id (stream #1)
data_file_atype_name
audio type string (stream #1)
data_file_abitrate
Audio bitrate
data_file_acodec_id
Audio codec ID (see ids.txt)
data_file_acodec_name
Audio codec name
data_file_chantype
Number of audio channels (see ids.txt)
data_file_chantype_name
channel string (Mono, Stereo, etc) (stream #1)
data_file_lang_id
Language ID (see ids.txt)
data_file_lang_name
Language name
data_file_lang_sname
Language shortname (ie: ja)
data_file_atype2
audio type id (stream #2)
data_file_atype_name2 - audio type string (stream #2)
data_file_abitrate2
Audio bitrate, for second stream
data_file_acodec_id2
Audio codec ID (see ids.txt), for second stream
data_file_acodec_name2
Audio codec name, for second stream
data_file_chantype2
Number of audio channels (see ids.txt), for second stream
data_file_chantype_name2
channel string (Mono, Stereo, etc) (stream #2)
data_file_lang_id2
Language ID (see ids.txt), for second stream
data_file_lang_name2
Language name, for second stream
data_file_lang_sname2
Language shortname (ie: ja)
data_file_subcnt
Count for subtitle streams (for now just 2)
data_file_sflags
Subtitle flags describing the kind of subtitles (see ids.txt)
data_file_stype
Subtitle type (see ids.txt)
data_file_stypename
subtitle type string (stream #1)
data_file_sub_id
Subtitle language ID (see ids.txt)
data_file_sub_name
Subtitle language name
data_file_sub_sname
Language shortname (ie: ja)
data_file_sflags2
Subtitle flags describing the kind of subtitles (see ids.txt), for second stream
data_file_stype2
Subtitle type (see ids.txt), for second stream
data_file_stypename2 - subtitle type string (stream #2)
data_file_sub_id2
Subtitle language ID (see ids.txt), for second stream
data_file_sub_name2
Subtitle language name, for second stream
data_file_sub_sname2
Language shortname (ie: ja)
data_file_length
File length in seconds
data_file_type
File type (see ids.txt)
data_file_typename
file type string (video,audio,etc)
data_file_type_id
File source ID
data_file_type_name
File source name
data_file_date
Date of addition to DB
data_file_date_short
Short date of addition to DB
data_file_update
Last update date
data_file_update_short
Last update short date
data_file_ldate
Date when file was added to MyList
data_file_ldate_short
Same, short version
data_file_storage
User defined string for storage
data_file_source
User defined string for source
data_file_other
File comments
data_file_viewdate
Date when viewed
data_file_viewdate_short
Short date when viewed
data_file_state
File state (1=CRC ok, 2=CRC error, 4=is v2, 8=is v3, 16=is v4, 32=is v5, 64=is uncensored, 128=is censored)
data_file_state_versionname
File release version in string (including v1)
data_file_mystate
File state (unknown=0, on hdd=1, on cd=2, deleted=3)
data_file_mystate_string
String representation of file state (i.e. "unknown" or "on cd")
data_file_mystate_icon
AniDB url to state icon (img tag already included)
data_file_myfilestate
User file mystate ID (0=normal, 1=invalid crc, 2=self edited, 10=self ripped, 11=on dvd, 12 on vhs, 13=on tv, 14=theater, 20=filler ep, 100=other)
data_file_myfilestate_string
String representation of user file mystate ID
data_file_myfilestate_icon
AniDB url to mystate icon (img tag already included)

loop: loop_data_file_filerel

loops available file<->file relations

data_file_filerel_fid
one end of the relation
data_file_filerel_otherfid
the other end of the relation
data_file_filerel_type
type of the relation (subtitle file, etc)

loop: loop_data_file_fileeprel

loops available file<->ep relations

data_file_fileeprel_fid
the fid that spans eps
data_file_fileeprel_eid
the episode
data_file_fileeprel_startp
start percentage
data_file_fileeprel_endp
end percentage

File status variables
status_file_isgeneric
Is a generic (0/1) (Files:Generic_files)
status_file_hascomment
Has comment (0/1)
status_file_iswatched
File was watched (0/1)
status_file_state_crcok
File has verified CRC (0/1)
status_file_state_crcfailed
File has failed CRC (0/1)
status_file_state_crcunverified
File has unverified CRC (0/1)
status_file_state_isv2
File is second release (0/1)
status_file_state_isv3
File is third release (0/1)
status_file_state_isv4
File is fourth release (0/1)
status_file_state_isv5
File is fifth release (0/1)
status_file_mystate_unknown
Has unknown state (0/1)
status_file_mystate_onhdd
Has onhdd state (0/1)
status_file_mystate_oncd
Has oncd state (0/1)
status_file_mystate_deleted
Has deleted state (0/1)
status_file_myfilestate_normal
File is normal mystate (0/1)
status_file_myfilestate_invalidcrc
File is invalidcrc mystate (0/1)
status_file_myfilestate_selfedited
File is sefedited mystate (0/1)
status_file_myfilestate_selfripped
File is selfripped mystate (0/1)
status_file_myfilestate_ondvd
File is ondvd mystate (0/1)
status_file_myfilestate_onvhs
File is onvhs mystate (0/1)
status_file_myfilestate_ontv
File is ontv mystate (0/1)
status_file_myfilestate_theater
File is theater mystate (0/1)
status_file_myfilestate_other
File is other mystate (0/1)

List of Ids

Should this list be outdated you can also check the HTML code of the corresponding drop-downs at AniDB.


Anime Categories

1
unknown
2
TV
3
OVA
4
Movie
6
Web
5
Other
6
TV Special

All Languages (both Audio and Subs use the same ids)

1
unknown
2
japanese
3
chinese (unspecified)
4
english
5
german
6
french
8
italian
9
spanish
15
russian
17
korean
18
polish
19
swedish
20
arabic
21
portuguese
23
norwegian
25
brazilian
26
catalan
27
czech
28
danish
29
dutch
30
finish
31
greek
32
hebrew
33
hungarian
34
instrumental (only on Audio Languages)
35
lithuanian
37
thai
38
turkish
41
chinese (mandarin) (not in Sub Languages)
42
chinese (cantonese) (not in Sub Languages)
43
taiwanese
58
other
61
romanian
62
malay
63
slovak
64
slovenian
65
tartar
67
latvian
68
georgian
69
latin

File Types

10
video file
20
subtitle file
30
audio file
90
generic file
100
other

Audio Codecs

1
unknown
2
AC3
3
WMA (also DivX Audio)
5
MP3 CBR
6
MP3 VBR
7
MSAudio
8
Vorbis (Ogg Vorbis)
9
AAC
10
PCM
11
MP2
13
DTS

Audio Types

10
normal audio
20
commentary
30
fandub
40
alternative voiceover
100
other

Channel Types

10
1.0 - mono
20
2.0 - stereo
30
4.0 - dolby surround
40
5.1 - 5.1 surround
50
6.1 - 6.1 surround
60
7.1 - 7.1 surround
100
other
200
unknown

Subtitle types

10
hard sub
20
soft sub
30
supplementary soft sub (i.e. sign translations)
100
other
200
unknown

Subtitle Flags (bits)

0
none
1
additional explanations
2
dubsubbed
4
hearing impaired subs
8
image subs
16
karaoke subbed
32
signs translated
64
styled subs
128
subs for commentary audio stream
256
unstyled subs

Video Flags (bits)

0
none
1
anamorphic
2
wrong aspect ratio
4
variable frame rate
8
clean video (no hardsubs...)

Video Codecs

1
unknown
2
DivX UNK
3
DivX3
5
DivX4
7
DivX5 (also DivX6)
9
MPEG-1
10
MPEG-2
11
ASP Other
12
Other (non-ASP)
14
RealVideo Other
17
XviD
18
MS MP4x (also WMV1/2)
19
WMV9 (also WMV3)
20
RealVideo 9/10 (also RV40)
22
H264/AVC

Quality Ratings

1
unknown
2
very high
3
high
4
med
5
low
6
very low
7
corrupted
8
eyecancer

File Source Type

1
unknown
2
camcorder
3
TV
4
VHS
5
DTV
6
LD
7
DVD
8
SVCD
9
VCD
10
HKDVD
11
www

Aspect Ratio Ids

10
4:3
20
16:9
30
1.66:1
40
1.85:1
50
2.00:1
60
2.21:1
70
2.35:1
100
other
200
unknown

File extensions

do not have ids


Company Ids

10
Company
20
Organization
30
Individual

Company Role

10
Financial Production
20
Animation Production
30
Original Story
40
Music Production
50
Animation Co-Production
500
Original Work
510
Production
520
Production Assistance
530
Production Studio
540
Work
550
Work Assistance
560
Work Studio
570
Animation
580
Animation Work
590
Animation Work Assistance
600
Music Work
610
Photography
620
Animation Assistance
630
Publication
640
Music Work Assistance
650
Music Assistance
660
Music Production
670
Assistance/Cooperation
1000
Unknown Relation

Genres

Deprecated

1
Action
2
Adventure
26
Cars
3
Comedy
25
Dementia
10
Demons
35
Detective
4
Drama
5
Ecchi
11
Fantasy
33
Game
34
Ghibli
6
Hentai
12
Historical
7
Horror
27
Kids
14
Magic
15
Martial Arts
16
Mecha
28
Music
17
Mystery
18
Parody
8
Romance
19
Samurai
20
School
9
SciFi
31
Shoujo
37
Shoujo Ai
30
Shounen
38
Shounen Ai
21
Space
22
Sports
23
Super Power
24
Vampires
29
Yaoi
36
Yuri

Status of anime files

-1
undefined
0
unknown
1
on hdd
2
on cd
3
deleted

Wishlist types

0
unknown / unfiled
1
to watch
2
to get
3
blacklist

Wishlist priority

0
low
1
medium
3
high

Episode states (bits)

1
Special
2
Recap
4
OP/ED/Credits
32
Trailer
64
Parody
128
Others

Episode MyList status

-1
mixed
0
unknown
1
on hdd
2
on cd
3
deleted

File state (bits)

1
CRC ok
2
CRC invalid
4
is v2
8
is v3
16
is v4
32
is v5
64
is uncensored
128
is censored

MyList file status

0
unknown
1
on hdd
2
on cd
3
deleted

MyList filestate

0
normal
1
invalid crc
2
self-editer
10
self-ripped
11
on dvd
12
on vhs
13
on tv
14
theather
20
filler ep
100
other