X-Git-Url: https://git.phdru.name/?p=extfs.d.git;a=blobdiff_plain;f=torrent;h=347df41463fd784796cb2a74edbaa05247ec5d22;hp=0aec962196e5f680dfeda399c7f19bbd3f260fd6;hb=1e7bf9bd5f2200b74650067361b6fd9cea6097d9;hpb=784c37ac12d1ea66878b95e2fb99a088ef0f54af diff --git a/torrent b/torrent index 0aec962..347df41 100755 --- a/torrent +++ b/torrent @@ -123,14 +123,21 @@ def mctorrent_list(): meta = [] for name in 'announce', 'announce-list', 'codepage', 'comment', \ - 'created by', 'creation date', 'encoding': - if name in torrent: + 'created by', 'creation date', 'encoding', \ + 'nodes', 'publisher', 'publisher-url': + if name == 'comment' and 'comment.utf-8' in torrent: + data = torrent['comment.utf-8'].decode('utf-8').encode(charset, 'replace') + meta.append(('.META/' + name, len(data))) + elif name in torrent: if name == 'announce-list': - data = decode_list(torrent[name]) + data = decode_announce_list(torrent[name]) elif name == 'codepage': data = str(torrent[name]) elif name == 'creation date': data = decode_datetime(torrent[name]) + elif name == 'nodes': + data = ['%s:%s' % (host, port) for host, port in torrent[name]] + data = '\n'.join(data) else: data = torrent[name] meta.append(('.META/' + name, len(data))) @@ -153,15 +160,22 @@ def mctorrent_copyout(): data = None for name in 'announce', 'announce-list', 'codepage', 'comment', \ - 'created by', 'creation date', 'encoding': - if torrent_filename == '.META/' + name: + 'created by', 'creation date', 'encoding', \ + 'nodes', 'publisher', 'publisher-url': + if name == 'comment' and 'comment.utf-8' in torrent: + data = torrent['comment.utf-8'].decode('utf-8').encode(charset, 'replace') + meta.append(('.META/' + name, len(data))) + elif torrent_filename == '.META/' + name: if name in torrent: if name == 'announce-list': - data = decode_list(torrent[name]) + data = decode_announce_list(torrent[name]) elif name == 'codepage': data = str(torrent[name]) elif name == 'creation date': data = decode_datetime(torrent[name]) + elif name == 'nodes': + data = ['%s:%s' % (host, port) for host, port in torrent[name]] + data = '\n'.join(data) else: data = str(torrent[name]) else: @@ -226,7 +240,7 @@ def decode_datetime(dt): l_now = localtime(the_time) return asctime(l_now) -def decode_list(announce): +def decode_announce_list(announce): return '\n'.join(l[0] for l in announce)