import load_config import image_processing import os, sys #### # CURRENT ISSUES #### # # Pixelfed API doesn't honour newlines. - Possibly look at HTML formatting? # Pixelfed publishing is missing date - Needs parsing and appending to description def main(): if len(sys.argv) < 2: print("Usage: social-photos ") 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) if load_config.config['flickr']['enable']: print("Flickr publishing enabled") import publish_flickr publish_flickr.upload(file_data) if load_config.config['pixelfed']['enable']: print("Pixelfed publishing enabled") import publish_pixelfed publish_pixelfed.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()