mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
DRYer
This commit is contained in:
parent
d1f27b449f
commit
353624aca3
@ -12,6 +12,7 @@ import struct, sys, base64, re
|
|||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
|
||||||
from calibre.ebooks.metadata.book.base import Metadata
|
from calibre.ebooks.metadata.book.base import Metadata
|
||||||
|
from calibre.ebooks.mobi.utils import decint
|
||||||
from calibre.utils.cleantext import clean_xml_chars
|
from calibre.utils.cleantext import clean_xml_chars
|
||||||
from calibre.utils.config_base import tweaks
|
from calibre.utils.config_base import tweaks
|
||||||
from calibre.utils.date import parse_only_date
|
from calibre.utils.date import parse_only_date
|
||||||
@ -220,11 +221,9 @@ class PackedIon(PackedData):
|
|||||||
def unpack_number(self):
|
def unpack_number(self):
|
||||||
# variable length numbers, MSB first, 7 bits per byte, last byte is
|
# variable length numbers, MSB first, 7 bits per byte, last byte is
|
||||||
# flagged by MSB set
|
# flagged by MSB set
|
||||||
number = 0
|
raw = self.buffer[self.offset:self.offset+10]
|
||||||
while (True):
|
number, consumed = decint(raw)
|
||||||
byte = self.unpack_one('B')
|
self.advance(consumed)
|
||||||
number = (number << 7) | (byte & 0x7f)
|
|
||||||
if byte >= 0x80:
|
|
||||||
return number
|
return number
|
||||||
|
|
||||||
def unpack_unsigned_int(self, length):
|
def unpack_unsigned_int(self, length):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user