You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Роман Бородин 65796860b8 Первая версия модуля для kodi 2 years ago
lib Первая версия модуля для kodi 2 years ago
.gitignore init 4 years ago
LICENSE Many changes, see bellow: 3 years ago
README.md hash_fields(finish #4) and hash raw: 3 years ago
addon.xml Первая версия модуля для kodi 2 years ago

README.md

Torrent file parser and creator for Python

A simple parser for .torrent file.

Can also edit and write back to torrent format after version 0.2.0.

Features

  • Decoder and encoder for torrent files
  • Auto decode bytes field to string with used specified encoding and error handler
  • Auto detect encoding when use auto as encoding(need chardet installed)
  • Auto decode hash value filed to hash blocks, also customizable
  • CLI provided, with JSON output

Install

pip install torrent_parser

Usage:

CLI

$ pytp test.torrent
$ cat test.torrent | pytp

As a module

>>> import torrent_parser as tp
>>> data = tp.parse_torrent_file('test.torrent')
>>> data['announce']
http://tracker.trackerfix.com:80/announce
>>> data['announce'] = 'http://127.0.0.1:12345'
>>> tp.create_torrent_file('new.torrent', data)

or you don't operate with file, just raw bytes:

>>> import torrent_parser as tp
>>> data = tp.decode(b'd3:negi-1ee')
>>> data['neg']
-1
>>> tp.encode(data)
b'd3:negi-1ee'

Test

python -m unittest tests

Changelog

See Changelog.

LICENSE

See License.