#-------------------------------------------------------------------------------
# Name:        module1
# Purpose:
#
# Author:      gavreh
#
# Created:     03/11/2016
# Copyright:   (c) gavreh 2016
# Licence:     <your licence>
#-------------------------------------------------------------------------------

import csv, os
from sets import Set
import re

import urllib
import socket
import csv_db
import dates_db



def main():
    original_lit_filename = "lit.csv" 
    lit_filename = "DERIVED/clients_lit.csv"
    csv_db.copy_csv(original_lit_filename, lit_filename)

    # Clints table
    clients_add = "DERIVED/clients.csv"
    current_max_clients_id = 4804
    # current_max_clients_id = 4628
    csv_db.copy_csv(original_lit_filename, clients_add)
    csv_db.add_column(clients_add, 0, "id", current_max_clients_id)
    csv_db.add_column(lit_filename, 0, "clients_id", current_max_clients_id)

    # MAIN IMAGE?
    # SLUG?

    # Remove things for the CLIENTS_LIT table:
    csv_db.remove_column(lit_filename,"Full Name")
    csv_db.remove_column(lit_filename,"Music")
    csv_db.remove_column(lit_filename,"Actor")
    csv_db.remove_column(lit_filename,"Bio")
    
    csv_db.remove_column(lit_filename,"Theater")
    csv_db.remove_column(lit_filename,"TV")
    csv_db.remove_column(lit_filename,"MP")
    
    csv_db.remove_column(lit_filename,"Writer")
    csv_db.remove_column(lit_filename,"Director")
    csv_db.remove_column(lit_filename,"Producer")

    csv_db.remove_column(lit_filename,"Action/Adventure")
    csv_db.remove_column(lit_filename,"Animation")
    csv_db.remove_column(lit_filename,"Comedy")
    csv_db.remove_column(lit_filename,"Romantic Comedy")
    csv_db.remove_column(lit_filename,"Drama")
    csv_db.remove_column(lit_filename,"Family")
    csv_db.remove_column(lit_filename,"Fantasy")
    csv_db.remove_column(lit_filename,"Horror")
    csv_db.remove_column(lit_filename,"Scifi")
    csv_db.remove_column(lit_filename,"Thriller")
    
    
    # Remove things for the CLIENTS table:
    csv_db.remove_column(clients_add,"image")
    csv_db.remove_column(clients_add,"Theater")
    csv_db.remove_column(clients_add,"TV")
    csv_db.remove_column(clients_add,"MP")
    csv_db.remove_column(clients_add,"Areas-Combined")
    csv_db.remove_column(clients_add,"First Name")
    csv_db.remove_column(clients_add,"Last Name")
    csv_db.remove_column(clients_add,"Client Team")
    csv_db.remove_column(clients_add,"Point Agent")
    csv_db.remove_column(clients_add,"Management")
    csv_db.remove_column(clients_add,"Music")
    csv_db.remove_column(clients_add,"Actor")
    csv_db.remove_column(clients_add,"Male/Female")
    csv_db.remove_column(clients_add,"Country of Origin") # ??
    csv_db.remove_column(clients_add,"Writing Team")
    csv_db.remove_column(clients_add,"IMDB")
    csv_db.remove_column(clients_add,"Studio System")
    csv_db.remove_column(clients_add,"Credits")
    csv_db.remove_column(clients_add,"Inactive")
    csv_db.remove_column(clients_add,"Ethnicity ")

    csv_db.remove_column(clients_add,"Writer")
    csv_db.remove_column(clients_add,"Director")
    csv_db.remove_column(clients_add,"Producer")
    csv_db.remove_column(clients_add,"Type-Combined")
    csv_db.remove_column(clients_add,"Other")
    

    csv_db.remove_column(clients_add,"Action/Adventure")
    csv_db.remove_column(clients_add,"Animation")
    csv_db.remove_column(clients_add,"Comedy")
    csv_db.remove_column(clients_add,"Romantic Comedy")
    csv_db.remove_column(clients_add,"Drama")
    csv_db.remove_column(clients_add,"Family")
    csv_db.remove_column(clients_add,"Fantasy")
    csv_db.remove_column(clients_add,"Horror")
    csv_db.remove_column(clients_add,"Scifi")
    csv_db.remove_column(clients_add,"Thriller")
    csv_db.remove_column(clients_add,"Genre-Combined")



    # csv_db.create_many_to_many_relationship(
    #     lit_filename,
    #     None,
    #     "Ages",

    #     None,
    #     "id",
    #     "name",

    #     "DERIVED/lit_ages.csv",

    #     "DERIVED/clients_lit_ages.csv",
    #     "clients_lit_id",
    #     "ages_id"
    # )
    # csv_db.remove_column(lit_filename, "Ages")

    csv_db.create_many_to_many_relationship(
        lit_filename,
        None,
        "Management",

        "companies.csv",
        "id",
        "name",

        "DERIVED/companies.csv",

        "DERIVED/clients_lit_companies.csv",
        "clients_lit_id",
        "companies_id"
    )
    csv_db.remove_column(lit_filename, "Management")

    csv_db.create_many_to_many_relationship(
        lit_filename,
        None,
        "Ethnicity ",

        "ethnicities.csv",
        "id",
        "name",

        "DERIVED/ethnicities.csv",

        "DERIVED/clients_lit_ethnicities.csv",
        "clients_lit_id",
        "ethnicities_id"
    )
    csv_db.remove_column(lit_filename, "Ethnicity ")

    # created_many_to_many_relationship(lit_filename, "Skills", "DERIVED/clients_lit_skills.csv", "DERIVED/talent_skills.csv", ["id","clients_lit_id","talent_skills_id"], False, False, True)
    # csv_db.create_many_to_many_relationship(
    #     lit_filename,
    #     None,
    #     "Skills",

    #     None,
    #     "id",
    #     "name",

    #     "DERIVED/talent_skills.csv",

    #     "DERIVED/clients_lit_skills.csv",
    #     "clients_lit_id",
    #     "talent_skills_id"
    # )
    # csv_db.remove_column(lit_filename, "Skills")

    # csv_db.create_many_to_many_relationship(
    #     lit_filename,
    #     "id",
    #     "Languages",

    #     "languages.csv",
    #     "id",
    #     "name",

    #     "DERIVED/languages.csv",

    #     "DERIVED/clients_lit_languages.csv",
    #     "clients_lit_id",
    #     "languages_id"
    # )
    # csv_db.remove_column(lit_filename, "Languages")
    # TODO Locations (But this will probably me manual)

    csv_db.create_many_to_many_relationship(
        lit_filename,
        "id",
        "Point Agent",

        "users.csv",
        "id",
        "agent_code",

        "DERIVED/users.csv",

        "DERIVED/clients_lit_users.csv",
        "clients_lit_id",
        "users_id",
        [["type", "1"]]
    )
    csv_db.remove_column(lit_filename, "Point Agent")

    csv_db.create_many_to_many_relationship(
        lit_filename,
        "id",
        "Client Team",

        "users.csv",
        "id",
        "agent_code",

        "DERIVED/users.csv",

        "DERIVED/clients_lit_users_2.csv",
        "clients_lit_id",
        "users_id",
        [["type", "2"]]
    )
    csv_db.remove_column(lit_filename, "Client Team")

    csv_db.create_many_to_many_relationship(
        lit_filename,
        "id",
        "Areas-Combined",

        None,
        "id",
        "name",

        "DERIVED/lit_areas.csv",

        "DERIVED/clients_lit_areas.csv",
        "clients_lit_id",
        "lit_areas_id"
    )
    csv_db.remove_column(lit_filename, "Areas-Combined")


    csv_db.create_many_to_many_relationship(
        lit_filename,
        "id",
        "Type-Combined",

        None,
        "id",
        "name",

        "DERIVED/lit_types.csv",

        "DERIVED/clients_lit_types.csv",
        "clients_lit_id",
        "lit_types_id"
    )
    csv_db.remove_column(lit_filename, "Type-Combined")




    csv_db.create_many_to_many_relationship(
        lit_filename,
        "id",
        "Genre-Combined",

        None,
        "id",
        "name",

        "DERIVED/lit_genres.csv",

        "DERIVED/clients_lit_genres.csv",
        "clients_lit_id",
        "lit_genres_id"
    )
    csv_db.remove_column(lit_filename, "Genre-Combined")


    dates_db.convert_date(lit_filename, "Inactive")


if __name__ == '__main__':
    main()