-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcustomfiletype.py
More file actions
62 lines (56 loc) · 1.57 KB
/
customfiletype.py
File metadata and controls
62 lines (56 loc) · 1.57 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
def save(fileName, dictionary):
if fileName.find(".wgd")==-1:
fileName+=".wgd"
file=open(fileName,"w")
temp5=recursiveBuilder(dictionary,"")
file.write(temp5[1:])
file.close()
def recursiveBuilder(passed,bar):
if isinstance(passed, dict):
foo=""
for each in passed:
temp=(recursiveBuilder(passed[each],bar+'\t'))
tags=tagFormat(each)
foo+='\n'+str(bar+str(tags[0])+'\n'+bar+'\t'+str(temp)+'\n'+bar+str(tags[1]))
return foo
else:
return passed
def tagFormat(key):
return(str("<"+key+">"),str("</"+key+">"))
def read(fileName):
if fileName.find(".wgd")==-1:
fileName+=".wgd"
file=open(fileName,"r")
foo={}
bol=""
for each in file:
temp=each.strip('\n')
bol+=temp.strip('\t')
foo=recursiveReader(bol)
file.close()
return foo
def recursiveReader(passed):
if passed.find("<")==-1:
return passed
working={}
while True:
place1=passed.find("<")
place2=passed.find(">")
if place2<place1:
passed=passed[place1:]
place1=0
place2=passed.find(">")
foo=passed[place1+1:place2]
boo=closeTagMaker(passed[place1:place2+1])
temp=passed.split(boo)
working[foo]=recursiveReader(temp[0][place2+1:])
try:
passed=temp[1]
except:
passed=""
print("none")
if passed.find("<")==-1:
return working
def closeTagMaker(opener):
opener=opener[1:]
return str("</"+opener)