Skip to main content

An anime video filename parser

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anitopy-2.1.1.tar.gz (20.9 kB view details)

Uploaded Source

File details

Details for the file anitopy-2.1.1.tar.gz.

File metadata

  • Download URL: anitopy-2.1.1.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for anitopy-2.1.1.tar.gz
Algorithm Hash digest
SHA256 515b97cd78917ee406313f4eb53bdc75e8a573e6ad5252ffd355c96a06988e26
MD5 b072145079442d1475f98ea6c9d64b0c
BLAKE2b-256 d38b3da3f8ba73b8e4e5325a9ecbd6780f4dc9f41c98cc1c6a897800c4f85979

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page