# The provided path must be to a `text` object.
def statusmap (topic, path):
status = { "@type": "MicroblogPost" }
- version_path = next(path.parent.glob("0=*"))
+ version_path = next(path.parent.glob("0=*"), None)
if version_path and version_path.name != "0=x_status_git_1.0":
warn(f"Unrecognized version for {path}; skipping.")
return None
if topic:
status["subject"] = topic
- author_path = next(path.parent.glob("1=*"))
+ author_path = next(path.parent.glob("1=*"), None)
if author_path:
status["author"] = { "name": author_path.name[2:] }
with author_path.open("r", encoding="utf-8") as text:
status["author"]["@id"] = text.read().strip()
- title_path = next(path.parent.glob("2=*"))
+ title_path = next(path.parent.glob("2=*"), None)
if title_path:
with title_path.open("r", encoding="utf-8") as text:
title = text.read().strip()
status["title"] = title
- date_path = next(path.parent.glob("3=*"))
+ date_path = next(path.parent.glob("3=*"), None)
datetime = ""
if date_path:
with date_path.open("r", encoding="utf-8") as text:
else:
warn(f"Missing date for {path}; skipping.")
return None
- identifier_path = next(path.parent.glob("4=*"))
+ identifier_path = next(path.parent.glob("4=*"), None)
identifier = ""
if identifier_path:
identifier = identifier_path.name[2:]