http://code.pytech.org/?page=show_paste&id=14
Wenn einer Verbesserungsvorschläge hat, immer her damit.

Und könnte es jemand unter Linux testen, plz?

MfG, Craven
Wo erwartest du denn Probleme? Ich konnte beim überfliegen zumindest keine Probleme diesbezüglich finden.Craven hat geschrieben:Und könnte es jemand unter Linux testen, plz?![]()
Code: Alles auswählen
chunksize = 9728000
if os.path.getsize(filename) <= chunksize:
return self.md4_hash_file(filename, True)
ed2k_hash = ""
fp = file(filename, 'rb')
content = True
while content != "":
content = fp.read(chunksize)
if content != "":
ed2k_hash += self.md4_hash(content)
Code: Alles auswählen
if method == True:
return hasher.hexdigest()
else:
return hasher.digest()
Aber gerne doch!Craven hat geschrieben:Wenn einer Verbesserungsvorschläge hat, immer her damit.
Code: Alles auswählen
class ed2k():
Code: Alles auswählen
if method == True:
Code: Alles auswählen
if method:
Code: Alles auswählen
if (filesize % chunksize) == 0:
Code: Alles auswählen
fp = file(filename, 'rb')
hasher = hashlib.new("md4")
hasher.update(fp.read())
fp.close()
Code: Alles auswählen
# wird in 2.6 nicht mehr erforderlich
from __future__ import with_statement
with file(filename, 'rb') as fp:
hasher = hashlib.new("md4")
hasher.update(fp.read())
Code: Alles auswählen
# ...
ed2k_hash += self.md4_hash(content)
# ...
Naja, es ist das Aequivalent zu class ed2k:, die Klammern sind halt ueberfluessig. Falsch ist es aber nicht (bis auf die Tatsache, dass es in Python < 2.5 einen SyntaxError verursacht).Y0Gi hat geschrieben:Das hier ist mit Sicherheit nicht richtig:Code: Alles auswählen
class ed2k():
Ich find diese Form sogar ganz nett, weil ich mir schon lange überlegt habe warum es ``def foo():`` aber ``class Foo:`` ist. Klar, sind nicht direkt so vergleichbar, aber ich finds gut, dass die jetzt mehr oder minder konsistent sind.lumax hat geschrieben:Naja, es ist das Aequivalent zu class ed2k:, die Klammern sind halt ueberfluessig. Falsch ist es aber nicht (bis auf die Tatsache, dass es in Python < 2.5 einen SyntaxError verursacht).Y0Gi hat geschrieben:Das hier ist mit Sicherheit nicht richtig:Code: Alles auswählen
class ed2k():