ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/utils/loreCollect.py
Revision: 1.1
Committed: Fri Feb 3 07:14:47 2006 UTC (18 years, 3 months ago) by root
Content type: text/x-python
Branch: MAIN
Branch point for: UPSTREAM
Log Message:
Initial revision

File Contents

# User Rev Content
1 root 1.1 #loreCollect.py
2     #To collect lore - endlore contents from Crossfire maps and archetypes file
3     #temitchell@sympatici.ca for comments/requests
4     #Python 2.x (never tested on 1.5...)
5    
6     import sys
7     import os
8     import string
9    
10     def mapLoreCollect(lfile, dir, files):
11     for file in files:
12     file = os.path.join(dir,file)
13     try:
14     f = open(file,'r')
15     contents = f.read().split('\n')
16     match = 0
17     for line in contents:
18     if line == 'maplore':
19     lfile.write("lore\n")
20     match = 1
21     elif match == 1 and line == 'lore':
22     match = 2
23     elif match == 2 and line == 'endmaplore':
24     match = 0
25     break
26     elif match == 2:
27     lfile.write('%s\n' %(line))
28     else:
29     pass
30     f.close()
31     except (OSError, IOError):
32     pass
33    
34     def loreCollect(file, lfile):
35     try:
36     f = open(file,'r')
37     contents = f.read().split('\n')
38     match = 0
39     for line in contents:
40     if line[:5] == 'name ':
41     tempname = line
42     match = 1
43     elif match == 1 and line == 'lore':
44     match = 2
45     lfile.write("lore\n%s\n" %tempname)
46     tempname = 0
47     elif match == 2 and line == 'endlore':
48     match = 0
49     lfile.write("endlore\n")
50     pass
51     elif match == 2:
52     lfile.write('%s\n' %(line))
53     else:
54     pass
55     f.close()
56     except (OSError, IOError):
57     print "Error"
58     pass
59    
60     if __name__ == '__main__':
61     import sys
62     if len(sys.argv) < 4:
63     sys.stderr.write ('Collects lore from maps and arches into a single file\nUsage: loreCollect.py <map directory root> <path to archetypes file> <target filename>')
64     sys.exit()
65     else:
66     lfile = open(sys.argv[3],'w')
67     print "Collecting map lore...this may take a minute"
68     os.path.walk(sys.argv[1],mapLoreCollect,lfile)
69     print "Collecting arch lore..."
70     loreCollect(sys.argv[2],lfile)
71     lfile.close()
72     print "finished collecting lore"