1234567891011121314151617181920212223242526272829303132 |
- import pickle
- from multidict._compat import USE_EXTENSIONS
- from multidict._multidict_py import CIMultiDict as PyCIMultiDict # noqa
- from multidict._multidict_py import MultiDict as PyMultiDict # noqa
- try:
- from multidict._multidict import ( # type: ignore # noqa
- CIMultiDict,
- MultiDict,
- )
- except ImportError:
- pass
- def write(name, proto):
- cls = globals()[name]
- d = cls([("a", 1), ("a", 2)])
- with open("{}.pickle.{}".format(name.lower(), proto), "wb") as f:
- pickle.dump(d, f, proto)
- def generate():
- if not USE_EXTENSIONS:
- raise RuntimeError("C Extension is required")
- for proto in range(pickle.HIGHEST_PROTOCOL + 1):
- for name in ("MultiDict", "CIMultiDict", "PyMultiDict", "PyCIMultiDict"):
- write(name, proto)
- if __name__ == "__main__":
- generate()
|