2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2024-11-22 23:31:52 +00:00
troggle/reset-django.py
2020-07-18 16:23:54 +01:00

88 lines
2.2 KiB
Python

import os
import shutil
from pprint import pprint
"""Cleans all django-created files and compiled python. Used by the
pre-run.sh script which cleans and initialises everything before
running:
python databaseReset.py reset
Downloaded (June 2020) from:
https://groups.google.com/forum/#!topic/django-users/C8Q7CTpcChc
"""
# from https://groups.google.com/forum/#!topic/django-users/C8Q7CTpcChc
# Just put it in the folder where manage.py file is and run it.
folders = []
base_dir = os.path.dirname(os.path.realpath(__file__))
def get_directory_list():
global folders
global base_dir
for root, d_names, f_names in os.walk(base_dir):
for name in d_names:
folders.append(os.path.join(root, name))
folders = sorted(folders)
return folders
def delete_pycache():
global folders
for folder in folders:
if folder.endswith("__pycache__"):
shutil.rmtree(folder)
print("All __pycache__ files deleted.")
return None
def delete_migrations():
global folders
for folder in folders:
if folder.endswith("migrations"):
for item in os.listdir(folder):
if not item.endswith("__init__.py"):
os.remove(os.path.join(folder, item))
print("All migration files deleted.")
return None
def delete_sqlite3():
global base_dir
db_file = os.path.join(base_dir, "troggle.sqlite")
#print("troggle.sqlite: {}".format(db_file))
if os.path.exists(db_file):
try:
os.remove(db_file)
print("\n>>> troggle.sqlite: {} DELETED\n".format(db_file))
except:
print("troggle.sqlite: {} NOT deleted".format(db_file))
def main():
global folders
print("base directory used: {}".format(base_dir))
try:
get_directory_list()
delete_pycache()
delete_migrations()
delete_sqlite3()
print("All cleanup operations performed successfully.")
except Exception as e:
print("There was some error! Aaargh. \n")
raise
if __name__ == "__main__":
main()