droplyvictor89 commited on
Commit
88fbd36
Β·
verified Β·
1 Parent(s): 329786a

Upload 5 files

Browse files
Files changed (1) hide show
  1. app.py +20 -5
app.py CHANGED
@@ -100,20 +100,21 @@ def drive_upload():
100
  @app.route("/drive/list", methods=["GET"])
101
  def drive_list():
102
  try:
103
- elev_id = request.args.get("elevId", "")
104
- materie = request.args.get("materieId", "")
105
 
106
- # Gaseste folderele
107
  q_elev = f"name='{elev_id}' and '{DRIVE_FOLDER_ID}' in parents and mimeType='application/vnd.google-apps.folder' and trashed=false"
108
  r1 = requests.get("https://www.googleapis.com/drive/v3/files",
109
- params={"q": q_elev, "fields": "files(id)"}, headers=drive_headers(), timeout=15)
110
  ef = r1.json().get("files", [])
111
  if not ef:
112
  return jsonify({"files": []})
113
 
 
114
  q_mat = f"name='{materie}' and '{ef[0]['id']}' in parents and mimeType='application/vnd.google-apps.folder' and trashed=false"
115
  r2 = requests.get("https://www.googleapis.com/drive/v3/files",
116
- params={"q": q_mat, "fields": "files(id)"}, headers=drive_headers(), timeout=15)
117
  mf = r2.json().get("files", [])
118
  if not mf:
119
  return jsonify({"files": []})
@@ -128,6 +129,20 @@ def drive_list():
128
  print(f"[DRIVE LIST ERROR] {e}")
129
  return jsonify({"error": str(e)}), 500
130
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  # ── Ruta download (proxy) ─────────────────────────────────────
132
  @app.route("/drive/download/<file_id>", methods=["GET"])
133
  def drive_download(file_id):
 
100
  @app.route("/drive/list", methods=["GET"])
101
  def drive_list():
102
  try:
103
+ elev_id = request.args.get("elevId", "").replace("'", "\\'")
104
+ materie = request.args.get("materieId", "").replace("'", "\\'")
105
 
106
+ # Gaseste folderul elevului
107
  q_elev = f"name='{elev_id}' and '{DRIVE_FOLDER_ID}' in parents and mimeType='application/vnd.google-apps.folder' and trashed=false"
108
  r1 = requests.get("https://www.googleapis.com/drive/v3/files",
109
+ params={"q": q_elev, "fields": "files(id,name)"}, headers=drive_headers(), timeout=15)
110
  ef = r1.json().get("files", [])
111
  if not ef:
112
  return jsonify({"files": []})
113
 
114
+ # Gaseste folderul materiei
115
  q_mat = f"name='{materie}' and '{ef[0]['id']}' in parents and mimeType='application/vnd.google-apps.folder' and trashed=false"
116
  r2 = requests.get("https://www.googleapis.com/drive/v3/files",
117
+ params={"q": q_mat, "fields": "files(id,name)"}, headers=drive_headers(), timeout=15)
118
  mf = r2.json().get("files", [])
119
  if not mf:
120
  return jsonify({"files": []})
 
129
  print(f"[DRIVE LIST ERROR] {e}")
130
  return jsonify({"error": str(e)}), 500
131
 
132
+ # ── Ruta delete ───────────────────────────────────────────────
133
+ @app.route("/drive/delete/<file_id>", methods=["DELETE"])
134
+ def drive_delete(file_id):
135
+ try:
136
+ r = requests.delete(
137
+ f"https://www.googleapis.com/drive/v3/files/{file_id}",
138
+ headers=drive_headers(), timeout=15)
139
+ if r.status_code in (200, 204):
140
+ return jsonify({"ok": True})
141
+ return jsonify({"error": f"Drive returned {r.status_code}"}), 500
142
+ except Exception as e:
143
+ print(f"[DRIVE DELETE ERROR] {e}")
144
+ return jsonify({"error": str(e)}), 500
145
+
146
  # ── Ruta download (proxy) ─────────────────────────────────────
147
  @app.route("/drive/download/<file_id>", methods=["GET"])
148
  def drive_download(file_id):