mirror of
https://github.com/RangeNetworks/openbts.git
synced 2025-10-22 23:32:00 +00:00
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2387 19bc5d8c-e614-43d4-8b26-e1612bc8e597
80 lines
1.5 KiB
Python
Executable File
80 lines
1.5 KiB
Python
Executable File
#!/usr/bin/python
|
|
|
|
|
|
import sys
|
|
|
|
|
|
if len(sys.argv)<2:
|
|
print sys.argv[0]," configFile"
|
|
sys.exit()
|
|
|
|
filename = sys.argv[1]
|
|
|
|
|
|
# This needs to match what is in Configuration.cpp.
|
|
header = " \
|
|
CREATE TABLE IF NOT EXISTS CONFIG ( \
|
|
KEYSTRING TEXT UNIQUE NOT NULL, \
|
|
VALUESTRING TEXT, \
|
|
STATIC INTEGER DEFAULT 0, \
|
|
OPTIONAL INTEGER DEFAULT 0, \
|
|
COMMENTS TEXT DEFAULT '' \
|
|
);"
|
|
|
|
|
|
inFile = open(filename,"r")
|
|
|
|
knownKeys = []
|
|
|
|
|
|
def processDirective(dirLine):
|
|
(directive,key) = dirLine.split(' ')
|
|
if directive=="static":
|
|
if key not in knownKeys:
|
|
print "non-existant key",key,"cannot be static"
|
|
sys.exit()
|
|
print "UPDATE CONFIG SET STATIC=1 WHERE KEYSTRING==\""+key+"\";"
|
|
return
|
|
if directive=="optional":
|
|
if key not in knownKeys:
|
|
print "INSERT INTO CONFIG (KEYSTRING,OPTIONAL) VALUES (\""+key+"\",1);"
|
|
return
|
|
print "UPDATE CONFIG SET OPTIONAL=1 WHERE KEYSTRING==\""+key+"\";"
|
|
return
|
|
print "unknown directive",directive
|
|
sys.exit()
|
|
|
|
|
|
print header
|
|
|
|
for line in inFile:
|
|
line = line[:-1].lstrip()
|
|
if len(line)==0:
|
|
continue
|
|
# process comments
|
|
if line[0]=='#':
|
|
print "--", line
|
|
continue
|
|
# process directive
|
|
if line[0]=='$':
|
|
processDirective(line[1:])
|
|
continue
|
|
# key-value pairs
|
|
keyval = line.split(' ',1)
|
|
key = keyval[0]
|
|
if key in knownKeys:
|
|
print "key",key,"not unique"
|
|
sys.exit()
|
|
if len(keyval)==1:
|
|
print "INSERT INTO CONFIG (KEYSTRING) VALUES (\""+key+"\");"
|
|
else:
|
|
value = keyval[1]
|
|
print "INSERT INTO CONFIG (KEYSTRING,VALUESTRING) VALUES (\""+key+"\",\""+value+"\");"
|
|
knownKeys.append(key)
|
|
inFile.close()
|
|
|
|
|
|
|
|
|
|
|