forked from leo-vip/cockybook
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgenerate.py
63 lines (45 loc) · 1.47 KB
/
generate.py
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
63
# coding: UTF-8
import os, json,sys
def getTree(path):
rs={}
for filename in os.listdir(path):
print "filename :",filename
tmpname=os.path.join(path,filename)
if os.path.isdir(tmpname):
rs[filename] = getTree(tmpname)
else:
justname=filename[:filename.rfind('.'):]
if rs.has_key(justname):
rs[justname].append(filename)
else:
rs[justname] = [filename]
return rs
def writeMetadata(rsjson):
ff=open("metadata.json", mode='w')
ff.write(json.dumps(rsjson,indent=4,encoding='gbk').encode('utf8'))
ff.close()
def generateMetadataXml():
rsjson=getTree('.')
if rsjson.has_key('generate'):
rsjson.pop('generate')
if rsjson.has_key('metadata'):
rsjson.pop('metadata')
writeMetadata(rsjson)
def getFile(jjson,paths):
if len(paths)==1:
if paths[0]=='':
return jjson
elif jjson.has_key(paths[0]):
return jjson[paths[0]]
else:
print 'Jjson',json.dumps(jjson)
print 'No this Key:', paths[0]
return None
elif len(paths)>1:
return getFile(jjson[paths[0]], paths[1:])
if __name__ == '__main__':
generateMetadataXml()
#rsjson=getTree(".")
#print json.dumps(rsjson,encoding='gbk')
#print getFile(rsjson, '/佛学'.split('/')[1:])
pass