r356 - /debtorrent/trunk/DebTorrent/BT1/makemetafile.py

camrdale-guest at users.alioth.debian.org camrdale-guest at users.alioth.debian.org
Sat Jan 26 21:30:20 UTC 2008


Author: camrdale-guest
Date: Sat Jan 26 21:30:20 2008
New Revision: 356

URL: http://svn.debian.org/wsvn/debtorrent/?sc=1&rev=356
Log:
Index sub-pieces by hash instead of file name.

Modified:
    debtorrent/trunk/DebTorrent/BT1/makemetafile.py

Modified: debtorrent/trunk/DebTorrent/BT1/makemetafile.py
URL: http://svn.debian.org/wsvn/debtorrent/debtorrent/trunk/DebTorrent/BT1/makemetafile.py?rev=356&op=diff
==============================================================================
--- debtorrent/trunk/DebTorrent/BT1/makemetafile.py (original)
+++ debtorrent/trunk/DebTorrent/BT1/makemetafile.py Sat Jan 26 21:30:20 2008
@@ -360,11 +360,12 @@
         return {}
 
     for pkg in ExtraPieces.iter_paragraphs(f):
-        if len(pkg.get('Filename', '')) > 0 and len(pkg.get('SHA1-pieces', [])) > 0:
-            pieces[pkg['Filename']] = ([], [])
+        if len(pkg.get('SHA1', '')) > 0 and len(pkg.get('SHA1-pieces', [])) > 0:
+            sha1 = binascii.a2b_hex(pkg['SHA1'])
+            pieces[sha1] = ([], [])
             for piece in pkg['SHA1-pieces']:
-                pieces[pkg['Filename']][0].append(binascii.a2b_hex(piece['SHA1']))
-                pieces[pkg['Filename']][1].append(int(piece['size']))
+                pieces[sha1][0].append(binascii.a2b_hex(piece['SHA1']))
+                pieces[sha1][1].append(int(piece['size']))
 
     try:
         f.close()
@@ -591,12 +592,13 @@
             if (separate_all and pkg.get('Architecture', '') == 'all'):
                 all = 1
 
-            if sub_pieces.has_key(pkg['Filename']):
-                lengths[all][pkg['Filename']] = sub_pieces[pkg['Filename']][1]
-                pieces[all][pkg['Filename']] = sub_pieces[pkg['Filename']][0]
+            sha1 = binascii.a2b_hex(pkg['SHA1'])
+            if sub_pieces.has_key(sha1):
+                lengths[all][pkg['Filename']] = sub_pieces[sha1][1]
+                pieces[all][pkg['Filename']] = sub_pieces[sha1][0]
             else:
                 lengths[all][pkg['Filename']] = [long(pkg['Size'])]
-                pieces[all][pkg['Filename']] = [binascii.a2b_hex(pkg['SHA1'])]
+                pieces[all][pkg['Filename']] = [sha1]
 
             path = []
             temp = pkg['Filename']




More information about the Debtorrent-commits mailing list