Skip to content
Snippets Groups Projects
Commit 9a0c0171 authored by Auke Klazema's avatar Auke Klazema
Browse files

SW-598: Add username, password, port options to make_antenna_list.py

parent ea454655
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env python #!/usr/bin/env python
#coding: iso-8859-15 # coding: iso-8859-15
import re,sys,pgdb import re
from copy import deepcopy import sys
from math import * import pgdb
from optparse import OptionParser
import getpass
INTRO=""" INTRO = """
Created a file containing all antenna coordinates for the online software. Created a file containing all antenna coordinates for the online software.
""" """
def print_help():
print "Usage: make_antenna_list [<stationname>]"
# #
# findStationInfo(stationName) # findStationInfo(stationName)
# #
def findStationInfo(stationName): def find_station_info(station_name):
""" """
Return all basic station info (eg. nr RSPboards) from a station. Return all basic station info (eg. nr RSPboards) from a station.
""" """
pattern=re.compile("^"+stationName+"[ \t].*", re.IGNORECASE | re.MULTILINE) pattern = re.compile("^"+station_name+"[ \t].*", re.IGNORECASE | re.MULTILINE)
match = pattern.search(open("../StaticMetaData/StationInfo.dat").read()) match = pattern.search(open("../StaticMetaData/StationInfo.dat").read())
if not match: if not match:
raise "\nFatal error: "+stationName+" is not defined in file 'StationInfo.dat'" raise "\nFatal error: "+station_name+" is not defined in file 'StationInfo.dat'"
return match.group().split() return match.group().split()
# #
# MAIN # MAIN
# #
if __name__ == '__main__': if __name__ == '__main__':
if len(sys.argv) != 2: parser = OptionParser("Usage: %prog [options] datafile")
print_help()
sys.exit(0) parser.add_option("-D", "--database",
dest="dbName",
type="string",
default="coordtest",
help="Name of StationCoordinates database to use")
parser.add_option("-H", "--host",
dest="dbHost",
type="string",
default="dop50",
help="Hostname of StationCoordinates database")
parser.add_option("-P", "--port",
dest="dbPort",
type="int",
default="5432",
help="Port of StationCoordinates database")
parser.add_option("-U", "--user",
dest="dbUser",
type="string",
default="postgres",
help="Username of StationCoordinates database")
# parse arguments
(options, args) = parser.parse_args()
(name, stationID, stnType, long, lat, height, nrRSP, nrTBB, nrLBA, nrHBA, HBAsplit, LBAcal ) = findStationInfo(sys.argv[1]) dbName = options.dbName
db = pgdb.connect(user="postgres", host="dop50", database="coordtest") dbHost = options.dbHost
dbPort = options.dbPort
dbUser = options.dbUser
if len(args) != 1:
parser.print_help()
sys.exit(1)
filename = str(args[0])
dbPassword = getpass.getpass()
host = "{}:{}".format(dbHost, dbPort)
db = pgdb.connect(user=dbUser, host=host, database=dbName, password=dbPassword)
cursor = db.cursor()
(name, stationID, stnType, long, lat, height, nrRSP,
nrTBB, nrLBA, nrHBA, HBAsplit, LBAcal) = find_station_info(filename)
print "#Stn ID Type RSP RCU Pol Position Orientation" print "#Stn ID Type RSP RCU Pol Position Orientation"
print "%s %s %s %d %d -1 [%s,%s,%s] [0,0,0]" % (name, stationID, "center", -1, -1, long, lat, height) print "%s %s %s %d %d -1 [%s,%s,%s] [0,0,0]" % \
for infoType in [ 'marker', 'lba', 'hba' ]: (name, stationID, "center", -1, -1, long, lat, height)
cursor = db.cursor() for infoType in ['marker', 'lba', 'hba']:
cursor.execute("select * from get_ref_objects(%s, %s)", (sys.argv[1], infoType)) cursor.execute("select * from get_ref_objects(%s, %s)", (filename, infoType))
counter = 0 counter = 0
while (1): while (1):
record = cursor.fetchone() record = cursor.fetchone()
if record == None: if record is None:
break break
RSPnr = int(record[2]%100/4) RSPnr = int(record[2] % 100/4)
print "%s %s %s%d %d %d x [%s,%s,%s] [0,0,0]" % (name, stationID, infoType, int(record[2])%100, RSPnr, counter, record[3], record[4], record[5]) print "%s %s %s%d %d %d x [%s,%s,%s] [0,0,0]" % \
print "%s %s %s%d %d %d y [%s,%s,%s] [0,0,0]" % (name, stationID, infoType, int(record[2])%100, RSPnr, counter+1, record[3], record[4], record[5]) (name, stationID, infoType, int(record[2]) % 100, RSPnr, counter,
record[3], record[4], record[5])
print "%s %s %s%d %d %d y [%s,%s,%s] [0,0,0]" % \
(name, stationID, infoType, int(record[2]) % 100, RSPnr, counter+1,
record[3], record[4], record[5])
counter = counter + 2 counter = counter + 2
db.close() db.close()
sys.exit(1) sys.exit(1)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment