jayvdb created this task. jayvdb added a subscriber: jayvdb. jayvdb added projects: pywikibot-core, Pywikibot-Wikidata. Herald added subscribers: pywikibot-bugs-list, Aklapper.
TASK DESCRIPTION If a coordinate has data like P625 on https://www.wikidata.org/w/index.php?title=Q148440&oldid=284724541 : ``` { "latitude": -8.6747222222222, "longitude": 121.38444444444, "altitude": null, "precision": null, "globe": "http://www.wikidata.org/entity/Q2" } ``` The following code causes an exception ``` import pywikibot wikidata = pywikibot.Site('wikidata', 'wikidata') wikidata_ds = wikidata.data_repository() for qid in ['Q2108108', 'Q148440']: item = pywikibot.ItemPage(wikidata_ds, qid) item.get() P625 = item.claims['P625'][0] P625_geo = P625.target print('%s P625 repr: %r' % (qid, P625_geo)) print('%s P625 str: %s' % (qid, P625_geo)) ``` The output is ``` Q2108108 P625 repr: Coordinate(lat=-9.56722222, lon=124.9075, globe=earth) Q2108108 P625 str: { "altitude": null, "globe": "http://www.wikidata.org/entity/Q2", "latitude": -9.56722222, "longitude": 124.9075, "precision": 0.00027777777777778 } Q148440 P625 repr: Coordinate(lat=-8.67472222222, lon=121.384444444, globe=earth) Traceback (most recent call last): File "pwb.py", line 248, in <module> if not main(): File "pwb.py", line 242, in main run_python_file(filename, [filename] + args, argvu, file_package) File "pwb.py", line 120, in run_python_file main_mod.__dict__) File "./geobug.py", line 12, in <module> print('%s P625 str: %s' % (qid, P625_geo)) File ".../core/pywikibot/_wbtypes.py", line 36, in __str__ return json.dumps(self.toWikibase(), indent=4, sort_keys=True, File ".../core/pywikibot/__init__.py", line 295, in toWikibase 'precision': self.precision, File ".../core/pywikibot/__init__.py", line 340, in precision self._dim / (radius * math.cos(math.radians(self.lat)))) TypeError: unsupported operand type(s) for /: 'NoneType' and 'float' <type 'exceptions.TypeError'> CRITICAL: Closing network session. ``` This prevents round trips of data, as `toWikibase` fails. TASK DETAIL https://phabricator.wikimedia.org/T123910 EMAIL PREFERENCES https://phabricator.wikimedia.org/settings/panel/emailpreferences/ To: jayvdb Cc: Aklapper, jayvdb, pywikibot-bugs-list, Ricordisamoa _______________________________________________ pywikibot-bugs mailing list pywikibot-bugs@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs