All Projects → 7sDream → torrent_parser

7sDream / torrent_parser

Licence: MIT license
A .torrent file parser and creator for both Python 2 and 3

Programming Languages

python
139335 projects - #7 most used programming language

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].