Dnomd343
2 years ago
3 changed files with 58 additions and 0 deletions
@ -0,0 +1,58 @@ |
|||
#!/usr/bin/env python3 |
|||
# -*- coding: utf-8 -*- |
|||
|
|||
import json |
|||
from logger import logger |
|||
|
|||
|
|||
def loadData(catalog: dict) -> dict: |
|||
data = {} |
|||
for _, pageId in catalog.items(): |
|||
data[pageId] = json.loads( |
|||
open('./json/%s.json' % pageId).read() |
|||
) |
|||
return data |
|||
|
|||
|
|||
def listDiff(list_1: list, list_2: list) -> bool: |
|||
diffFlag = False |
|||
if len(list_1) != len(list_2): |
|||
diffFlag = True |
|||
logger.error('List with different length') |
|||
for i in range(0, len(list_1)): |
|||
if list_1[i] != list_2[i]: |
|||
diffFlag = True |
|||
logger.error('List diff: `%s` <-> `%s`' % (list_1[i], list_2[i])) |
|||
return diffFlag |
|||
|
|||
|
|||
def check(catalog: dict, data: dict) -> None: |
|||
titles = [x['title'] for _, x in data.items()] |
|||
ids = [x['myId'] for _, x in data.items()] |
|||
preIds = [x['preId'] for _, x in data.items()] |
|||
nextIds = [x['nextId'] for _, x in data.items()] |
|||
nextIds.pop(-1) |
|||
preIds.pop(0) |
|||
|
|||
# if listDiff(ids, preIds + [ids[-1]]): |
|||
# logger.warning('Pre IDs mismatch') |
|||
# if listDiff(ids, [ids[0]] + nextIds): |
|||
# logger.warning('Next IDs mismatch') |
|||
if listDiff(ids, [x for _, x in catalog.items()]): |
|||
logger.warning('IDs mismatch') |
|||
if listDiff(titles, [x for x in catalog]): |
|||
logger.warning('Titles mismatch') |
|||
|
|||
|
|||
def combine() -> dict: |
|||
catalog = json.loads(open('./catalog/catalog.json').read()) |
|||
data = loadData(catalog) |
|||
check(catalog, data) |
|||
|
|||
result = {} |
|||
for _, info in data.items(): |
|||
result[info['title']] = info['contents'] |
|||
return result |
|||
|
|||
|
|||
print(json.dumps(combine())) |
Loading…
Reference in new issue