summaryrefslogtreecommitdiffstats
path: root/core/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'core/models.py')
-rw-r--r--core/models.py37
1 files changed, 23 insertions, 14 deletions
diff --git a/core/models.py b/core/models.py
index cd6f1e2..eb8428d 100644
--- a/core/models.py
+++ b/core/models.py
@@ -34,21 +34,21 @@ def get_process_memory():
return usage[2]/1024.0
-def get_related_by_wikilinks(wiki_text):
- found=re.findall(settings.QM_PATTERN,wiki_text)
- res=[]
- for wikilink in found:
- qmdict={'urlroot':settings.URL_ROOT,'cave':wikilink[2],'year':wikilink[1],'number':wikilink[3]}
- try:
- cave_slugs = models_caves.CaveSlug.objects.filter(cave__kataster_number = qmdict['cave'])
- qm=QM.objects.get(found_by__cave_slug__in = cave_slugs,
- found_by__date__year = qmdict['year'],
- number = qmdict['number'])
- res.append(qm)
- except QM.DoesNotExist:
- print(('fail on '+str(wikilink)))
+# def get_related_by_wikilinks(wiki_text):
+ # found=re.findall(settings.QM_PATTERN,wiki_text)
+ # res=[]
+ # for wikilink in found:
+ # qmdict={'urlroot':settings.URL_ROOT,'cave':wikilink[2],'year':wikilink[1],'number':wikilink[3]}
+ # try:
+ # cave_slugs = models_caves.CaveSlug.objects.filter(cave__kataster_number = qmdict['cave'])
+ # qm=QM.objects.get(found_by__cave_slug__in = cave_slugs,
+ # found_by__date__year = qmdict['year'],
+ # number = qmdict['number'])
+ # res.append(qm)
+ # except QM.DoesNotExist:
+ # print(('fail on '+str(wikilink)))
- return res
+ # return res
try:
logging.basicConfig(level=logging.DEBUG,
@@ -72,6 +72,15 @@ class TroggleModel(models.Model):
abstract = True
class DataIssue(TroggleModel):
+ """When importing cave data any validation problems produce a message which is
+ recorded as a DataIssue. The django admin system automatically prodiuces a page listing
+ these at /admin/core/dataissue/
+ This is a use of the NOTIFICATION pattern:
+ https://martinfowler.com/eaaDev/Notification.html
+
+ And we need to use it to replace all assertions in the code too:
+ https://martinfowler.com/articles/replaceThrowWithNotification.html
+ """
date = models.DateTimeField(auto_now_add=True, blank=True)
parser = models.CharField(max_length=50, blank=True, null=True)
message = models.CharField(max_length=400, blank=True, null=True)