diff options
Diffstat (limited to 'core/models.py')
-rw-r--r-- | core/models.py | 37 |
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) |