Alert admin about unsupported time precision
This commit is contained in:
parent
7b181cd1b3
commit
1771f19f56
|
@ -11,7 +11,7 @@ from geoalchemy2 import Geometry
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from flask_login import UserMixin
|
from flask_login import UserMixin
|
||||||
from .database import session, now_utc
|
from .database import session, now_utc
|
||||||
from . import wikidata, utils
|
from . import wikidata, utils, mail
|
||||||
import json
|
import json
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
@ -197,8 +197,23 @@ class Item(Base):
|
||||||
def is_tram_stop(self):
|
def is_tram_stop(self):
|
||||||
return 'Q2175765' in self.get_isa_qids()
|
return 'Q2175765' in self.get_isa_qids()
|
||||||
|
|
||||||
|
def alert_admin_about_bad_time(self, v):
|
||||||
|
body = ("Wikidata item has an unsupported time precision\n\n"
|
||||||
|
+ self.wd_url + "\n\n" + "Value:\n\n" + json.dumps(v, indent=2))
|
||||||
|
mail.send_mail(f"OWL Map: bad time value in {self.qid}", body)
|
||||||
|
|
||||||
def closed(self):
|
def closed(self):
|
||||||
return [utils.format_wikibase_time(v) for v in self.get_claim("P3999") if v]
|
ret = []
|
||||||
|
for v in self.get_claim("P3999"):
|
||||||
|
if not v:
|
||||||
|
continue
|
||||||
|
t = utils.format_wikibase_time(v)
|
||||||
|
if t:
|
||||||
|
ret.append(t)
|
||||||
|
else:
|
||||||
|
self.alert_admin_about_bad_time(v)
|
||||||
|
|
||||||
|
return ret
|
||||||
|
|
||||||
# class Claim(Base):
|
# class Claim(Base):
|
||||||
# __tablename__ = "claim"
|
# __tablename__ = "claim"
|
||||||
|
|
|
@ -176,8 +176,6 @@ def format_wikibase_time(v):
|
||||||
p = v["precision"]
|
p = v["precision"]
|
||||||
t = v["time"]
|
t = v["time"]
|
||||||
|
|
||||||
assert p in (7, 9, 10, 11)
|
|
||||||
|
|
||||||
# TODO: handle dates with century precision (7)
|
# TODO: handle dates with century precision (7)
|
||||||
# example: https://www.wikidata.org/wiki/Q108266998
|
# example: https://www.wikidata.org/wiki/Q108266998
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue