import geopandas as gpd
import glob as glob
import sys
import os
import pandas as pandas
#path = '/home/linux/swdb/merged_maps/'
def addFields(path):
    #args = sys.argv[1:]
    #path = args[0] if args else '.'
    #get all the shapefiles in the directory passed ini
    for file_name in glob.glob(path):
        if file_name.endswith("*.shp"):
            print(file_name.split('_')[1])
            try:
                gdf = gpd.read_file(file_name)
                if gdf['COUNTY'] == None or gdf['COUNTY'] == '':
                    gdf['COUNTY'] = file_name.split('_')[1]
               
                if gdf['PRECINCT'] == None or gdf['PRECINCT'] == '':
                    gdf['PRECINCT_KEY'] = '06'+ gdf[file_name.split('_')[0].upper()]           
                gdf["PRECINT_KEY"]= '06' + gdf['PRECINCT']
                gdf["ELECTION_YEAR"]= file_name.split('_')[2][1:]
                gdf["PRECINCT_TYPE"]=  file_name.split('_')[0].upper()
                gdf["FIPS_CODE"] = '06'+ gdf['COUNTY']
                gdf.to_file(file_name)
            except:
                print(file_name, "has been skipped.")

if __name__ == "__main__":
    args = sys.argv[1:]
    path = args[0] if args else '.'
    #path = '/home/linux/swdb/merged_maps/'
    addFields(path)
