in src/graph_notebook/magics/graph_magic.py [0:0]
def graph_notebook_vis_options(self, line='', cell='', local_ns: dict = None):
parser = argparse.ArgumentParser()
parser.add_argument('--silent', action='store_true', default=False, help="Display no output.")
parser.add_argument('--store-to', type=str, default='', help='store visualization settings to this variable')
parser.add_argument('--load-from', type=str, default='', help='load visualization settings from this variable')
line_args = line.split()
if line_args:
if line_args[0] == 'reset':
line = 'reset'
if len(line_args) > 1:
line_args = line_args[1:]
else:
line_args = []
args = parser.parse_args(line_args)
if line == 'reset':
self.graph_notebook_vis_options = OPTIONS_DEFAULT_DIRECTED
if cell == '' and not args.load_from:
if not args.silent:
print(json.dumps(self.graph_notebook_vis_options, indent=2))
else:
try:
if args.load_from:
try:
options_raw = local_ns[args.load_from]
if isinstance(options_raw, dict):
options_raw = json.dumps(options_raw)
options_dict = json.loads(options_raw)
except KeyError:
print(f"Unable to load visualization settings, variable [{args.load_from}] does not exist in "
f"the local namespace.")
return
else:
options_dict = json.loads(cell)
except (JSONDecodeError, TypeError) as e:
print(f"Unable to load visualization settings, variable [{args.load_from}] is not in valid JSON "
f"format:\n")
print(e)
return
self.graph_notebook_vis_options = vis_options_merge(self.graph_notebook_vis_options, options_dict)
print("Visualization settings successfully changed to:\n")
print(json.dumps(self.graph_notebook_vis_options, indent=2))
store_to_ns(args.store_to, json.dumps(self.graph_notebook_vis_options, indent=2), local_ns)