Mylist export SDK changelog: Difference between revisions

From AniDB
Jump to navigation Jump to search
mNo edit summary
 
(26 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Changelog for Mylist export SDK ==
== Changelog for MyList export SDK ==


   0.11-alpha - 24.09.2006
   0.13.4 - 26.01.2009
     <tt>Currently there is no SDK available</tt>
    - data files updated
 
  0.13.3 - 10.10.2008 (linked with AniDB release 0.1.53)
    - data files updated
    - files that have episode relations now show up in the related episode listing
    - file->ep relations for a given episode are now handled in loop_ep and are called loop_data_ep_fileeprel
 
  0.13.2 - 28.07.2008
    - data files updated
    - updated jsencodexml
    - additions in loop_anime_genren:
        data_anime_genren_weight : Weight of the category
        data_anime_genren_weight_name : Textual notation of the category weight
 
  0.13.1 - 18.02.2008
    - data files updated (global_genren_loop is not on the dump)
    - added a new function: jsencodexml (check export_funcs.pm)
    - Removed the picurl for awards as they aren't present on the AniDB and are styled with css instead.
 
  0.13 - 09.09.2007
    - data files updated (global_genren_loop is not on the dump)
    - fixes
    ANIME:
        loop_anime_groups:
            data_anime_group_state - Now correctly outputs state
    - new fields
     GLOBAL:
        global_genren_loop: - New global loop for the cat system
            global_genren_id - cat id
            global_genren_name - cat name
            global_genren_parentid - cat parent id
            global_genren_ishentai - is cat 18+ restricted
        NOTES: you should try to limit the usage of this loop to mylist.tpl
    ANIME:
        loop_anime_groups:
            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 sub 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)
        loop_anime_company:
            data_anime_company_type_name - company type string (company, organization, individual, etc)
            data_anime_company_atype_name - company relation to given anime string (production, music, etc)
    FILE:
        data_file_tth - tth hash (now actually added the hash, had forgot before)
        data_file_typename - file type string (video,audio,etc)
        data_file_ar_name - The AR string (4:3, 16:9, etc)
        data_file_chantype_name - channel string (Mono, Stereo, etc) (stream #1)
        data_file_chantype_name2 - channel string (Mono, Stereo, etc) (stream #2)
        data_file_atype - audio type id (stream #1)
        data_file_atype2 - audio type id (stream #2)
        data_file_atype_name - audio type string (stream #1)
        data_file_atype_name2 - audio type string (stream #2)
        data_file_stypename - subtitle type string (stream #1)
        data_file_stypename2 - subtitle type string (stream #2)
 
  0.12 - 04.07.2007
    - data files updated
    - new fields
    GLOBAL:
        global_user_id - AniDB user ID
    ANIME:
        status_anime_isrestricted - Anime has +18 restricted audience (0/1)
        data_anime_name_langname - Language name (ie: Japanese)
        data_anime_name_langsname - Language shortname (ie: ja)
        data_anime_eps_special - Total number of special episodes
        data_anime_eps_total - Total number of episodes
        loop_anime_groups: [new loop]
            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)
        loop_anime_titles: [new loop]
            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_title_alias: [existing loop]
            data_anime_title_alias_langname - Language name (ie: Japanese)
            data_anime_title_alias_langsname - Language shortname (ie: ja)
        loop_anime_title_short: [existing loop]
            data_anime_title_short_langname - Language name (ie: Japanese)
            data_anime_title_short_langsname - Language shortname (ie: ja)
        loop_anime_title_official: [existing loop]
            data_anime_title_official_langname - Language name (ie: Japanese)
            data_anime_title_official_langsname - Language shortname (ie: ja)
    EP:
        data_ep_myvote - My vote for a given episode
        data_ep_myvote_date - My vote date for a given episode
    FILE:
        data_file_tth - TTH hash
        loop_data_file_filerel: [new loop]
            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_data_file_fileeprel: [new loop]
            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
        data_file_lang_sname - Language shortname (ie: ja)
        data_file_lang_sname2 - Language shortname (ie: ja)
        data_file_sub_sname - Language shortname (ie: ja)
        data_file_sub_sname2 - Language shortname (ie: ja)
    - fixed fields
        data_anime_mystate_string - wasn't outputting correctly for mixed state
    - better support for wishlisted anime with no files, anime information only will be exported
 
  0.11b - 27.06.2007
    - data files updated
 
  0.11 - 26.06.2007
    - data files updated
     - documentation moved to wiki
     - documentation moved to wiki
     - new fields
     - new fields
Line 11: Line 139:
         data_anime_my_tmpvote_date_short
         data_anime_my_tmpvote_date_short
     FILE:
     FILE:
         file_data_ldate
         data_file_ldate
         file_data_ldate_short
         data_file_ldate_short


   0.10b - 10.05.2006
   0.10b - 10.05.2006
Line 98: Line 226:
     - added flag to show if a file is a generic file (btw. that means size==0)
     - added flag to show if a file is a generic file (btw. that means size==0)
         status_file_isgeneric
         status_file_isgeneric
     - added new mylist filestate info
     - added new MyList filestate info
         data_file_myfilestate (0=normal, 1=invalid crc, 2=self edited,
         data_file_myfilestate (0=normal, 1=invalid crc, 2=self edited,
           10=self ripped, 11=on dvd, 12=on vhs, 13=on tv, 14=theater,
           10=self ripped, 11=on dvd, 12=on vhs, 13=on tv, 14=theater,
Line 108: Line 236:
         status_file_myfilestate_ontv, status_file_myfilestate_theater,
         status_file_myfilestate_ontv, status_file_myfilestate_theater,
         status_file_myfilestate_other
         status_file_myfilestate_other
     - added air and end date for animes
     - added air and end date for anime
         data_anime_startdate, data_anime_startdate_short
         data_anime_startdate, data_anime_startdate_short
         data_anime_enddate, data_anime_enddate_short
         data_anime_enddate, data_anime_enddate_short
Line 114: Line 242:
         data_ep_name_romaji, status_ep_hasname_romaji
         data_ep_name_romaji, status_ep_hasname_romaji
         data_ep_name_kanji, status_ep_hasname_kanji
         data_ep_name_kanji, status_ep_hasname_kanji
     - added wishlist info to animes
     - added wishlist info to anime
         status_anime_isinwishlist
         status_anime_isinwishlist
         data_anime_wishlist_type (0="unknown / unfiled", 1="to watch", 2="to get", 3="blacklist"),
         data_anime_wishlist_type (0="unknown / unfiled", 1="to watch", 2="to get", 3="blacklist"),
Line 121: Line 249:
         data_anime_wishlist_priority_name,
         data_anime_wishlist_priority_name,
         data_anime_wishlist_comment
         data_anime_wishlist_comment
     - added vote/tmpvote info for animes
     - added vote/tmpvote info for anime
         status_anime_my_isvoted, data_anime_my_vote
         status_anime_my_isvoted, data_anime_my_vote
         status_anime_my_istmpvoted, data_anime_my_tmpvote
         status_anime_my_istmpvoted, data_anime_my_tmpvote
     - added id.txt with a list of anidb ids
     - added id.txt with a list of AniDB ids
     - new versions of some themes included
     - new versions of some themes included
     - updated data dump
     - updated data dump
Line 162: Line 290:
   0.06 - 06.09.2003
   0.06 - 06.09.2003
     - added animeplanet info:
     - added animeplanet info:
         data_anime_animeplanetid (not really usefull yet, 1 for all animes, this will change someday though)
         data_anime_animeplanetid (not really useful yet, 1 for all anime, this will change someday though)
         data_anime_animeplaneturl
         data_anime_animeplaneturl
         status_anime_animeplanet_listed
         status_anime_animeplanet_listed
Line 173: Line 301:
       however subdirectories are not copied and you should also not use this to include images.
       however subdirectories are not copied and you should also not use this to include images.
       simply create a zip file contraining all images in the theme directory and i will upload it
       simply create a zip file contraining all images in the theme directory and i will upload it
       to the anidb http server and link to it. (faq updated)
       to the AniDB http server and link to it. (faq updated)
     - jsencode now also strips newlines
     - jsencode now also strips newlines
     - new parsing function jsencodehtml which replaces:
     - new parsing function jsencodehtml which replaces:
Line 182: Line 310:
         data_anime_my_*_total      - total number, same as old data_anime_my_*
         data_anime_my_*_total      - total number, same as old data_anime_my_*
     - data_anime_my_unwatchedeps, data_anime_my_unwatchedeps_special, data_anime_my_unwatchedeps_total where undocumented so far
     - data_anime_my_unwatchedeps, data_anime_my_unwatchedeps_special, data_anime_my_unwatchedeps_total where undocumented so far
     - status_anime_iscomplete and status_anime_iswatched haven been updated to match the current mylist style of only
     - status_anime_iscomplete and status_anime_iswatched haven been updated to match the current MyList style of only
       taking normal eps into account.
       taking normal eps into account.
     - status_ep_mystate_* and status_anime_mystate_* added to reflect the latest mylist changes on anidb
     - status_ep_mystate_* and status_anime_mystate_* added to reflect the latest MyList changes on AniDB
       this allows you now to include state icons on episode and anime level as anidb does it.
       this allows you now to include state icons on episode and anime level as AniDB does it.
     - plaintext dump of the small data file is now included, take a look at datadump.txt if you need info on
     - plaintext dump of the small data file is now included, take a look at datadump.txt if you need info on
       undocumented vars or just want to know what data format to expect. if you encounter a problem or unexpected data in
       undocumented vars or just want to know what data format to expect. if you encounter a problem or unexpected data in
Line 213: Line 341:
       data_anime_animenfoid is the old animenfo id, data_anime_animenfoid2 is the additional new one,
       data_anime_animenfoid is the old animenfo id, data_anime_animenfoid2 is the additional new one,
       data_anime_animenfourl is a complete url (without <a href="">, just a plain url) to the animenfo page of this anime
       data_anime_animenfourl is a complete url (without <a href="">, just a plain url) to the animenfo page of this anime
       data_anime_animenfourl_name is the link name as displayed on anidb (i.e. "ID: 64" or "ID: 1235,rvvvjg")
       data_anime_animenfourl_name is the link name as displayed on AniDB (i.e. "ID: 64" or "ID: 1235,rvvvjg")
     - data_file_size_plain contains plain size without dots, this is needed if you want to construct your own ed2k links
     - data_file_size_plain contains plain size without dots, this is needed if you want to construct your own ed2k links
     - data_file_acodec_id, data_file_acodec_name, data_file_vcodec_id and data_file_vcodec_name were undocumented
     - data_file_acodec_id, data_file_acodec_name, data_file_vcodec_id and data_file_vcodec_name were undocumented
Line 219: Line 347:
   0.03 - 10.08.2003
   0.03 - 10.08.2003
     - fixed typo, the module needed is called Storable
     - fixed typo, the module needed is called Storable
     - added additional big data file which can be used to check templates on big mylists
     - added additional big data file which can be used to check templates on big MyLists
       to use it rename tpl-alist.dat to i.e. tpl-alist.dat.small and rename tpl-alist.dat.big
       to use it rename tpl-alist.dat to i.e. tpl-alist.dat.small and rename tpl-alist.dat.big
       to tpl-alist.dat.
       to tpl-alist.dat.
Line 231: Line 359:
       * status_anime_genre_<genre> is set to 0 or 1 according to added genres
       * status_anime_genre_<genre> is set to 0 or 1 according to added genres
       i.e. status_anime_genre_action = 1, if the anime has genre action added
       i.e. status_anime_genre_action = 1, if the anime has genre action added
       note: genres are all lowercase and spaces are replaced with _
       note: genres are all lower case and spaces are replaced with _
     * status_anime_iscomplete and status_anime_iswatched slightly changed to
     * status_anime_iscomplete and status_anime_iswatched slightly changed to
       match the new way of doing things @ mylist @ anidb. (animes with epcount = 0
       match the new way of doing things @ MyList @ AniDB. (anime with epcount = 0
       are no longer considered complete or completly watched)
       are no longer considered complete or completly watched)
     Ep:
     Ep:
     * epno does now correctly handle specials (epno 1001 => S1)
     * epno does now correctly handle specials (epno 1001 => S1)
     * data_ep_state carries anidb internal state number
     * data_ep_state carries AniDB internal state number
       + EP_SPECIAL=1, EP_RECAP=2, EP_OP=4, EP_END=8, EP_HANGER=16
       + EP_SPECIAL=1, EP_RECAP=2, EP_OP=4, EP_END=8, EP_HANGER=16
         (hanger = cliffhanger)
         (hanger = cliffhanger)
Line 246: Line 374:
     File:
     File:
     * data_file_released is now "-" if no release date was added
     * data_file_released is now "-" if no release date was added
     * data_file_state carries anidb internal state number
     * data_file_state carries AniDB internal state number
       + FILE_CRCOK=1, FILE_CRCERR=2, FILE_ISV2=4, FILE_ISV3=8,
       + FILE_CRCOK=1, FILE_CRCERR=2, FILE_ISV2=4, FILE_ISV3=8,
         FILE_ISV4=16, FILE_ISV5=32
         FILE_ISV4=16, FILE_ISV5=32
Line 255: Line 383:
         are set according to data_file_state so you might want to use these
         are set according to data_file_state so you might want to use these
         instead of data_file_state
         instead of data_file_state
     * data_file_mystate carries anidb internal mylist file state number
     * data_file_mystate carries AniDB internal MyList file state number
       + unknown=0, on hdd=1, on cd=2, deleted=3, shared=4, release=5
       + unknown=0, on hdd=1, on cd=2, deleted=3, shared=4, release=5
     * data_file_mystate_string gives the string representation
     * data_file_mystate_string gives the string representation
     * data_file_mystate_icon gives the icon known from anidb (direct inet link to image,
     * data_file_mystate_icon gives the icon known from AniDB (direct inet link to image,
       img tag already included)
       img tag already included)
     * status_file_mystate_unknown, status_file_mystate_onhdd, status_file_mystate_oncd,
     * status_file_mystate_unknown, status_file_mystate_onhdd, status_file_mystate_oncd,
Line 266: Line 394:
   0.01 - 08.07.2003
   0.01 - 08.07.2003
     - first version
     - first version
[[Category:Development]][[Category:Mylist export]]

Latest revision as of 13:29, 16 May 2009

Changelog for MyList export SDK

 0.13.4 - 26.01.2009
   - data files updated
 0.13.3 - 10.10.2008 (linked with AniDB release 0.1.53)
   - data files updated
   - files that have episode relations now show up in the related episode listing
   - file->ep relations for a given episode are now handled in loop_ep and are called loop_data_ep_fileeprel
 0.13.2 - 28.07.2008
   - data files updated
   - updated jsencodexml
   - additions in loop_anime_genren:
       data_anime_genren_weight : Weight of the category
       data_anime_genren_weight_name : Textual notation of the category weight
 0.13.1 - 18.02.2008
   - data files updated (global_genren_loop is not on the dump)
   - added a new function: jsencodexml (check export_funcs.pm)
   - Removed the picurl for awards as they aren't present on the AniDB and are styled with css instead.
 0.13 - 09.09.2007
   - data files updated (global_genren_loop is not on the dump)
   - fixes
   ANIME:
       loop_anime_groups:
           data_anime_group_state - Now correctly outputs state
   - new fields
   GLOBAL:
        global_genren_loop: - New global loop for the cat system
            global_genren_id - cat id
            global_genren_name - cat name
            global_genren_parentid - cat parent id
            global_genren_ishentai - is cat 18+ restricted
        NOTES: you should try to limit the usage of this loop to mylist.tpl
   ANIME:
        loop_anime_groups:
            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 sub 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)
        loop_anime_company:
            data_anime_company_type_name - company type string (company, organization, individual, etc)
            data_anime_company_atype_name - company relation to given anime string (production, music, etc)
   FILE:
        data_file_tth - tth hash (now actually added the hash, had forgot before)
        data_file_typename - file type string (video,audio,etc)
        data_file_ar_name - The AR string (4:3, 16:9, etc)
        data_file_chantype_name - channel string (Mono, Stereo, etc) (stream #1)
        data_file_chantype_name2 - channel string (Mono, Stereo, etc) (stream #2)
        data_file_atype - audio type id (stream #1)
        data_file_atype2 - audio type id (stream #2)
        data_file_atype_name - audio type string (stream #1)
        data_file_atype_name2 - audio type string (stream #2)
        data_file_stypename - subtitle type string (stream #1)
        data_file_stypename2 - subtitle type string (stream #2)
 0.12 - 04.07.2007
   - data files updated
   - new fields
   GLOBAL:
       global_user_id - AniDB user ID
   ANIME:
       status_anime_isrestricted - Anime has +18 restricted audience (0/1)
       data_anime_name_langname - Language name (ie: Japanese)
       data_anime_name_langsname - Language shortname (ie: ja)
       data_anime_eps_special - Total number of special episodes
       data_anime_eps_total - Total number of episodes
       loop_anime_groups: [new loop]
           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)
       loop_anime_titles: [new loop]
           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_title_alias: [existing loop]
           data_anime_title_alias_langname - Language name (ie: Japanese)
           data_anime_title_alias_langsname - Language shortname (ie: ja)
       loop_anime_title_short: [existing loop]
           data_anime_title_short_langname - Language name (ie: Japanese)
           data_anime_title_short_langsname - Language shortname (ie: ja)
       loop_anime_title_official: [existing loop]
           data_anime_title_official_langname - Language name (ie: Japanese)
           data_anime_title_official_langsname - Language shortname (ie: ja)
   EP:
       data_ep_myvote - My vote for a given episode
       data_ep_myvote_date - My vote date for a given episode
   FILE:
       data_file_tth - TTH hash
       loop_data_file_filerel: [new loop]
           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_data_file_fileeprel: [new loop]
           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
       data_file_lang_sname - Language shortname (ie: ja)
       data_file_lang_sname2 - Language shortname (ie: ja)
       data_file_sub_sname - Language shortname (ie: ja)
       data_file_sub_sname2 - Language shortname (ie: ja)
   - fixed fields
       data_anime_mystate_string - wasn't outputting correctly for mixed state
   - better support for wishlisted anime with no files, anime information only will be exported
 0.11b - 27.06.2007
   - data files updated
 0.11 - 26.06.2007
   - data files updated
   - documentation moved to wiki
   - new fields
   ANIME:
       data_anime_my_vote_date
       data_anime_my_vote_date_short
       data_anime_my_tmpvote_date
       data_anime_my_tmpvote_date_short
   FILE:
       data_file_ldate
       data_file_ldate_short
 0.10b - 10.05.2006
   - updated documentation, examples and export code
 0.10 - 30.04.2006
   - fixed file data (only data for 1 video and 2 audio/subtitle streams available)
   - new fields
   FILE:
       data_file_type
       data_file_vidcnt
       data_file_ar
       data_file_fps
       data_file_vflags
       data_file_audcnt
       data_file_chantype
       data_file_abitrate2
       data_file_acodec_id2
       data_file_acodec_name2
       data_file_chantype2
       data_file_lang_id2
       data_file_lang_name2
       data_file_subcnt
       data_file_sflags
       data_file_stype
       data_file_sub_id2
       data_file_sub_name2
       data_file_sflags2
       data_file_stype2
       data_file_length
   ANIME:
       data_anime_annid
       status_anime_ann_listed
       data_anime_annurl
       data_anime_allcinemaid
       status_anime_allcinema_listed
       data_anime_allcinemaurl
       loop_anime_genren
       data_anime_genren_id
       data_anime_genren_name
       data_anime_genren_parentid
       data_anime_genren_ishentai
       loop_anime_tag
       data_anime_tag_id
       data_anime_tag_name
       data_anime_tag_date
       loop_anime_company
       data_anime_company_id
       data_anime_company_name
       data_anime_company_shortname
       data_anime_company_othername
       data_anime_company_type
       data_anime_company_url
       data_anime_company_picurl
       data_anime_company_aptype
   GLOBAL:
       global_userstat_animeadded
       global_userstat_epsadded
       global_userstat_filesadded
       global_userstat_groupsadded
       global_userstat_lamefiles
       global_userstat_lamefilesp
       global_userstat_independencep
       global_userstat_leechp
       global_userstat_reviews
       global_userstat_votes
       global_userstat_totalviewedp
       global_userstat_totalownedp
       global_userstat_ownviewedp
       global_userstat_viewedepcnt
 0.09b - 13.10.2005
   - fixed episode number issue
   - added more info on ep type ids to docs
   - removed file shared/released info from docs
 0.09 - 25.09.2004
   - added new, redundant file crc info flag
       status_file_state_crcunverified
   - fixed animeplanet links
       data_anime_animeplaneturl
   - added flag to show if a file comment is present
       status_file_hascomment
       (remember, the filecomment can be found in: data_file_other)
   - added flag to show if a file is a generic file (btw. that means size==0)
       status_file_isgeneric
   - added new MyList filestate info
       data_file_myfilestate (0=normal, 1=invalid crc, 2=self edited,
          10=self ripped, 11=on dvd, 12=on vhs, 13=on tv, 14=theater,
          100=other)
       data_file_myfilestate_string, data_file_myfilestate_icon
       status_file_myfilestate_normal, status_file_myfilestate_invalidcrc,
       status_file_myfilestate_selfedited, status_file_myfilestate_selfripped,
       status_file_myfilestate_ondvd, status_file_myfilestate_onvhs,
       status_file_myfilestate_ontv, status_file_myfilestate_theater,
       status_file_myfilestate_other
   - added air and end date for anime
       data_anime_startdate, data_anime_startdate_short
       data_anime_enddate, data_anime_enddate_short
   - added romaji and kanji episode titles
       data_ep_name_romaji, status_ep_hasname_romaji
       data_ep_name_kanji, status_ep_hasname_kanji
   - added wishlist info to anime
       status_anime_isinwishlist
       data_anime_wishlist_type (0="unknown / unfiled", 1="to watch", 2="to get", 3="blacklist"),
       data_anime_wishlist_type_name,
       data_anime_wishlist_priority (0="low", 1="medium", 3="high"),
       data_anime_wishlist_priority_name,
       data_anime_wishlist_comment
   - added vote/tmpvote info for anime
       status_anime_my_isvoted, data_anime_my_vote
       status_anime_my_istmpvoted, data_anime_my_tmpvote
   - added id.txt with a list of AniDB ids
   - new versions of some themes included
   - updated data dump
   - minor changes
 0.08 - 18.04.2004
   - added new tempvote info to anime data
       data_anime_tmprating, data_anime_tmpvotes
   - added ep vote data
       data_ep_rating, data_ep_votes
   - added file version string (v1, v2,...)
       data_file_state_versionname
   - added additional redundant anime award info which can be accessed without using the loops
       data_anime_awardicons, status_anime_hasawards
   - data files updated
   - IMPORTANT: new info.dat rules see templatehowto.txt
 0.07 - 11.04.2004
   - added info on new anime titles
       data_anime_title_jap_kanji, status_anime_title_has_jap_kanji
       data_anime_title_eng, status_anime_title_has_eng
       data_anime_title_other, status_anime_title_has_other
   - status_ep_state_hanger is now always 0
   - added data_file_sha1
   - added award info
       loop_anime_award_types
           data_anime_award_type_id
           data_anime_award_type_name
           data_anime_award_type_img
       loop_anime_awards
           data_anime_award_id
           data_anime_award_name
           data_anime_award_url
           data_anime_award_picurl
           data_anime_award_type
 0.06 - 06.09.2003
   - added animeplanet info:
       data_anime_animeplanetid (not really useful yet, 1 for all anime, this will change someday though)
       data_anime_animeplaneturl
       status_anime_animeplanet_listed
   - fixed bug in data_anime_my_unwatchedeps_special
   - fixed bug in data_ep_mystate_*
 0.05 - 26.08.2003
   - export.pl now copies any additional files found in a themes directory into the out directory
     you can use this to automatically include stylesheet or javascript files with your templates.
     however subdirectories are not copied and you should also not use this to include images.
     simply create a zip file contraining all images in the theme directory and i will upload it
     to the AniDB http server and link to it. (faq updated)
   - jsencode now also strips newlines
   - new parsing function jsencodehtml which replaces:
       ' => ’    " => "     \n => < br >
   - data_anime_my_eps now only lists normal eps, not specials. same goes for data_anime_watchedeps and data_anime_unwatchedeps
     additional data fields:
       data_anime_my_*_special   - number of special eps
       data_anime_my_*_total      - total number, same as old data_anime_my_*
   - data_anime_my_unwatchedeps, data_anime_my_unwatchedeps_special, data_anime_my_unwatchedeps_total where undocumented so far
   - status_anime_iscomplete and status_anime_iswatched haven been updated to match the current MyList style of only
     taking normal eps into account.
   - status_ep_mystate_* and status_anime_mystate_* added to reflect the latest MyList changes on AniDB
     this allows you now to include state icons on episode and anime level as AniDB does it.
   - plaintext dump of the small data file is now included, take a look at datadump.txt if you need info on
     undocumented vars or just want to know what data format to expect. if you encounter a problem or unexpected data in
     some vars it might also be a good idea to take a look at this file.
 0.04b - 13.08.2003
   - status_file_state_* was not working correctly, fixed now.
 0.04 - 12.08.2003
   - switch to HTML::Template::Expr to support more interaction between templates and perl code
     you have much more options in the templates.
     !!! YOU WILL NEED TO INSTALL ADDITIONAL MODULES TO GET THE NEW SDK TO WORK !!! (see below)
     there are now additional commands available, i.e.:
         <TMPL_VAR EXPR="data_file_size_plain/8"> would give you the filesize in kB (note the 'EXPR')
         there are also a lot a predefined functions which can be used as
         <TMPL_VAR EXPR="function('string param')"> or <TMPL_VAR EXPR="function(variable)">
         multiple parameters are ',' seperated. i.e. <TMPL_VAR EXPR="function(var1,var2,'string')">
         check the url below for predefined functions
         additional functions are:
         jsencode() - one parameter, replaced ' with \', " with \" and ´ with \´
         replace() - 3 parameters (find, replacewith, string), i.e. ('a','b','abc') -> bbc
         ireplace() - same as replace but case insensitive
         additional functions can be added on request. the code is included with the SDK so you could also play
         around with some of your own functions.
     for more details check: http://html-template.sourceforge.net/html_template_expr.html
   - added data_anime_animenfoid, data_anime_animenfoid2, data_anime_animenfourl, data_anime_animenfourl_name
     data_anime_animenfoid is the old animenfo id, data_anime_animenfoid2 is the additional new one,
     data_anime_animenfourl is a complete url (without <a href="">, just a plain url) to the animenfo page of this anime
     data_anime_animenfourl_name is the link name as displayed on AniDB (i.e. "ID: 64" or "ID: 1235,rvvvjg")
   - data_file_size_plain contains plain size without dots, this is needed if you want to construct your own ed2k links
   - data_file_acodec_id, data_file_acodec_name, data_file_vcodec_id and data_file_vcodec_name were undocumented
 0.03 - 10.08.2003
   - fixed typo, the module needed is called Storable
   - added additional big data file which can be used to check templates on big MyLists
     to use it rename tpl-alist.dat to i.e. tpl-alist.dat.small and rename tpl-alist.dat.big
     to tpl-alist.dat.
 0.02 - 02.08.2003
   - additional data values
   All:
    * all data values now also have a _short version which ommits the time.
      i.e. data_ep_update_short = 02.08.03
       Anime:
     * status_anime_genre_<genre> is set to 0 or 1 according to added genres
      i.e. status_anime_genre_action = 1, if the anime has genre action added
      note: genres are all lower case and spaces are replaced with _
    * status_anime_iscomplete and status_anime_iswatched slightly changed to
      match the new way of doing things @ MyList @ AniDB. (anime with epcount = 0
      are no longer considered complete or completly watched)
   Ep:
    * epno does now correctly handle specials (epno 1001 => S1)
    * data_ep_state carries AniDB internal state number
      + EP_SPECIAL=1, EP_RECAP=2, EP_OP=4, EP_END=8, EP_HANGER=16
        (hanger = cliffhanger)
    * status_ep_state_special, status_ep_state_recap,
      status_ep_state_op, status_ep_state_end, status_ep_state_hanger
        are set according to data_ep_state so you might want to use these
        instead of data_ep_state
   File:
    * data_file_released is now "-" if no release date was added
    * data_file_state carries AniDB internal state number
      + FILE_CRCOK=1, FILE_CRCERR=2, FILE_ISV2=4, FILE_ISV3=8,
        FILE_ISV4=16, FILE_ISV5=32
        values are added to generate the data_file_state field
    * status_file_state_crcok, status_file_state_crcfailed,
      status_file_state_isv2, status_file_state_isv3,
      status_file_state_isv4, status_file_state_isv5
        are set according to data_file_state so you might want to use these
        instead of data_file_state
    * data_file_mystate carries AniDB internal MyList file state number
      + unknown=0, on hdd=1, on cd=2, deleted=3, shared=4, release=5
    * data_file_mystate_string gives the string representation
    * data_file_mystate_icon gives the icon known from AniDB (direct inet link to image,
      img tag already included)
    * status_file_mystate_unknown, status_file_mystate_onhdd, status_file_mystate_oncd,
      status_file_mystate_deleted, status_file_mystate_shared, status_file_mystate_release
        are set according to data_file_mystate
 0.01 - 08.07.2003
   - first version