diff --git a/var/www.saladbook.xyz/database/database.json b/var/www.saladbook.xyz/database/database.json
index f03f7e5c..911701eb 100644
--- a/var/www.saladbook.xyz/database/database.json
+++ b/var/www.saladbook.xyz/database/database.json
@@ -1,6 +1,5 @@
{
"Stefano": "Carrot",
"Leo": "nicoise",
- "Daniil": "with_beets",
-
-}
\ No newline at end of file
+ "Daniil": "with_beets"
+}
diff --git a/var/www.saladbook.xyz/database/salad_db.py b/var/www.saladbook.xyz/database/salad_db.py
index 1836940a..1f04e9f3 100755
--- a/var/www.saladbook.xyz/database/salad_db.py
+++ b/var/www.saladbook.xyz/database/salad_db.py
@@ -12,17 +12,19 @@ def get_script_directory():
def load_database(filename):
"""Load the JSON database from a file."""
+ print(f"DEBUG: Attempting to load database from {filename}
")
if os.path.exists(filename):
try:
with open(filename, "r") as file:
return json.load(file)
except json.JSONDecodeError:
- print("Error: Database file contains invalid JSON. Initializing an empty database.")
- return {}
+ print("Error: Database file contains invalid JSON. Unable to load data.")
+ return None
except Exception as e:
print(f"Error: Failed to read the database file. {e}")
- return {}
+ return None
else:
+ print(f"DEBUG: Database file {filename} does not exist.
")
return {}
def save_database(data, filename):
@@ -30,9 +32,19 @@ def save_database(data, filename):
try:
with open(filename, "w") as file:
json.dump(data, file, indent=4)
+ print(f"DEBUG: Database saved to {filename}
")
except Exception as e:
print(f"Error: Failed to save the database file. {e}")
+def initialize_database(filename):
+ """Initialize the database file if it does not exist."""
+ if not os.path.exists(filename):
+ data = {}
+ save_database(data, filename)
+ return data
+ else:
+ return load_database(filename)
+
def main():
print("Content-type: text/html\n")
print()
@@ -45,9 +57,12 @@ def main():
# Get the directory where the script is located
script_directory = get_script_directory()
filename = os.path.join(script_directory, "database.json")
+ print(f"DEBUG: Database filename is {filename}
")
- # Load existing data
- data = load_database(filename)
+ # Initialize and load existing data
+ data = initialize_database(filename)
+ if data is None:
+ data = {}
print(f"DEBUG: Loaded data: {data}
")
# Determine the request method
@@ -58,14 +73,17 @@ def main():
# Read the input data from stdin
content_length = int(os.getenv('CONTENT_LENGTH', 0))
post_data = sys.stdin.read(content_length)
+ print(f"DEBUG: Received POST data: {post_data}
")
form_data = parse_qs(post_data)
else: # DELETE method
- form_data = cgi.FieldStorage()
+ form_data = sys.stdin.read()
# Debugging: Print the form keys and values
for key in form_data.keys():
print(f"DEBUG: form[{key}]={form_data[key]}
")
+ print(f"DEBUG: form_data={form_data}
")
+
name = form_data.get('name', [None])[0]
salad = form_data.get('salad', [None])[0] if method == 'POST' else None