Jacobmadwed commited on
Commit
78bfd56
·
verified ·
1 Parent(s): 35bea37

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +0 -109
app.py CHANGED
@@ -3,7 +3,6 @@ import logging
3
  import json
4
  import base64
5
  import uuid
6
- import os
7
  from datetime import datetime
8
  from flask import Flask, jsonify, request
9
  from threading import Thread
@@ -14,7 +13,6 @@ app = Flask(__name__)
14
  CORS(app) # This will enable CORS for all routes
15
 
16
  # Constants
17
- TRACKING_FILE = 'https://capitolphotobooths.com/monday/trackings.json' # Update this path to your specific file location
18
  UPDATE_INTERVAL = 60 * 10 # 10 minutes
19
 
20
  UPS_CLIENT_ID = 'LKrZBgcSZ2v7vtAn3VAmEEBXqpkXD8zIEcZum97Eb8sSl7Fx'
@@ -22,14 +20,6 @@ UPS_CLIENT_SECRET = 'DBAV77mzTWgI5oqWwXlA12hi62hgyUkesoGsREZsmjd1WHMSugpDUuBGTjy
22
  FEDEX_API_KEY = 'l705da56bf34254c3495f351772a6ea2d3'
23
  FEDEX_SECRET_KEY = 'ae27688af74341f094228fc67a36a8cc'
24
 
25
- # Initialize tracking file
26
- def initialize_tracking_file():
27
- if not os.path.exists(TRACKING_FILE):
28
- with open(TRACKING_FILE, 'w') as f:
29
- json.dump({}, f)
30
-
31
- initialize_tracking_file()
32
-
33
  # Configure logging
34
  logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
35
  logger = logging.getLogger(__name__)
@@ -239,66 +229,6 @@ def fetch_ups_tracking_info(tracking_number):
239
  logger.error(f"Response content: {e.response.text}")
240
  raise
241
 
242
- def load_trackings():
243
- try:
244
- if os.path.exists(TRACKING_FILE):
245
- with open(TRACKING_FILE, 'r') as file:
246
- content = file.read().strip()
247
- if content:
248
- trackings = json.loads(content)
249
- logger.info(f"Loaded {len(trackings)} trackings from file")
250
- return trackings
251
- else:
252
- logger.info("Tracking file is empty")
253
- return {}
254
- else:
255
- logger.info(f"Tracking file {TRACKING_FILE} not found")
256
- return {}
257
- except json.JSONDecodeError:
258
- logger.error("Error decoding JSON, file might be corrupted")
259
- return {}
260
- except Exception as e:
261
- logger.error(f"Error loading trackings: {str(e)}")
262
- logger.error(f"Traceback: {traceback.format_exc()}")
263
- return {}
264
-
265
- def save_trackings(trackings):
266
- try:
267
- with open(TRACKING_FILE, 'w') as file:
268
- json.dump(trackings, file, indent=4)
269
- logger.info(f"Saved {len(trackings)} trackings to file")
270
- except Exception as e:
271
- logger.error(f"Error saving trackings to {TRACKING_FILE}: {str(e)}")
272
- logger.error(f"Traceback: {traceback.format_exc()}")
273
- raise
274
-
275
- def update_tracking_info():
276
- while True:
277
- try:
278
- logger.info("Starting periodic tracking update")
279
- trackings = load_trackings()
280
- updated_trackings = {}
281
-
282
- for tracking_number, tracking_info in trackings.items():
283
- logger.info(f"Updating tracking info for {tracking_number}")
284
- if tracking_info['courier'] == 'UPS':
285
- updated_info = fetch_ups_tracking_info(tracking_number)
286
- elif tracking_info['courier'] == 'FedEx':
287
- updated_info = fetch_fedex_tracking_info(tracking_number)
288
- else:
289
- logger.warning(f"Unknown courier for tracking number {tracking_number}: {tracking_info['courier']}")
290
- continue
291
-
292
- updated_info['tracking'] = tracking_number
293
- updated_trackings[tracking_number] = updated_info
294
-
295
- save_trackings(updated_trackings)
296
- logger.info("Tracking update completed")
297
- except Exception as e:
298
- logger.error(f"Error during periodic tracking update: {e}")
299
-
300
- time.sleep(UPDATE_INTERVAL)
301
-
302
  @app.route('/')
303
  def home():
304
  return "Tracking update service is running."
@@ -329,44 +259,5 @@ def get_fedex_tracking():
329
  logger.error(f"Error in get_fedex_tracking: {e}")
330
  return jsonify({"status": "error", "message": str(e)}), 500
331
 
332
- @app.route('/save_tracking', methods=['POST'])
333
- def save_tracking():
334
- try:
335
- tracking_info = request.json
336
- if not tracking_info:
337
- return jsonify({"status": "error", "message": "No data received"}), 400
338
-
339
- logger.info("Received tracking info: %s", tracking_info) # Debug print
340
-
341
- trackings = load_trackings()
342
- tracking_number = tracking_info['tracking']
343
-
344
- # If the tracking already exists, update only the new fields
345
- if tracking_number in trackings:
346
- trackings[tracking_number].update(tracking_info)
347
- else:
348
- trackings[tracking_number] = tracking_info
349
-
350
- save_trackings(trackings)
351
- logger.info(f"Saved tracking: {tracking_number}")
352
- return jsonify({"status": "success", "message": "Tracking saved successfully"}), 200
353
- except Exception as e:
354
- logger.error(f"Error saving tracking: {str(e)}")
355
- return jsonify({"status": "error", "message": str(e)}), 500
356
-
357
- @app.route('/load_trackings', methods=['GET'])
358
- def get_trackings():
359
- try:
360
- trackings = load_trackings()
361
- logger.info("Loaded trackings: %s", trackings)
362
- return jsonify(trackings), 200
363
- except Exception as e:
364
- logger.error(f"Error in get_trackings: {str(e)}")
365
- return jsonify({"status": "error", "message": str(e)}), 500
366
-
367
  if __name__ == '__main__':
368
- # Start the background thread for periodic updates
369
- update_thread = Thread(target=update_tracking_info, daemon=True)
370
- update_thread.start()
371
-
372
  app.run(host='0.0.0.0', port=7860)
 
3
  import json
4
  import base64
5
  import uuid
 
6
  from datetime import datetime
7
  from flask import Flask, jsonify, request
8
  from threading import Thread
 
13
  CORS(app) # This will enable CORS for all routes
14
 
15
  # Constants
 
16
  UPDATE_INTERVAL = 60 * 10 # 10 minutes
17
 
18
  UPS_CLIENT_ID = 'LKrZBgcSZ2v7vtAn3VAmEEBXqpkXD8zIEcZum97Eb8sSl7Fx'
 
20
  FEDEX_API_KEY = 'l705da56bf34254c3495f351772a6ea2d3'
21
  FEDEX_SECRET_KEY = 'ae27688af74341f094228fc67a36a8cc'
22
 
 
 
 
 
 
 
 
 
23
  # Configure logging
24
  logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
25
  logger = logging.getLogger(__name__)
 
229
  logger.error(f"Response content: {e.response.text}")
230
  raise
231
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
232
  @app.route('/')
233
  def home():
234
  return "Tracking update service is running."
 
259
  logger.error(f"Error in get_fedex_tracking: {e}")
260
  return jsonify({"status": "error", "message": str(e)}), 500
261
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
262
  if __name__ == '__main__':
 
 
 
 
263
  app.run(host='0.0.0.0', port=7860)