forked from expo/troggle
Move exception handling to calling View
This commit is contained in:
parent
5bad82b4f0
commit
84e165b8fc
@ -45,19 +45,13 @@ def writetrogglefile(filepath, filecontent):
|
||||
filename = filepath.name
|
||||
git = settings.GIT
|
||||
|
||||
try:
|
||||
# do not trap exceptions, pass them up to the view that called this function
|
||||
with open(filepath, "w") as f:
|
||||
os.chmod(filepath, 0o664) # set file permissions to rw-rw-r--
|
||||
f.write(filecontent)
|
||||
print(f'WRITING{cwd}---{filename} ')
|
||||
call([git, "add", filename], cwd=cwd)
|
||||
call([git, "commit", "-m", 'Online cave or entrance edit'], cwd=cwd)
|
||||
except PermissionError:
|
||||
message = f'CANNOT save this file.\nPERMISSIONS incorrectly set on server for this file {filename}. Ask a nerd to fix this.'
|
||||
return render(request,'errors/generic.html', {'message': message})
|
||||
except:
|
||||
message = f'CANNOT git on server for this file {filename}. Edits not saved.\nAsk a nerd to fix this.'
|
||||
return render(request,'errors/generic.html', {'message': message})
|
||||
|
||||
|
||||
class Area(TroggleModel):
|
||||
|
@ -359,7 +359,15 @@ def edit_cave(request, slug=None):
|
||||
for ceinst in ceinsts:
|
||||
ceinst.cave = cave
|
||||
ceinst.save()
|
||||
try:
|
||||
cave.writeDataFile()
|
||||
except PermissionError:
|
||||
message = f'CANNOT save this file.\nPERMISSIONS incorrectly set on server for this file {cave.filename}. Ask a nerd to fix this.'
|
||||
return render(request,'errors/generic.html', {'message': message})
|
||||
except:
|
||||
message = f'CANNOT git on server for this file {cave.filename}. Edits not saved.\nAsk a nerd to fix this.'
|
||||
return render(request,'errors/generic.html', {'message': message})
|
||||
|
||||
return HttpResponseRedirect("/" + cave.url)
|
||||
else:
|
||||
message = f'! POST data is INVALID {cave}'
|
||||
@ -420,7 +428,15 @@ def edit_entrance(request, caveslug=None, slug=None):
|
||||
el.cave = cave
|
||||
el.entrance = entrance
|
||||
el.save()
|
||||
try:
|
||||
entrance.writeDataFile()
|
||||
except PermissionError:
|
||||
message = f'CANNOT save this file.\nPERMISSIONS incorrectly set on server for this file {entrance.filename}. Ask a nerd to fix this.'
|
||||
return render(request,'errors/generic.html', {'message': message})
|
||||
except:
|
||||
message = f'CANNOT git on server for this file {entrance.filename}. Edits not saved.\nAsk a nerd to fix this.'
|
||||
return render(request,'errors/generic.html', {'message': message})
|
||||
|
||||
return HttpResponseRedirect("/" + cave.url)
|
||||
else:
|
||||
message = f'! POST data is INVALID {cave}'
|
||||
|
Loading…
Reference in New Issue
Block a user