File Exists Test
This commit is contained in:
parent
e42a4bb3e2
commit
1fad8d911c
63
api/views.py
63
api/views.py
|
|
@ -303,37 +303,40 @@ import os
|
|||
def NCAddFiles(request):
|
||||
if request.method == "GET":
|
||||
agency = Agency.objects.get(pk=request.GET.get('agencyid'))
|
||||
file_to_load = DataFile.objects.get(pk=request.GET.get('fileid'))
|
||||
datadir_parent = None
|
||||
datadir_parent_dirnames = []
|
||||
if(file_to_load.parent != None):
|
||||
datadir_parent = file_to_load.parent
|
||||
datadir_parent_dirnames = [file_to_load.parent.name]
|
||||
|
||||
while(datadir_parent.parent != None):
|
||||
datadir_parent_dirnames.append(datadir_parent.parent.name)
|
||||
datadir_parent = datadir_parent.parent
|
||||
## Popping last Element
|
||||
d_prestring = ""
|
||||
if(len(datadir_parent_dirnames) > 0):
|
||||
datadir_parent_dirnames.pop(len(datadir_parent_dirnames)-1)
|
||||
# Turning Array around
|
||||
datadir_parent_dirnames = datadir_parent_dirnames[::-1]
|
||||
if(DataFile.objects.filter(pk=request.GET.get('fileid')).exists()):
|
||||
file_to_load = DataFile.objects.get(pk=request.GET.get('fileid'))
|
||||
datadir_parent = None
|
||||
datadir_parent_dirnames = []
|
||||
if(file_to_load.parent != None):
|
||||
datadir_parent = file_to_load.parent
|
||||
datadir_parent_dirnames = [file_to_load.parent.name]
|
||||
|
||||
# Dirs needed for the File
|
||||
for d in datadir_parent_dirnames:
|
||||
new_folder = d_prestring + "/" +d
|
||||
r = requests.request("MKCOL", settings.NEXTCLOUD_URL + "remote.php/dav/files/vhdadjangoapi_8fjz47epc6/Agenturdaten_" + str(agency.pk)+ '/' + new_folder, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API))
|
||||
d_prestring += "/" + d
|
||||
|
||||
# Uplod the file!
|
||||
final_file_path = settings.NEXTCLOUD_URL + "remote.php/dav/files/vhdadjangoapi_8fjz47epc6/Agenturdaten_"+ str(agency.pk) + "/" + d_prestring + "/" + file_to_load.name
|
||||
with open(file_to_load.file.path, 'rb') as f:
|
||||
r = requests.put(final_file_path, data=f, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API))
|
||||
if(len(r.text) == 0):
|
||||
return JsonResponse({'status' : True, 'message': 'Datei ' + file_to_load.name + ' angelegt.'})
|
||||
else:
|
||||
return JsonResponse({'status' : True, 'message': 'Datei ' + file_to_load.name + ' konnte nicht angelegt. Bitte manuell prüfen!'})
|
||||
while(datadir_parent.parent != None):
|
||||
datadir_parent_dirnames.append(datadir_parent.parent.name)
|
||||
datadir_parent = datadir_parent.parent
|
||||
## Popping last Element
|
||||
d_prestring = ""
|
||||
if(len(datadir_parent_dirnames) > 0):
|
||||
datadir_parent_dirnames.pop(len(datadir_parent_dirnames)-1)
|
||||
# Turning Array around
|
||||
datadir_parent_dirnames = datadir_parent_dirnames[::-1]
|
||||
|
||||
# Dirs needed for the File
|
||||
for d in datadir_parent_dirnames:
|
||||
new_folder = d_prestring + "/" +d
|
||||
r = requests.request("MKCOL", settings.NEXTCLOUD_URL + "remote.php/dav/files/vhdadjangoapi_8fjz47epc6/Agenturdaten_" + str(agency.pk)+ '/' + new_folder, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API))
|
||||
d_prestring += "/" + d
|
||||
|
||||
# Uplod the file!
|
||||
final_file_path = settings.NEXTCLOUD_URL + "remote.php/dav/files/vhdadjangoapi_8fjz47epc6/Agenturdaten_"+ str(agency.pk) + "/" + d_prestring + "/" + file_to_load.name
|
||||
with open(file_to_load.file.path, 'rb') as f:
|
||||
r = requests.put(final_file_path, data=f, auth=(settings.NEXTCLOUD_USER_API, settings.NEXTCLOUD_PW_API))
|
||||
if(len(r.text) == 0):
|
||||
return JsonResponse({'status' : True, 'message': 'Datei ' + file_to_load.name + ' angelegt.'})
|
||||
else:
|
||||
return JsonResponse({'status' : True, 'message': 'Datei ' + file_to_load.name + ' konnte nicht angelegt. Bitte manuell prüfen!'})
|
||||
else:
|
||||
return JsonResponse({'status' : True, 'message': 'Datei ' + str(request.GET.get('fileid')) + ' konnte nicht in Django gefunden werden. Bitte manuell prüfen!'})
|
||||
|
||||
return JsonResponse({"status" : "NO AUTH"})
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue