2009-10-18

Правим торренты для mldonkey

Последнее время стало много торрентов появляться без прописанного announce url, но с прописанным announce list. mldonkey 2.9.5 такие отбрасывает как невалидные. Вот времяночка на Питоне:

#!/usr/bin/env python

import sys

# If your BitTornado is not in PYTHONPATH, you will need this:
# sys.path.append(os.path.expanduser('~/opt/bittornado'));
from BitTornado.bencode import bencode, bdecode

def fix_file(fname):
    data = open(fname, 'rb').read()
    d = bdecode(data)
    
    if d.has_key('announce'): return
    if not d.has_key('announce-list'):
        print "No announce-list here?"
        return 1
    ann = d['announce-list'][0][0]
    d['announce'] = ann
    open(fname, 'wb').write( bencode(d) )

if __name__ == '__main__':
    for f in sys.argv[1:]:
        fix_file(f)
Как видно по тексту, использует модули от BitTornado.

UPD: патчики.

No comments:

Subscribe / RSS