import os
import glob
import numpy as np
from astropy.coordinates import SkyCoord
from astropy import units as u
from astropy.table import Table

# gals = Table.read('list_full_vhs.txt', format='ascii.fixed_width')
gals = Table.read('coords_5_name.txt', format='ascii.fixed_width')
catalog = SkyCoord(gals['RA'],gals['DEC'], unit=(u.hour, u.deg))

name_col='MAIN_ID'

files = glob.glob('[0-9]*.fits.gz')
files = np.array(files)
nums = [int(file.split('_')[0]) for file in files]
files = files[np.argsort(nums)]


for file in files:
    filesplit = file.split('_')
    str = filesplit[1]
    coord_str = "{:s} {:s} {:s}.{:s} {:s} {:s} {:s}.{:s}".format(str[0:2], str[2:4], str[4:6], str[6:8], str[8:11], str[11:13], str[13:15], str[15:16])
    coord = SkyCoord( coord_str, unit=(u.hourangle, u.deg) )
    idx, distance, quality = coord.match_to_catalog_sky(catalog)
    new_name = ( gals[ idx.tolist() ][name_col]+'_'+filesplit[2] ).replace(" ","")
    print file, ' ---> ',new_name
    os.rename(file, new_name)
