aboutsummaryrefslogtreecommitdiffstats
path: root/python/fatcat_tools/importers/file_meta.py
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2021-11-03 12:57:32 -0700
committerBryan Newbold <bnewbold@robocracy.org>2021-11-03 16:46:07 -0700
commitcaf1cb316ed18820f3239a285ef14bf45ef963a2 (patch)
tree2d3713773dac769878154f61c2eb9f7804f1a60c /python/fatcat_tools/importers/file_meta.py
parent10a2374051568edf3d872988e730328d899a0fdd (diff)
downloadfatcat-caf1cb316ed18820f3239a285ef14bf45ef963a2.tar.gz
fatcat-caf1cb316ed18820f3239a285ef14bf45ef963a2.zip
typing: initial annotations on importers
This commit just adds the type annotations, doesn't do fixes to code to make type checking pass.
Diffstat (limited to 'python/fatcat_tools/importers/file_meta.py')
-rw-r--r--python/fatcat_tools/importers/file_meta.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/python/fatcat_tools/importers/file_meta.py b/python/fatcat_tools/importers/file_meta.py
index 26584ff3..892c1dcd 100644
--- a/python/fatcat_tools/importers/file_meta.py
+++ b/python/fatcat_tools/importers/file_meta.py
@@ -1,4 +1,7 @@
+from typing import Any, Dict
+
import fatcat_openapi_client
+from fatcat_openapi_client import ApiClient, FileEntity
from .common import EntityImporter
@@ -14,7 +17,7 @@ class FileMetaImporter(EntityImporter):
imported which were missing file size, mimetype, md5, and/or sha256.
"""
- def __init__(self, api, require_grobid=True, **kwargs):
+ def __init__(self, api: ApiClient, require_grobid: bool = True, **kwargs):
eg_desc = kwargs.pop("editgroup_description", None) or "File metadata updates"
eg_extra = kwargs.pop("editgroup_extra", dict())
@@ -22,14 +25,14 @@ class FileMetaImporter(EntityImporter):
kwargs["do_updates"] = kwargs.get("do_updates", True)
super().__init__(api, editgroup_description=eg_desc, editgroup_extra=eg_extra, **kwargs)
- def want(self, row):
+ def want(self, row: Any) -> bool:
for k in ("sha1hex", "sha256hex", "md5hex", "size_bytes", "mimetype"):
if not row.get(k):
self.counts["skip-missing-field"] += 1
return False
return True
- def parse_record(self, row):
+ def parse_record(self, row: Dict[str, Any]) -> FileEntity:
# bezerk mode doesn't make sense for this importer
assert self.bezerk_mode is False
@@ -44,7 +47,7 @@ class FileMetaImporter(EntityImporter):
)
return fe
- def try_update(self, fe):
+ def try_update(self, fe: FileEntity) -> bool:
# lookup sha1, or create new entity
existing = None