bpylist.archiver.CircularReference: archive has a cycle with uid(13)
See original GitHub issue% python -i $(which photos-to-sqlite) apple-photos photos.db
Traceback (most recent call last):
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/osxphotos/photoinfo.py", line 611, in place
return self._place # pylint: disable=access-member-before-definition
AttributeError: 'PhotoInfo' object has no attribute '_place'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/bin/photos-to-sqlite", line 11, in <module>
load_entry_point('photos-to-sqlite', 'console_scripts', 'photos-to-sqlite')()
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/Users/simon/Dropbox/Development/photos-to-sqlite/photos_to_sqlite/cli.py", line 249, in apple_photos
photo_row = osxphoto_to_row(sha256, photo)
File "/Users/simon/Dropbox/Development/photos-to-sqlite/photos_to_sqlite/utils.py", line 91, in osxphoto_to_row
place = photo.place
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/osxphotos/photoinfo.py", line 614, in place
self._place = PlaceInfo5(self._info["reverse_geolocation"])
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/osxphotos/placeinfo.py", line 505, in __init__
self._plrevgeoloc = archiver.unarchive(revgeoloc_bplist)
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 16, in unarchive
return Unarchive(plist).top_object()
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 256, in top_object
return self.decode_object(self.top_uid)
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 247, in decode_object
obj = klass.decode_archive(ArchivedObject(raw_obj, self))
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/osxphotos/placeinfo.py", line 126, in decode_archive
mapItem = archive.decode("mapItem")
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 140, in decode
return self._unarchiver.decode_key(self._object, key)
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 216, in decode_key
return self.decode_object(val)
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 247, in decode_object
obj = klass.decode_archive(ArchivedObject(raw_obj, self))
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/osxphotos/placeinfo.py", line 180, in decode_archive
sortedPlaceInfos = archive.decode("sortedPlaceInfos")
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 140, in decode
return self._unarchiver.decode_key(self._object, key)
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 216, in decode_key
return self.decode_object(val)
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 247, in decode_object
obj = klass.decode_archive(ArchivedObject(raw_obj, self))
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 112, in decode_archive
return [archive._decode_index(index) for index in uids]
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 112, in <listcomp>
return [archive._decode_index(index) for index in uids]
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 137, in _decode_index
return self._unarchiver.decode_object(index)
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 247, in decode_object
obj = klass.decode_archive(ArchivedObject(raw_obj, self))
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/osxphotos/placeinfo.py", line 217, in decode_archive
placeType = archive.decode("placeType")
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 140, in decode
return self._unarchiver.decode_key(self._object, key)
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 216, in decode_key
return self.decode_object(val)
File "/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/bpylist/archiver.py", line 227, in decode_object
raise CircularReference(index)
bpylist.archiver.CircularReference: archive has a cycle with uid(13)
In the debugger I traced this back to:
178 @staticmethod
179 def decode_archive(archive):
180 -> sortedPlaceInfos = archive.decode("sortedPlaceInfos")
181 finalPlaceInfos = archive.decode("finalPlaceInfos")
182 return PLRevGeoMapItem(sortedPlaceInfos, finalPlaceInfos)
Issue Analytics
- State:
- Created 3 years ago
- Comments:11 (10 by maintainers)
Top Results From Across the Web
Untitled
Peter j gooding transport, Gossip girl pop culture references, St pete times ... The auroran archives, Egesa engenharia s/a cnpj, Cazuza cifras faceis, ......
Read more >Untitled
Akris coat sale, Fields of gray bruce hornsby lyrics, June 13 1996 astrology, ... telefono arequipa, Archive storytown, Taberna do mercado michelin star....
Read more >Untitled
Didier ygon, February 13 weird holidays, The paper factory hotel reviews, ... Colocort, Gaston rahier bmw, Refugee archive, Gp clawback private equity!
Read more >Untitled
Joint operational reference data! Alexeieff alexandre, Michael tischler dds, Leliegracht 49 amsterdam, Despre ironie, Sudden death ford ltd, ...
Read more >Katleen Lamport - Tice Creek Fitness Center
I simply want to tell you that I am newbie to blogs and truly savored this blog. More than likely I'm going to...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Yes, I just recreated my virtual environment from scratch and the error went away.
The problem occurred when I ran
pip install datasette-bplist
in the same virtual environment - https://github.com/simonw/datasette-bplist/blob/master/setup.py depends onbpylist
which is incompatible withbpylist2
.Aha! It looks like I accidentally installed the old bplist into the same environment: