/usr/lib/python3/dist-packages/networkx/readwrite/json_graph/serialize.py is in python3-networkx 1.8.1-0ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | # Copyright (C) 2011 by
# Aric Hagberg <hagberg@lanl.gov>
# Dan Schult <dschult@colgate.edu>
# Pieter Swart <swart@lanl.gov>
# All rights reserved.
# BSD license.
from functools import partial,update_wrapper
import json
from networkx.readwrite.json_graph import node_link_data,node_link_graph
__author__ = """Aric Hagberg (hagberg@lanl.gov))"""
__all__ = ['dumps','loads','dump','load']
class NXJSONEncoder(json.JSONEncoder):
def default(self, o):
return node_link_data(o)
class NXJSONDecoder(json.JSONDecoder):
def decode(self, s):
d = json.loads(s)
return node_link_graph(d)
# modification of json functions to serialize networkx graphs
dumps = partial(json.dumps, cls=NXJSONEncoder)
update_wrapper(dumps,json.dumps)
loads = partial(json.loads, cls=NXJSONDecoder)
update_wrapper(loads,json.loads)
dump = partial(json.dump, cls=NXJSONEncoder)
update_wrapper(dump,json.dump)
load = partial(json.load, cls=NXJSONDecoder)
update_wrapper(load,json.load)
|