commit e2486df68043775d72194ea60a24bdd31d1ea989 Author: askiiart Date: Fri Dec 23 13:49:37 2022 -0600 Initial commit - buildings download completed diff --git a/main.py b/main.py new file mode 100644 index 0000000..ac18694 --- /dev/null +++ b/main.py @@ -0,0 +1,51 @@ +import os +import csv +import pickle +from pprint import pprint + +try: + from wget import download +except ImportError as e: + print('Error: Please install wget using "pip install wget"') + exit(1) + +def download_and_process(buildings_file_name, debug=False): + + if 'data' not in os.listdir(): + os.mkdir('data') + os.chdir('data') + if debug: + print(os.listdir()) + + # Buildings download + if f'{buildings_file_name[:-4]}.pickle' in os.listdir(): + pickle.load(open(f'{buildings_file_name[:-4]}.pickle', 'rb')) + elif buildings_file_name not in os.listdir(): + if debug: + print('Downloading building info...') + download( + 'https://docs.google.com/spreadsheets/d/16J269YAFTVy_IPuzGUXfV_4-Rplzk1LVk7YpsvDcEVY/export?format=tsv', + buildings_file_name) + if debug: + print('Building info downloaded') + else: + print('Building info already downloaded, but not pickled') + + # Buildings tsv processing + with open(buildings_file_name) as file: + reader = csv.reader(file, delimiter='\t') # Changes delimiter to tab for .tsv files + buildings = {} + for row in reader: + temp = list(row) + buildings[temp[0].lower()] = [row[i].lower() for i in range(1, len(row))] + pickle.dump(buildings, open(f'{buildings_file_name[:-4]}.pickle', 'wb')) + + return buildings + + os.chdir('..') + + +print('Downloading and processing buildings...') +buildings = download_and_process('buildings.tsv') +print('Buildings downloaded and processed') +print()