mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2025-12-14 21:47:12 +00:00
Editing no longer changes files more than nesecary. Removed TinyMCE editing. /Sumbit/Submit
This commit is contained in:
@@ -57,9 +57,9 @@ def flatpage(request, path):
|
||||
if path.endswith(".htm") or path.endswith(".html"):
|
||||
html = o.read()
|
||||
|
||||
m = re.search(r"<head>(.*)</head>.*<body[^>]*>(.*)</body>", html, re.DOTALL + re.IGNORECASE)
|
||||
m = re.search(r"(.*)<\s*head([^>]*)>(.*)<\s*/head\s*>(.*)<\s*body([^>]*)>(.*)<\s*/body\s*>(.*)", html, re.DOTALL + re.IGNORECASE)
|
||||
if m:
|
||||
head, body = m.groups()
|
||||
preheader, headerattrs, head, postheader, bodyattrs, body, postbody = m.groups()
|
||||
else:
|
||||
return HttpResponse(html + "Page could not be split into header and body")
|
||||
m = re.search(r"<title>(.*)</title>", head, re.DOTALL + re.IGNORECASE)
|
||||
@@ -107,13 +107,13 @@ def editflatpage(request, path):
|
||||
filepath = os.path.normpath(settings.EXPOWEB + path)
|
||||
o = open(filepath, "r")
|
||||
html = o.read()
|
||||
m = re.search(r"<head>(.*)</head>.*<body[^>]*>(.*)</body>", html, re.DOTALL + re.IGNORECASE)
|
||||
m = re.search(r"(.*)<head([^>]*)>(.*)</head>(.*)<body([^>]*)>(.*)</body>(.*)", html, re.DOTALL + re.IGNORECASE)
|
||||
if m:
|
||||
filefound = True
|
||||
head, body = m.groups()
|
||||
linksmatch = re.match('(.*)<ul\s+id="links">', body, re.DOTALL + re.IGNORECASE)
|
||||
preheader, headerargs, head, postheader, bodyargs, body, postbody = m.groups()
|
||||
linksmatch = re.match('(.*)(<ul\s+id="links">.*)', body, re.DOTALL + re.IGNORECASE)
|
||||
if linksmatch:
|
||||
body, = linksmatch.groups()
|
||||
body, links = linksmatch.groups()
|
||||
if re.search(r"iso-8859-1", html):
|
||||
body = unicode(body, "iso-8859-1")
|
||||
else:
|
||||
@@ -126,9 +126,22 @@ def editflatpage(request, path):
|
||||
flatpageForm = FlatPageForm(request.POST) # A form bound to the POST data
|
||||
if flatpageForm.is_valid():# Form valid therefore write file
|
||||
f = open(filepath, "w")
|
||||
template = loader.get_template('dataformat/flatfile.html')
|
||||
context = Context({'form': flatpageForm.cleaned_data})
|
||||
f.write(template.render(context))
|
||||
if filefound:
|
||||
headmatch = re.match(r"(.*)<title>.*</title>(.*)", head, re.DOTALL + re.IGNORECASE)
|
||||
if headmatch:
|
||||
head = headmatch.group(1) + "<title>" + flatpageForm.cleaned_data["title"] + "</title>" + headmatch.group(2)
|
||||
else:
|
||||
head = "<title>" + flatpageForm.cleaned_data["title"] + "</title>"
|
||||
else:
|
||||
head = "<title>" + flatpageForm.cleaned_data["title"] + "</title>"
|
||||
preheader = "<html>"
|
||||
headerargs = ""
|
||||
postheader = ""
|
||||
bodyargs = ""
|
||||
postbody = "</html>"
|
||||
body = flatpageForm.cleaned_data["html"]
|
||||
body = body.replace("\r", "")
|
||||
f.write("%s<head%s>%s</head>%s<body%s>\n%s</body>%s" % (preheader, headerargs, head, postheader, bodyargs, body, postbody))
|
||||
f.close()
|
||||
return HttpResponseRedirect(reverse('flatpage', args=[path])) # Redirect after POST
|
||||
else:
|
||||
@@ -146,4 +159,4 @@ def editflatpage(request, path):
|
||||
class FlatPageForm(forms.Form):
|
||||
title = forms.CharField(widget=forms.TextInput(attrs={'size':'60'}))
|
||||
|
||||
html = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 20}))
|
||||
html = forms.CharField(widget=forms.Textarea())
|
||||
|
||||
Reference in New Issue
Block a user