Skip to content

musjj/anitopy

 
 

Repository files navigation

Anitopy

Anitopy is a Python library for parsing anime video filenames. It's simple to use and it's based on the C++ library Anitomy.

Example

The following filename...

[TaigaSubs]_Toradora!_(2008)_-_01v2_-_Tiger_and_Dragon_[1280x720_H.264_FLAC][1234ABCD].mkv

...can be parsed using the following code:

>>> import anitopy
>>> anitopy.parse('[TaigaSubs]_Toradora!_(2008)_-_01v2_-_Tiger_and_Dragon_[1280x720_H.264_FLAC][1234ABCD].mkv')
{
    'anime_title': 'Toradora!',
    'anime_year': '2008',
    'audio_term': 'FLAC',
    'episode_number': '01',
    'episode_title': 'Tiger and Dragon',
    'file_checksum': '1234ABCD',
    'file_extension': 'mkv',
    'file_name': '[TaigaSubs]_Toradora!_(2008)_-_01v2_-_Tiger_and_Dragon_[1280x720_H.264_FLAC][1234ABCD].mkv',
    'release_group': 'TaigaSubs',
    'release_version': '2',
    'video_resolution': '1280x720',
    'video_term': 'H.264'
}

The parse function receives a string and returns a dictionary containing all found elements. It can also receive parsing options, this will be explained below.

Installation

To install Anitopy, simply use pip:

pip install anitopy

Or download the source code and inside the source code's folder run:

python setup.py install

Options

The parse function can receive the options parameter. E.g.:

>>> import anitopy
>>> anitopy_options = {'allowed_delimiters': ' '}
>>> anitopy.parse('DRAMAtical Murder Episode 1 - Data_01_Login', options=anitopy_options)
{
    'anime_title': 'DRAMAtical Murder',
    'episode_number': '1',
    'episode_title': 'Data_01_Login',
    'file_name': 'DRAMAtical Murder Episode 1 - Data_01_Login'
}

If the default options had been used, the parser would have considered _ as a delimiter and replaced it with space in the episode title.

The options contain the following attributes:

Attribute name Type Description Default value
allowed_delimiters string The list of character to be considered as delimiters. ' _.&+,|'
ignored_strings list of strings A list of strings to be removed from the filename during parse. []
parse_episode_number boolean If the episode number should be parsed. True
parse_episode_title boolean If the episode title should be parsed. True
parse_file_extension boolean If the file extension should be parsed. True
parse_release_group boolean If the release group should be parsed. True

About

Anime video filename parser in Python, based on Anitomy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.5%
  • Makefile 0.5%