Anime Torrent organizer and aggregator: http://www.anitor.net
Gets seasonal anime list from anichart and categorizes torrents from nyaa. Subscribed users will receive email updates when a new episode is available.
- Install the requirements in requirements.txt, which can be installed with pip:
pip install -r requirements.txt
- Rename anitor/settings.py.sample and rename the file to settings.py. Sqlite3 is the default since it is easiest to configure, but mysql is used in production.
- Initialize the database:
./manage.py syncdb
- Scrape current anime list:
./manage.py newseason
- Scrape the torrents for all animes
./manage.py initialize_aliases
- Run!
./manage.py runserver
Each season, a list of Anime is added from anichart.net. Each anime title is inserted into both the Anime Model and the AnimeAlias Model.
Why have anime alias names?
AnimeAlias is needed since fansubs give different titles to each Anime.
For example, one fansub may give the japanese title, while the other gives the english title.
When an undetected title is scraped, it is added as an AnimeAlias, with Anime name "unknown-anime-placeholder". This can then be changed manually to the correct anime.
./manage.py newseason
- Get the anime for the current season from http://anichart.net
./manage.py initialize_aliases
- Scrapes http://nyaa.se for the AnimeAlias names which have the do_initialize field set to true
./manage.py incr_crawl
- Scrapes http://nyaa.se up to the last date inside anitor/rss_fetch_datetime
./manage.py updatetorrentinfo
- Updates torrent info in the database (number of seeders and leechers)
incr_crawl and updatetorrentinfo are run periodically via cron. A better alternative is to use a message queue.