def main(args, options): if len(args) != 1: app.help() torrent = Torrent.from_file(args[0]) print('Torrent: %s' % args[0]) print('Announce url: %s' % torrent.announce) print('Metainfo:') files = list(torrent.info.files(rooted_at='')) print(' name: %s' % torrent.info.name) print(' size: %d' % torrent.info.length) print(' files: %d' % len(files)) print(' pieces: %d' % torrent.info.num_pieces) print(' piece size: %d' % torrent.info.piece_size) print() print('Hash manifest:') for index, hash in enumerate(torrent.info.piece_hashes): print(' [%4d]: %s' % (index, binascii.hexlify(hash))) print() print('File manifest:') for mif in files: print(' offset: [%9d-%9d] size: [%9d] filename: %s' % (mif.start, mif.end, mif.length, mif.name))