Generate Sphinx object inventory instead of pickle

Bug #1287458 reported by Tom Prince on 2014-03-04
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fix Committed
Adi Roiban

Bug Description

A pickle generated from can't then be loaded:

$ pydoctor --extra-system path/to/twisted/apidocs/system.pickle:

Traceback (most recent call last):
  File "bin/pydoctor", line 12, in <module>
  File "lib/python2.7/site-packages/pydoctor/", line 261, in main
    moresystems.append(cPickle.load(open(fname, 'rb')))
  File "lib/python2.7/site-packages/pydoctor/", line 463, in __setstate__
  File "lib/python2.7/site-packages/pydoctor/", line 446, in lookup
    raise KeyError, name
KeyError: 'twisted.internet.unix._SendmsgMixin 0._writeSomeDataBase'

Related branches

Michael Hudson-Doyle (mwhudson) wrote :

So the fix here is (probably) to delete all the pickle-related code and switch to using sphinx's objects.inv format (this also means that we should be able to use the objects.inv and delete the special casing for the standard library)

Adi Roiban (adiroiban) on 2014-05-11
Changed in pydoctor:
assignee: nobody → Adi Roiban (adiroiban)
Adi Roiban (adiroiban) wrote :

I will try to work on this. Format for object inv is

# Sphinx inventory version 2
# Project: NAME
# Version: VERSION
# The remainder of this file is compressed with zlib.

content lines in the format

name domainname:type priority uri dispname


genindex std:label -1 genindex.html# Index
modindex std:label -1 py-modindex.html# Module Index
search std:label -1 search.html# Search Page

generate-uuid std:label -1 operation/command-line.html#$ Generating UUID

summary: - Pydoctor can't load pickle it generates for twisted
+ Generate Sphinx object inventory instead of pickle
Changed in pydoctor:
status: New → Fix Committed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers