HPI/my/media/imdb.py
Dima Gerasimov 71cda586ad general: minor cleanup
- get rid of unnecessary globs in get_files (they should be in config if the user wishes)
- get rid of some old kython imports
- do not convert Path twice in foursquare (so CPath works correctly)
2022-05-31 20:40:58 +01:00

48 lines
1 KiB
Python

#!/usr/bin/env python3
import csv
from datetime import datetime
from typing import Iterator, List, NamedTuple
from ..core import get_files
from my.config import imdb as config
def _get_last():
return max(get_files(config.export_path))
class Movie(NamedTuple):
created: datetime
title: str
rating: int
def iter_movies() -> Iterator[Movie]:
last = _get_last()
with last.open() as fo:
reader = csv.DictReader(fo)
for i, line in enumerate(reader):
# TODO extract directors??
title = line['Title']
rating = int(line['You rated'])
createds = line['created']
created = datetime.strptime(createds, '%a %b %d %H:%M:%S %Y')
# TODO const??
yield Movie(created=created, title=title, rating=rating)
def get_movies() -> List[Movie]:
return list(sorted(iter_movies(), key=lambda m: m.created))
def test():
assert len(get_movies()) > 10
def main():
for movie in get_movies():
print(movie)
if __name__ == '__main__':
main()