Anime-Lists / anime-lists

118 stars 53 forks source link

Anime Lists

Anime mapping lists used by:

The lists map information from AniDB to series on TheTVDB and movies on TMDB and IMDB.

The Lists

anime-movieset-list.xml

This list contains groupings of anime titles that are suitable as movie sets (includes movies, TV specials, and one-shot OVAs).

anime-list-master.xml

This list contains entries for every title on AniDB.net and serves as a template from which all the remaining lists are derived. Feel free to contribute to it if you notice missing or mismatched entries

anime-list.xml

The default list used by the scraper. Contains all entries from the master list that are not empty or marked as "unknown".

anime-list-full.xml

Alternative list for the scraper. Contains all entries from the master list that are not empty (but includes "unknown" titles).

anime-list-unknown.xml

Maintenance list containing all entries that are marked as "unknown". Any of these titles may potentially become "known" if they are added to TheTVDB.com or TheMovieDB.org.

anime-list-todo.xml

All empty entries from the master list. Literally a to-do list.

animetitles.xml

Copy of the animetitles.xml available from AniDB.net. This is used by the scraper to search for matching titles.

Format

anime-list-master.xml

A typical entry in anime-list-master.xml:

<anime anidbid="23" tvdbid="76885" defaulttvdbseason="1" episodeoffset="" tmdbid="" imdbid="">
  <name>Cowboy Bebop</name>
  <mapping-list>
    <mapping anidbseason="0" tvdbseason="0">;1-2;</mapping>
  </mapping-list>
  <supplemental-info>
    <studio>Sunrise</studio>
  </supplemental-info>
</anime>

Each entry consists of an anime node with the following attributes:

Within the anime node are any of the following nodes

mapping-list

The mapping-list node consists of one or more mapping nodes with the following attributes:

supplemental-info

The supplemental-info node may contain an optional attribute of replace="true", in which case the information will replace that supplied by AniDB.net, otherwise it is just added to (and prioritised over) the AniDB.net information.

Any of the following nodes are allowed multiple times in a supplemental-info node:

The fanart node consists of thumb nodes that contain the URL of the fanart to use.

Each fanart thumb node has the following attributes:

anime-movieset-list.xml

A typical entry in anime-movieset-list.xml:

<set>
  <anime anidbid="61">Koukaku Kidoutai</anime>
  <anime anidbid="890">Innocence</anime>
  <anime anidbid="6122">Koukaku Kidoutai 2.0</anime>
  <titles>
    <title type="main" xml:lang="x-jat">Koukaku Kidoutai Collection</title>
    <title type="official" xml:lang="en">Ghost in the Shell Collection</title>
  </titles>
</set>

Each entry consists of a set node containing two or more anime nodes, and a single titles node that in turn contains one or more title nodes.

Each anime node consists of an anidbid attribute that corresponds to the AniDB.net id, and contains the "main" title (as taken from the animetitles.xml).

Each title node consists of two attributes, either type="main" xml:lang="x-jat" or type="official" xml:lang="xx" where xx is one of en, de, fr, it, cs, sk, hu, pl, ru, ja, zh (these are the only languages settable in the scraper).

The "main" title is always present and is derived from an appropriate "main" (romaji) title on AniDB.net, while the "official" titles are derived from the corresponding "official" titles in the relevant languages. Unofficial translations are not used.

Contributing

There are a couple of ways to contribute updates:

The simplest way is to just open an Issue, and they will be dealt with when noticed.

The prefered way is to open a Pull Request:

  1. Fork the repo
  2. Create a new branch (git checkout -b new_branch)
  3. Edit anime-list-master.xml and/or anime-movieset-list.xml following the Format
  4. Commit your changes (git commit -am "Added some titles")
  5. Push to the branch (git push origin new_branch)
  6. Submit the Pull Request
  7. Wait for review/merge
  8. Profit

Do not edit any other lists!!! They are automatically generated after your Pull Request was merged.

Likewise, the anime names and the sort order in anime-movieset-list.xml will be automatically fixed based on the anidbids, so don't be overly concerned about getting them exactly right (but obviously do get the title nodes right).

Batch Files

Used to automate update and generation of the lists.

(click to expand) DO NOT run any of these when contributing! The Windows batch files are used to automate the updating of the lists. They require the following programs to work: * **[curl.exe](http://curl.haxx.se/)** - Used to download animetitles.xml from AniDB.net. * **[xsltproc.exe](https://github.com/CoppeliaRobotics/xsltproc-win/blob/master/xsltproc-win.zip?raw=true)** - Used to apply the xsl transformations to the lists. * **git** - Used to automatically commit the update of animetitles.xml. curl and xsltproc (and dependencies) should either be in the folder or added somewhere in the Windows PATH. ### update.bat ### Downloads the latest animetitles.xml, sorts it, updates anime-list-master.xml, and calls generate-lists.bat. ### update.sh ### Same as `update.bat` but for POSIX platforms. ### generate-lists.bat ### Generates all the other lists based on anime-list-master.xml, and updates/sorts anime-movieset-list.xml. ### generate-lists.sh ### Same as `generate-lists.bat` but for POSIX platforms. As most POSIX style systems already have xsl and xml tools installed, this is just a shell script to generate the xml files. ### generate-lists.groovy ### Same as `generate-lists.bat` but for all platforms. It requires [Groovy](http://www.groovy-lang.org/) and [Java](http://www.oracle.com/technetwork/java/javase/downloads/index.html) and works on Windows, Linux and Mac OS X.