triflix commited on
Commit
2609650
·
verified ·
1 Parent(s): 85e7180

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -9
app.py CHANGED
@@ -5,12 +5,16 @@ import os
5
  from flask_cors import CORS
6
 
7
  app = Flask(__name__)
8
- CORS(app) # Enable CORS for all routes (for front-end testing on a different port/domain)
9
 
10
- DATA_DIR = '/data'
 
11
  DATA_FILE = os.path.join(DATA_DIR, 'events.json')
12
 
13
- # Initialize the events.json file if it doesn't exist
 
 
 
14
  if not os.path.exists(DATA_FILE):
15
  with open(DATA_FILE, 'w') as f:
16
  json.dump([], f)
@@ -50,9 +54,8 @@ def index():
50
 
51
  return render_template('index.html', events=events, reminders=reminders, search=search_query)
52
 
53
- # Get all events or add new event
54
  @app.route('/events', methods=['GET', 'POST'])
55
- @app.route('/events/', methods=['GET', 'POST']) # For routes with trailing slash
56
  def events():
57
  if request.method == 'GET':
58
  events = load_events()
@@ -71,7 +74,6 @@ def events():
71
  save_events(events)
72
  return jsonify(new_event), 201
73
 
74
- # Update an existing event
75
  @app.route('/events/<event_id>', methods=['PUT'])
76
  def update_event(event_id):
77
  events = load_events()
@@ -83,7 +85,6 @@ def update_event(event_id):
83
  return jsonify(event)
84
  return jsonify({'error': 'Event not found'}), 404
85
 
86
- # Delete an event
87
  @app.route('/events/<event_id>', methods=['DELETE'])
88
  def delete_event(event_id):
89
  events = load_events()
@@ -91,12 +92,10 @@ def delete_event(event_id):
91
  save_events(events)
92
  return '', 204
93
 
94
- # Custom template filter for formatting time (12-hour clock)
95
  @app.template_filter('format12')
96
  def format12(value):
97
  dt = datetime.fromisoformat(value)
98
  return dt.strftime('%I:%M %p, %b %d')
99
 
100
  if __name__ == "__main__":
101
- # Make sure it listens on 0.0.0.0 (the container's network interface)
102
  app.run(host="0.0.0.0", port=7860)
 
5
  from flask_cors import CORS
6
 
7
  app = Flask(__name__)
8
+ CORS(app) # Enable CORS for all routes
9
 
10
+ # Use a writable local data directory
11
+ DATA_DIR = './data'
12
  DATA_FILE = os.path.join(DATA_DIR, 'events.json')
13
 
14
+ # Ensure the ./data directory exists
15
+ os.makedirs(DATA_DIR, exist_ok=True)
16
+
17
+ # ✅ Initialize events.json if it doesn't exist
18
  if not os.path.exists(DATA_FILE):
19
  with open(DATA_FILE, 'w') as f:
20
  json.dump([], f)
 
54
 
55
  return render_template('index.html', events=events, reminders=reminders, search=search_query)
56
 
 
57
  @app.route('/events', methods=['GET', 'POST'])
58
+ @app.route('/events/', methods=['GET', 'POST'])
59
  def events():
60
  if request.method == 'GET':
61
  events = load_events()
 
74
  save_events(events)
75
  return jsonify(new_event), 201
76
 
 
77
  @app.route('/events/<event_id>', methods=['PUT'])
78
  def update_event(event_id):
79
  events = load_events()
 
85
  return jsonify(event)
86
  return jsonify({'error': 'Event not found'}), 404
87
 
 
88
  @app.route('/events/<event_id>', methods=['DELETE'])
89
  def delete_event(event_id):
90
  events = load_events()
 
92
  save_events(events)
93
  return '', 204
94
 
 
95
  @app.template_filter('format12')
96
  def format12(value):
97
  dt = datetime.fromisoformat(value)
98
  return dt.strftime('%I:%M %p, %b %d')
99
 
100
  if __name__ == "__main__":
 
101
  app.run(host="0.0.0.0", port=7860)