summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Wenham <sam@wenhams.co.uk>2019-07-29 11:36:24 +0100
committerSam Wenham <sam@wenhams.co.uk>2019-07-29 11:36:24 +0100
commitc74852b60ba954661b92aae98b79f62d6cb9a4d7 (patch)
treefbc02a56f24a8f75aaeed2dce90029b2e0e61123
parent2d7892e3b16841e494d43c5e0b25fbe599af777d (diff)
parenta26109cb3006dd64e1bec38100397ad636813e98 (diff)
downloadtroggle-c74852b60ba954661b92aae98b79f62d6cb9a4d7.tar.gz
troggle-c74852b60ba954661b92aae98b79f62d6cb9a4d7.tar.bz2
troggle-c74852b60ba954661b92aae98b79f62d6cb9a4d7.zip
Merge branch 'master' of ssh://expo.survex.com/~/troggle
# Conflicts: # README.txt
-rw-r--r--README.txt2
-rw-r--r--flatpages/views.py4
-rw-r--r--localsettingsdocker.py8
-rw-r--r--localsettingsserver.py4
-rw-r--r--parsers/logbooks.py8
-rw-r--r--parsers/people.py11
-rw-r--r--templates/editflatpage.html5
7 files changed, 28 insertions, 14 deletions
diff --git a/README.txt b/README.txt
index 8dbc33e..81c2b14 100644
--- a/README.txt
+++ b/README.txt
@@ -21,6 +21,8 @@ Troggle itself
Choose a directory where you will keep troggle, and git clone Troggle into it using the following command:
git clone git://expo.survex.com/troggle
+or more reliably
+git clone ssh://expo@expo.survex.com/home/expo/troggle
If you want to work on the source code and be able to commit, your account will need to be added to the troggle project members list. Contact wookey at wookware dot org to get this set up.
diff --git a/flatpages/views.py b/flatpages/views.py
index 6360393..6ef2404 100644
--- a/flatpages/views.py
+++ b/flatpages/views.py
@@ -38,7 +38,7 @@ def flatpage(request, path):
print("flat path noinfo", path)
return HttpResponseRedirect(reverse("auth_login") + '?next=%s' % request.path)
- if path.endswith("/") or path == "":
+ if path.endswith("/") or path == "":
try:
o = open(os.path.normpath(settings.EXPOWEB + path + "index.html"), "rb")
path = path + "index.html"
@@ -165,4 +165,4 @@ def editflatpage(request, path):
class FlatPageForm(forms.Form):
title = forms.CharField(widget=forms.TextInput(attrs={'size':'60'}))
- html = forms.CharField(widget=forms.Textarea())
+ html = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 20}))
diff --git a/localsettingsdocker.py b/localsettingsdocker.py
index aa7e7a9..bc7d8cb 100644
--- a/localsettingsdocker.py
+++ b/localsettingsdocker.py
@@ -47,13 +47,13 @@ MEDIA_URL = URL_ROOT + DIR_ROOT + 'site_media/'
MEDIA_ROOT = REPOS_ROOT_PATH + '/troggle/media/'
MEDIA_ADMIN_DIR = '/usr/lib/python2.7/site-packages/django/contrib/admin/media/'
-STATIC_URL = URL_ROOT
-STATIC_ROOT = DIR_ROOT
+STATIC_URL = "/static/"
+STATIC_ROOT = "/expo/static"
JSLIB_URL = URL_ROOT + 'javascript/'
-TINY_MCE_MEDIA_ROOT = '/usr/share/tinymce/www/'
-TINY_MCE_MEDIA_URL = URL_ROOT + DIR_ROOT + '/tinymce_media/'
+TINY_MCE_MEDIA_ROOT = STATIC_ROOT + '/tiny_mce/'
+TINY_MCE_MEDIA_URL = STATIC_ROOT + '/tiny_mce/'
TEMPLATE_DIRS = (
PYTHON_PATH + "templates",
diff --git a/localsettingsserver.py b/localsettingsserver.py
index 1d8fbe7..259974e 100644
--- a/localsettingsserver.py
+++ b/localsettingsserver.py
@@ -52,8 +52,8 @@ MEDIA_ADMIN_DIR = '/usr/lib/python2.7/site-packages/django/contrib/admin/media/'
JSLIB_URL = URL_ROOT + 'javascript/'
-TINY_MCE_MEDIA_ROOT = '/usr/share/tinymce/www/'
-TINY_MCE_MEDIA_URL = URL_ROOT + DIR_ROOT + 'tinymce_media/'
+TINY_MCE_MEDIA_ROOT = STATIC_ROOT + '/tiny_mce/'
+TINY_MCE_MEDIA_URL = STATIC_ROOT + '/tiny_mce/'
TEMPLATE_DIRS = (
PYTHON_PATH + "templates",
diff --git a/parsers/logbooks.py b/parsers/logbooks.py
index 12124ca..e5817a6 100644
--- a/parsers/logbooks.py
+++ b/parsers/logbooks.py
@@ -25,9 +25,10 @@ from utils import save_carefully
#
# the logbook loading section
#
-def GetTripPersons(trippeople, expedition, logtime_underground):
+def GetTripPersons(trippeople, expedition, logtime_underground):
res = [ ]
author = None
+ round_bracket_regex = re.compile(r"[\(\[].*?[\)\]]")
for tripperson in re.split(r",|\+|&amp;|&(?!\w+;)| and ", trippeople):
tripperson = tripperson.strip()
mul = re.match(r"<u>(.*?)</u>$(?i)", tripperson)
@@ -35,6 +36,7 @@ def GetTripPersons(trippeople, expedition, logtime_underground):
tripperson = mul.group(1).strip()
if tripperson and tripperson[0] != '*':
#assert tripperson in personyearmap, "'%s' << %s\n\n %s" % (tripperson, trippeople, personyearmap)
+ tripperson = re.sub(round_bracket_regex, "", tripperson).strip()
personyear = GetPersonExpeditionNameLookup(expedition).get(tripperson.lower())
if not personyear:
print(" - No name match for: '%s'" % tripperson)
@@ -172,8 +174,8 @@ def Parseloghtmltxt(year, expedition, txt):
tripid, tripid1, tripdate, trippeople, triptitle, triptext, tu = s.groups()
ldate = ParseDate(tripdate.strip(), year)
#assert tripid[:-1] == "t" + tripdate, (tripid, tripdate)
- #trippeople = re.sub(r"Ol(?!l)", "Olly", trippeople)
- #trippeople = re.sub(r"Wook(?!e)", "Wookey", trippeople)
+ #trippeople = re.sub(r"Ol(?!l)", "Olly", trippeople)
+ #trippeople = re.sub(r"Wook(?!e)", "Wookey", trippeople)
triptitles = triptitle.split(" - ")
if len(triptitles) >= 2:
tripcave = triptitles[0]
diff --git a/parsers/people.py b/parsers/people.py
index eb877f2..34a5ff3 100644
--- a/parsers/people.py
+++ b/parsers/people.py
@@ -4,6 +4,8 @@ from django.conf import settings
import troggle.core.models as models
import csv, re, datetime, os, shutil
from utils import save_carefully
+from HTMLParser import HTMLParser
+from unidecode import unidecode
def saveMugShot(mugShotPath, mugShotFilename, person):
if mugShotFilename.startswith(r'i/'): #if filename in cell has the directory attached (I think they all do), remove it
@@ -132,11 +134,12 @@ def GetPersonExpeditionNameLookup(expedition):
print("Calculating GetPersonExpeditionNameLookup for " + expedition.year)
personexpeditions = models.PersonExpedition.objects.filter(expedition=expedition)
+ htmlparser = HTMLParser()
for personexpedition in personexpeditions:
possnames = [ ]
- f = personexpedition.person.first_name.lower()
- l = personexpedition.person.last_name.lower()
- full = personexpedition.person.fullname.lower()
+ f = unidecode(htmlparser.unescape(personexpedition.person.first_name.lower()))
+ l = unidecode(htmlparser.unescape(personexpedition.person.last_name.lower()))
+ full = unidecode(htmlparser.unescape(personexpedition.person.fullname.lower()))
if l:
possnames.append(f + " " + l)
possnames.append(f + " " + l[0])
@@ -154,6 +157,8 @@ def GetPersonExpeditionNameLookup(expedition):
possnames.append(personexpedition.nickname.lower() + " " + l)
if str(personexpedition.nickname.lower() + " " + l[0]) not in possnames:
possnames.append(personexpedition.nickname.lower() + " " + l[0])
+ if str(personexpedition.nickname.lower() + l[0]) not in possnames:
+ possnames.append(personexpedition.nickname.lower() + l[0])
for possname in possnames:
if possname in res:
diff --git a/templates/editflatpage.html b/templates/editflatpage.html
index 4768078..de09b4e 100644
--- a/templates/editflatpage.html
+++ b/templates/editflatpage.html
@@ -3,6 +3,11 @@
{% block extrahead %}
{% load csrffaker %}
<script src="{{ settings.TINY_MCE_MEDIA_URL }}tiny_mce.js" type="text/javascript"></script>
+<script type="text/javascript">
+ tinyMCE.init({
+ mode : "textareas"
+ });
+</script>
{% endblock %}
{% block body %}
<h1>Edit {{ path }}</h1>