attempt to add lists
This commit is contained in:
parent
8d79c750c4
commit
4b954ed6de
1 changed files with 24 additions and 7 deletions
|
@ -1,12 +1,13 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
from datetime import datetime, timezone, timedelta
|
from datetime import datetime, timezone, timedelta
|
||||||
from typing import List, Dict, NamedTuple, Union, Any, Tuple, Set
|
from typing import List, Dict, NamedTuple, Union, Any, Tuple, Set
|
||||||
|
from itertools import chain
|
||||||
import json
|
import json
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
# TODO pytz for timezone???
|
# TODO pytz for timezone???
|
||||||
|
|
||||||
from kython import safe_get, flatten
|
from kython import safe_get
|
||||||
|
|
||||||
# TODO actually i'm parsing FSQ in my gmaps thing
|
# TODO actually i'm parsing FSQ in my gmaps thing
|
||||||
_BPATH = Path('/L/backups/4sq')
|
_BPATH = Path('/L/backups/4sq')
|
||||||
|
@ -38,20 +39,34 @@ class Checkin:
|
||||||
def cid(self) -> str:
|
def cid(self) -> str:
|
||||||
return self.j['id']
|
return self.j['id']
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return repr(self.j)
|
||||||
|
|
||||||
|
|
||||||
|
class Place:
|
||||||
|
def __init__(self, j) -> None:
|
||||||
|
self.j = j
|
||||||
|
|
||||||
|
|
||||||
|
# TODO ugh. I'm not backing up lists, apparently...
|
||||||
|
# def test_places():
|
||||||
|
# raise RuntimeError()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def get_raw(fname=None):
|
def get_raw(fname=None):
|
||||||
if fname is None:
|
if fname is None:
|
||||||
fname = max(_BPATH.glob('*.json'))
|
fname = max(_BPATH.glob('*.json'))
|
||||||
with Path(fname).open() as fo:
|
j = json.loads(Path(fname).read_text())
|
||||||
j = json.load(fo)
|
|
||||||
|
|
||||||
assert isinstance(j, list)
|
assert isinstance(j, list)
|
||||||
|
|
||||||
for chunk in j:
|
for chunk in j:
|
||||||
del chunk['meta']
|
del chunk['meta']
|
||||||
del chunk['notifications']
|
del chunk['notifications']
|
||||||
assert chunk.keys() == {'response'}
|
assert chunk.keys() == {'response'}
|
||||||
assert chunk['response'].keys() == {'checkins'}
|
assert chunk['response'].keys() == {'checkins'}
|
||||||
|
|
||||||
return flatten([x['response']['checkins']['items'] for x in j])
|
return chain.from_iterable(x['response']['checkins']['items'] for x in j)
|
||||||
|
|
||||||
|
|
||||||
# TODO not sure how to make it generic..
|
# TODO not sure how to make it generic..
|
||||||
|
@ -67,8 +82,10 @@ def get_cid_map(bfile: str):
|
||||||
return {i['id']: i for i in raw}
|
return {i['id']: i for i in raw}
|
||||||
|
|
||||||
|
|
||||||
def test():
|
def test_checkins():
|
||||||
assert len(get_checkins()) > 100
|
checkins = get_checkins()
|
||||||
|
assert len(checkins) > 100
|
||||||
|
assert any('Victoria Park' in c.summary for c in checkins)
|
||||||
# TODO cid_map??
|
# TODO cid_map??
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue