moved updating code to update.py

This commit is contained in:
Filippo Valsorda 2012-12-30 19:49:14 +01:00
parent f427df17ab
commit d5ed35b664
3 changed files with 161 additions and 162 deletions

View file

@ -188,12 +188,6 @@ else:
with open(fn, 'w', encoding='utf-8') as f:
json.dump(obj, f)
# Some library functions return bytestring on 2.X and unicode on 3.X
def enforce_unicode(s, encoding='utf-8'):
if type(s) != type(u''):
return s.decode(encoding)
return s
def htmlentity_transform(matchobj):
"""Transforms an HTML entity to a character.
@ -416,34 +410,6 @@ def encodeFilename(s):
else:
return s.encode(sys.getfilesystemencoding(), 'ignore')
def rsa_verify(message, signature, key):
from struct import pack
from hashlib import sha256
from sys import version_info
def b(x):
if version_info[0] == 2: return x
else: return x.encode('latin1')
assert(type(message) == type(b('')))
block_size = 0
n = key[0]
while n:
block_size += 1
n >>= 8
signature = pow(int(signature, 16), key[1], key[0])
raw_bytes = []
while signature:
raw_bytes.insert(0, pack("B", signature & 0xFF))
signature >>= 8
signature = (block_size - len(raw_bytes)) * b('\x00') + b('').join(raw_bytes)
if signature[0:2] != b('\x00\x01'): return False
signature = signature[2:]
if not b('\x00') in signature: return False
signature = signature[signature.index(b('\x00'))+1:]
if not signature.startswith(b('\x30\x31\x30\x0D\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01\x05\x00\x04\x20')): return False
signature = signature[19:]
if signature != sha256(message).digest(): return False
return True
class DownloadError(Exception):
"""Download Error exception.