At Berlin Strategic sprint 2016 wedeveloped a tool to analyze a ZODB Filestorage to findpython 2 string objects. Ifthey are in an encoding besides ASCII this ispreventing using this Filestorage with Python 3 because of decoding errors arising on loading the pickles.
The tool is even able to convert those strings either to unicode by decoding them using a configurable encoding or convert them to zodbpickle.binary so Python 3 will read them as bytes .
There is documentation of the tool and a repository on GitHub where the code lives.
There are still some questions open:
Is there already another tool for this analysis/migration? Is there already any practical knowledge migrating Filestorage contents to Python 3? Do you think such a tool is the right approach to achieve such a migration? Is there anyone who wants to try out the tool on a Filestorage of a personal project and share the experiences? (We analyzed two projects where wehave access to a Filestorage but wearesure this does not catch all the edge cases.)