def test_checksum(): cs1 = metabook.calc_checksum(test_metabook) print cs1 assert cs1 assert isinstance(cs1, str) import copy tm2 = copy.deepcopy(test_metabook) tm2['title'] = tm2['title'] + '123' assert metabook.calc_checksum(tm2) != cs1
def make_collection_id(data): sio = StringIO.StringIO() sio.write(str(_version.version)) for key in ( 'base_url', 'script_extension', 'template_blacklist', 'template_exclusion_category', 'print_template_prefix', 'print_template_pattern', 'login_credentials', ): sio.write(repr(data.get(key))) mb = data.get('metabook') if mb: if isinstance(mb, str): mb = unicode(mb, 'utf-8') mbobj = json.loads(mb) sio.write(calc_checksum(mbobj)) num_articles = len(list(mbobj.articles())) sys.stdout.write( "new-collection %s\t%r\t%r\n" % (num_articles, data.get("base_url"), data.get("writer"))) return md5(sio.getvalue()).hexdigest()[:16]
def make_collection_id(data): sio = StringIO.StringIO() sio.write(str(_version.version)) for key in ("base_url", "script_extension", "login_credentials"): sio.write(repr(data.get(key))) mb = data.get("metabook") if mb: if isinstance(mb, str): mb = unicode(mb, "utf-8") mbobj = json.loads(mb) sio.write(calc_checksum(mbobj)) num_articles = len(list(mbobj.articles())) sys.stdout.write("new-collection %s\t%r\t%r\n" % (num_articles, data.get("base_url"), data.get("writer"))) return md5(sio.getvalue()).hexdigest()[:16]
def make_collection_id(data): sio = StringIO.StringIO() for key in ( _version.version, 'base_url', 'script_extension', 'template_blacklist', 'template_exclusion_category', 'print_template_prefix', 'print_template_pattern', 'login_credentials', ): sio.write(repr(data.get(key))) mb = data.get('metabook') if mb: sio.write(calc_checksum(json.loads(mb))) return md5(sio.getvalue()).hexdigest()[:16]
def make_collection_id(data): sio = StringIO.StringIO() sio.write(str(_version.version)) for key in ( 'base_url', 'script_extension', 'template_blacklist', 'template_exclusion_category', 'print_template_prefix', 'print_template_pattern', 'login_credentials', ): sio.write(repr(data.get(key))) mb = data.get('metabook') if mb: if isinstance(mb, str): mb = unicode(mb, 'utf-8') mbobj = json.loads(mb) sio.write(calc_checksum(mbobj)) num_articles = len(list(mbobj.articles())) sys.stdout.write("new-collection %s\t%r\t%r\n" % (num_articles, data.get("base_url"), data.get("writer"))) return md5(sio.getvalue()).hexdigest()[:16]