TiledViz
Toggle main menu visibility
Loading...
Searching...
No Matches
reuseNode.py
1
#!/bin/env python
2
import
json,re
3
import
sys,argparse
4
5
#[prompt]$ python3 -m json.tool $path/nodes_new.json
6
#Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0)
7
#=>
8
#[prompt]$ LANG=C LC_ALL=C sed -e 's/\r$// ; 1 s/^\xef\xbb\xbf//'
9
10
def
parse_args(argv):
11
parser = argparse.ArgumentParser(
12
'reuseNode is a python script that will use '
+
13
'a nodes_new.json created by launch_dockers script and '
+
14
'a nodes_saved.json saved by TiledViz web interface '
+
15
'to put passwords from the first one into the saved json and create an output json.'
)
16
parser.add_argument(
'-s'
,
'--oldsaved'
, default=
'./nodes_saved.json'
,
17
help=
'nodes_old.json file saved (default: ./nodes_saved.json)'
)
18
parser.add_argument(
'-n'
,
'--newpass'
, default=
'./nodes_new.json'
,
19
help=
'nodes_new.json whith new passwords (default: ./nodes_new.json)'
)
20
parser.add_argument(
'-o'
,
'--out'
, default=
'./nodes_out.json'
,
21
help=
'output nodes_out.json whith saved sorting and new passwords (default: ./nodes_out.json)'
)
22
23
args = parser.parse_args(argv[1:])
24
return
args
25
26
if
__name__ ==
'__main__'
:
27
args = parse_args(sys.argv)
28
try
:
29
new_node_file=open(args.newpass,
'r'
)
30
except
:
31
print(
"error opening new nodes file."
)
32
sys.exit(1)
33
try
:
34
saved_file=open(args.oldsaved,
'r'
)
35
except
:
36
print(
"error opening saved nodes file."
)
37
sys.exit(1)
38
json_saved_node=json.load(saved_file)
39
json_new_node=json.load(new_node_file)
40
41
p=re.compile(
r'.*port=([0-9]*)&encrypt=0&password=([^&]*).*'
)
42
#p.sub(r'\1',json_saved_node["nodes"][0]["url"])
43
#p.sub(r'\2',json_saved_node["nodes"][0]["url"])
44
45
for
tile
in
json_saved_node[
"nodes"
]:
46
for
oldt
in
json_new_node[
"nodes"
]:
47
if
( tile[
"title"
] == oldt[
"title"
] ):
48
tile[
"url"
]=tile[
"url"
].replace(
r''
+p.sub(
r'\2'
,tile[
"url"
]),p.sub(
r'\2'
,oldt[
"url"
]))
49
break
50
51
node_new_file=open(args.out,
'w'
)
52
json.dump(json_saved_node,node_new_file)
53
node_new_file.close()
54
TVConnections
reuseNode.py
Documentation for
TiledViz
$tiledvizversion