import load_config
import image_processing
import load_config
import publish_flickr

import os, sys

def main():
    if len(sys.argv) < 2:
        print("Usage: social-photos <directory_or_file_path>")
    else:
        path = sys.argv[1]
        
        if not os.path.exists(path):
            print(f"'{path}' does not exist.")
            sys.exit(1)
        elif os.path.isfile(path):
            print(f"'{path}' is a file.")
            files = [path]
        elif os.path.isdir(path):
            print(f"'{path}' is a directory.")
            files = list_files_in_directory(path)
        else:
            print(f"'{path}' is neither a file nor a directory.")
            sys.exit(1)
        
        print("These files will be uploaded:")
        for item in files:
            print(item)
        confirmation = input("Proceed? (y/n): ").strip().lower()
        
        if confirmation != 'y':
            print("Cancelling operation")
            sys.exit(0)

        file_data = []
        for item in files:
            item_data = image_processing.get_image_data(item)
            file_data.append(item_data)

        print(file_data)
        publish_flickr.upload(file_data)
        
def list_files_in_directory(directory):
    top_level_items = os.listdir(directory)
    full_paths = [os.path.join(directory, item) for item in top_level_items]
    return full_paths

if __name__ == "__main__":
    main()