import ephem
import numpy as np

star_ra="23:39:09"
star_dec="46:38:56"
star_name="toto"

offset_max_radeg = 30
offset_step_radeg = 5

offset_max_decdeg = 30
offset_step_decdeg = 5

exp_time = 5.0
focus =  20000

filename = "pointing_model.org"
f=open(filename, "w")

header = ["| TARGET |   RADEG |  DECDEG | TRACKING | EXPTIME | SHUTTER | FOCUSPOS | FILTER | LED | ILED | HEADXDEG | HEADYDEG |\n",
"|--------+---------+---------+----------+---------+---------+----------+--------+-----+------+----------+----------|\n"]
eol='\n'

f.writelines(header)

radeg = np.degrees(ephem.hours(star_ra))
decdeg = float("%.3f"%np.degrees(ephem.degrees(star_dec)))

#initial on star + dark
#for starters in zip([star_name, 'DARK'],['Open','Close']):
#    string = "|%s|%s|%s|True|%s|%s|%s|Bi|0|0|0|0|"%(starters[0], str(radeg), str(decdeg), str(exp_time), starters[1], focus)
#    f.writelines([string+eol])

string =     "|Dark|%s|%s|True|%s|%s|%s|Bi|0|0|0|0|"%(str(radeg), str(decdeg), str(exp_time), 'Close', focus)
f.writelines([string+eol])

print((radeg, decdeg))
#initial on star + dark
#add +step in dec
for step in np.arange(0,offset_max_radeg, offset_step_radeg):
    newval = decdeg+step
    string = "|%s|%s|%s|True|%s|Open|%s|Bi|0|0|0|0|"%("", str(radeg), str(newval), str(exp_time), focus)
    f.writelines([string+eol])
#back to on star and
#string = "|%s|%s|%s|True|%s|Open|%s|Bi|0|0|0|0|"%(star_name, str(radeg), str(decdeg), str(exp_time), focus)
#f.writelines([string+eol])
#add -step in dec
for step in np.arange(0,-offset_max_radeg, -offset_step_radeg):
    newval = decdeg+step
    string = "|%s|%s|%s|True|%s|Open|%s|Bi|0|0|0|0|"%("", str(radeg), str(newval), str(exp_time), focus)
    f.writelines([string+eol])
#back to on star and
#string = "|%s|%s|%s|True|%s|Open|%s|Bi|0|0|0|0|"%(star_name, str(radeg), str(decdeg), str(exp_time), focus)
#f.writelines([string+eol])

#add +step in ra
for step in np.arange(0,offset_max_radeg, offset_step_radeg):
    newval = radeg+step
    string = "|%s|%s|%s|True|%s|Open|%s|Bi|0|0|0|0|"%("", str(newval), str(decdeg), str(exp_time), focus)
    f.writelines([string+eol])
#back to on star and
#string = "|%s|%s|%s|True|%s|Open|%s|Bi|0|0|0|0|"%(star_name, str(radeg), str(decdeg), str(exp_time), focus)
#f.writelines([string+eol])
#add +step in dec
for step in np.arange(0, -offset_max_radeg, -offset_step_radeg):
    newval = radeg+step
    string = "|%s|%s|%s|True|%s|Open|%s|Bi|0|0|0|0|"%("", str(newval), str(decdeg), str(exp_time), focus)
    f.writelines([string+eol])

f.close()
