diff options
author | Philip Sargent <philip.sargent@klebos.com> | 2021-05-03 00:52:51 +0100 |
---|---|---|
committer | Philip Sargent <philip.sargent@klebos.com> | 2021-05-03 00:52:51 +0100 |
commit | 254b465755f7ebfc1650730ac2d51bb33543a85c (patch) | |
tree | bbff19795f4dd5a853c86ea74315e2cb39f466c4 /core/views/expo.py | |
parent | 5a085ba7ba0303732c765d6d0a52e8d560ea9353 (diff) | |
download | troggle-254b465755f7ebfc1650730ac2d51bb33543a85c.tar.gz troggle-254b465755f7ebfc1650730ac2d51bb33543a85c.tar.bz2 troggle-254b465755f7ebfc1650730ac2d51bb33543a85c.zip |
git integration with Save this page
Diffstat (limited to 'core/views/expo.py')
-rw-r--r-- | core/views/expo.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/core/views/expo.py b/core/views/expo.py index 4b7e378..9ff533b 100644 --- a/core/views/expo.py +++ b/core/views/expo.py @@ -1,5 +1,6 @@ import os import re +import subprocess from pathlib import Path from urllib.parse import urljoin, unquote as urlunquote from urllib.request import urlopen @@ -276,7 +277,6 @@ def editexpopage(request, path): # if re.search(r"iso-8859-1", html): # body = str(body, "iso-8859-1") else: - #return HttpResponse("Page could not be split into header and body") return HttpResponse(default_head + html + '<h3>HTML Parsing failure:<br>Page could not be parsed into header and body:<br>failure detected in expowebpage in views.expo.py</h3> Please edit this <var>:expoweb:</var> page to be in the expected full HTML format .</body' ) except IOError: print("### File not found ### ", filepath) @@ -304,9 +304,16 @@ def editexpopage(request, path): body = pageform.cleaned_data["html"] body = body.replace("\r", "") result = "%s<head%s>%s</head>%s<body%s>\n%s</body>%s" % (preheader, headerargs, head, postheader, bodyargs, body, postbody) - f = open(filepath, "w") - f.write(result) - f.close() + + cwd = filepath.parent + filename = filepath.name + git = settings.GIT + with open(filepath, "w") as f: + f.write(result) + print(f'WROTE {cwd}---{filename} ') + subprocess.call([git, "add", filename], cwd=cwd) + subprocess.call([git, "commit", "-m", 'Edit this page'], cwd=cwd) + return HttpResponseRedirect(reverse('expopage', args=[path])) # Redirect after POST else: if filefound: |