#!/usr/bin/python # The contents of this file are subject to the BitTorrent Open Source License # Version 1.1 (the License). You may not copy or use this file, in either # source code or executable form, except in compliance with the License. You # may obtain a copy of the License at http://www.bittorrent.com/license/. # # Software distributed under the License is distributed on an AS IS basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # Written by Olivier Crête # Based on changetracker-console by Henry 'Pi' James and Bram Cohen from BitTorrent.platform import install_translation install_translation() from os.path import basename from sys import argv, exit from BitTorrent.bencode import bencode, bdecode if len(argv) < 3: print "Usage: %s TORRENTFILE client:port [client:port ...] " % basename(argv[0]) print exit(2) # common exit code for syntax error f= argv[1]; h = open(f, 'rb') metainfo = bdecode(h.read()) h.close() if metainfo['announce']: print _("old announce for %s: %s") % (f, metainfo['announce']) del metainfo['announce']; metainfo['nodes'] = [(a[0], int(a[1])) for a in [node.strip().split(":") for node in argv[2:]]] h = open(f, 'wb') h.write(bencode(metainfo)) h.close() else: print "The torrent was already trackerless"