Spaces:
Sleeping
Sleeping
import os # Import the os module to interact with the operating system | |
from pathlib import Path # Import the Path class from pathlib module for handling file paths | |
import logging # Import the logging module for logging messages | |
# Configure the logging to display messages with time and message content | |
logging.basicConfig(level=logging.INFO, format='[%(asctime)s]: %(message)s') | |
# List of files that we want to create | |
list_of_files = [ | |
"src/__init__.py", # A Python package initialization file | |
"src/helper.py", # A helper module | |
"src/prompt.py", # A prompt module | |
".env", # Environment configuration file | |
"setup.py", # Python setup script | |
"research/trials.ipynb", # Jupyter notebook for research | |
"app.py", # Main application script | |
"store_index.py", # Index script for storage | |
"static/.gitkeep", # Directory for static files (e.g., CSS, JS) | |
"templates/chat.html" , # HTML template for chat | |
".gitignore" | |
] | |
# Iterate over each file path in the list | |
for filepath in list_of_files: | |
filepath = Path(filepath) # Convert the file path to a Path object | |
filedir, filename = os.path.split(filepath) # Split the path into directory and file name | |
# Check if the directory part of the path is not empty | |
if filedir: | |
os.makedirs(filedir, exist_ok=True) # Create the directory if it doesn't exist | |
logging.info(f"Creating directory: {filedir} for the file {filename}") # Log directory creation | |
# Check if the file doesn't exist or if it exists but is empty | |
if not os.path.exists(filepath) or os.path.getsize(filepath) == 0: | |
with open(filepath, 'w') as f: # Open the file in write mode (this creates an empty file) | |
pass # Do nothing else inside the with block | |
logging.info(f"Creating empty file: {filepath}") # Log file creation | |
else: | |
logging.info(f"{filename} is already created") # Log that the file already exists | |