zhuyifei1999 added a comment.
Using [[github.com/zhuyifei1999/guppy3|guppy]] to traverse the reference graph: import osmium, pywikibot import guppy en_wiki = pywikibot.Site("en", "wikipedia") thisframe = [] class TestHandler(osmium.SimpleHandler): def node(self, n): print(n.id) entry = pywikibot.Page(en_wiki, 'non-existing article or even redirect') entry.text entry.clear_cache() # Clear cache even works if there is no call to `.text` thisframe.append(guppy.hpy().iso(n).referrers.theone) # n = None h = TestHandler() # Download from http://download.geofabrik.de/europe/liechtenstein-latest.osm.pbf try: h.apply_file('liechtenstein-latest.osm.pbf') except Exception: pass hp = guppy.hpy() print(hp.iso(thisframe[0]).referrers) print(hp.iso(thisframe[0]).referrers[0].referrers) print(hp.iso(thisframe[0]).referrers[0].referrers[1].sp) (venv) zhuyifei1999@zhuyifei1999-ThinkPad-T480 ~/mw-dev/pywikibot-core $ python T261162.py family and mylang are not set. Defaulting to family='wikipedia' and mylang='test'. 26032956 Partition of a set of 2 objects. Total size = 568 bytes. Index Count % Size % Cumulative % Kind (class / dict of class) 0 1 50 464 82 464 82 types.FrameType 1 1 50 104 18 568 100 list Partition of a set of 2 objects. Total size = 640 bytes. Index Count % Size % Cumulative % Kind (class / dict of class) 0 1 50 568 89 568 89 types.FrameType 1 1 50 72 11 640 100 types.TracebackType 0: hp.Root.i0_modules['__main__'].__dict__['thisframe'][0].f_locals['entry'].__dict__['_getexception'].?? TASK DETAIL https://phabricator.wikimedia.org/T261162 EMAIL PREFERENCES https://phabricator.wikimedia.org/settings/panel/emailpreferences/ To: zhuyifei1999 Cc: zhuyifei1999, Aklapper, pywikibot-bugs-list, Stalker, JohnsonLee01, SHEKH, Dijkstra, Khutuck, Zkhalido, Viztor, Wenyi, Tbscho, MayS, Mdupont, JJMC89, Dvorapa, Altostratus, Avicennasis, mys_721tx, jayvdb, Masti, Alchimista, Rxy
_______________________________________________ pywikibot-bugs mailing list pywikibot-bugs@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs