"""
The positions in the OH masers were a mess when they came in.

This script tries to resolve the object names given using simbad and outputs
the results.
"""

import random
import time

from gavo.protocols import simbadinterface
from gavo import base

def generateResolution():
	with base.getTableConn() as conn:
		resolver = simbadinterface.Sesame(id="ohmasers", saveNew=True)
		for sourceNo, in conn.query(
				"select distinct source_no from ohmaser.masers"):
			for sourceName, raj2000, dej2000, primflag in conn.query(
					"select source_name, raj2000, dej2000, primflag from ohmaser.masers"
					" where source_no=%(sourceNo)s", locals()):
				simData = resolver.query(sourceName)
				if simData:
					simPos = "(%.6f, %.6f)"%(simData["RA"], simData["dec"])
				else:
					simPos = "None"
				if raj2000 is None:
					pPos = "None"
				else:
					pPos = "(%.6f, %.6f)"%(raj2000, dej2000)
				print "%4d/%-4s\t%-30s\t%-30s\t%-30s"%(
					sourceNo, primflag, sourceName, pPos, simPos)


if __name__=="__main__":
	generateResolution()
