Handle mismatch..
This commit is contained in:
parent
f4f1777a8c
commit
83b0eb1d6e
2 changed files with 18 additions and 6 deletions
|
@ -1,11 +1,15 @@
|
||||||
from kython import load_json_file
|
from kython import load_json_file
|
||||||
from typing import Dict, List, Union, Any, NamedTuple
|
from typing import Dict, List, Union, Any, NamedTuple
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
import logging
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
BPATH = "/L/backups/github-events"
|
BPATH = "/L/backups/github-events"
|
||||||
|
|
||||||
|
def get_logger():
|
||||||
|
return logging.getLogger('github-provider')
|
||||||
|
|
||||||
def iter_files():
|
def iter_files():
|
||||||
for f in os.listdir(BPATH):
|
for f in os.listdir(BPATH):
|
||||||
if f.endswith('.json'):
|
if f.endswith('.json'):
|
||||||
|
@ -17,9 +21,9 @@ def iter_events():
|
||||||
|
|
||||||
class Event(NamedTuple):
|
class Event(NamedTuple):
|
||||||
dt: datetime
|
dt: datetime
|
||||||
name: str
|
summary: str
|
||||||
|
|
||||||
def _get_name(e) -> str:
|
def _get_summary(e) -> str:
|
||||||
tp = e['type']
|
tp = e['type']
|
||||||
pl = e['payload']
|
pl = e['payload']
|
||||||
rname = e['repo']['name']
|
rname = e['repo']['name']
|
||||||
|
@ -61,10 +65,11 @@ def _get_name(e) -> str:
|
||||||
):
|
):
|
||||||
return tp # TODO ???
|
return tp # TODO ???
|
||||||
else:
|
else:
|
||||||
import ipdb; ipdb.set_trace()
|
|
||||||
return tp
|
return tp
|
||||||
|
|
||||||
def get_events():
|
def get_events():
|
||||||
|
logger = get_logger()
|
||||||
|
|
||||||
events: Dict[str, Any] = {}
|
events: Dict[str, Any] = {}
|
||||||
for f in iter_events():
|
for f in iter_events():
|
||||||
jj = load_json_file(f)
|
jj = load_json_file(f)
|
||||||
|
@ -73,11 +78,14 @@ def get_events():
|
||||||
prev = events.get(eid, None)
|
prev = events.get(eid, None)
|
||||||
if prev is not None:
|
if prev is not None:
|
||||||
if prev != e:
|
if prev != e:
|
||||||
raise RuntimeError(f"Mismatch in {e}")
|
# a = prev['payload']
|
||||||
|
# b = e['payload']
|
||||||
|
# TODO err... push_id has changed??? wtf??
|
||||||
|
logger.error(f"Mismatch in \n{e}\n vs \n{prev}")
|
||||||
events[eid] = e
|
events[eid] = e
|
||||||
# TODO utc?? localize
|
# TODO utc?? localize
|
||||||
ev = [Event(
|
ev = [Event(
|
||||||
dt=datetime.strptime(d['created_at'], '%Y-%m-%dT%H:%M:%SZ'),
|
dt=datetime.strptime(d['created_at'], '%Y-%m-%dT%H:%M:%SZ'),
|
||||||
name=_get_name(d),
|
summary=_get_summary(d),
|
||||||
) for d in events.values()]
|
) for d in events.values()]
|
||||||
return sorted(ev, key=lambda e: e.dt)
|
return sorted(ev, key=lambda e: e.dt)
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
from github import get_events
|
from github import get_events, get_logger
|
||||||
|
from kython import setup_logzero
|
||||||
|
|
||||||
|
logger = get_logger()
|
||||||
|
setup_logzero(logger)
|
||||||
|
|
||||||
for e in get_events():
|
for e in get_events():
|
||||||
print(e)
|
print(e)
|
||||||
|
|
Loading…
Add table
Reference in a new issue