From 71ed0815cc2393f68a9c2e8eeeadbe0bed619feb Mon Sep 17 00:00:00 2001 From: Philip Sargent Date: Tue, 5 Apr 2022 10:37:31 +0300 Subject: Revert "update oddity with VS Code and WSL2" This reverts commit 41b2bcee4febf79d90ca83318a8d3110e46951ac. CR LF != LF issue --- core/views/statistics.py | 346 +++++++++++++++++++++++------------------------ 1 file changed, 173 insertions(+), 173 deletions(-) (limited to 'core/views/statistics.py') diff --git a/core/views/statistics.py b/core/views/statistics.py index e276f89..ad77199 100644 --- a/core/views/statistics.py +++ b/core/views/statistics.py @@ -1,173 +1,173 @@ -import datetime -import os.path -import re -from collections import OrderedDict - -import django.db.models -from django.db.models import Min, Max -from django.shortcuts import render -from django.template import Context, loader -from django.template.defaultfilters import slugify -from django.utils import timezone -#from django.views.generic.list import ListView - -from troggle.core.models.troggle import Expedition, Person, PersonExpedition, DataIssue -from troggle.core.models.caves import Cave, LogbookEntry, Entrance -from troggle.core.models.survex import SurvexBlock, SurvexStation - -import troggle.settings as settings - -'''Very simple report pages summarizing data about the whole set of expeditions and of -the status of data inconsistencies -''' - -def pathsreport(request): - pathsdict = OrderedDict() - try: - pathsdict = { -# "BOGUS" : str( settings.BOGUS), - "JSLIB_URL" : str( settings.JSLIB_URL), - "JSLIB_ROOT" : str( settings.JSLIB_ROOT), -# "CSSLIB_URL" : str( settings.CSSLIB_URL), - "CAVEDESCRIPTIONS" : str( settings.CAVEDESCRIPTIONS), - "DIR_ROOT" : str( settings.DIR_ROOT), - "ENTRANCEDESCRIPTIONS" : str( settings.ENTRANCEDESCRIPTIONS), - "EXPOUSER_EMAIL" : str( settings.EXPOUSER_EMAIL), - "EXPOUSERPASS" : str(""), - "EXPOUSER" : str( settings.EXPOUSER), - "EXPOWEB" : str( settings.EXPOWEB), - "EXPOWEB_URL" : str( settings.EXPOWEB_URL), - "FILES" : str( settings.FILES), - "LIBDIR" : str( settings.LIBDIR), - "LOGFILE" : str( settings.LOGFILE), - "LOGIN_REDIRECT_URL" : str( settings.LOGIN_REDIRECT_URL), - "MEDIA_ROOT" : str( settings.MEDIA_ROOT), - "MEDIA_URL" : str( settings.MEDIA_URL), - "PHOTOS_URL" : str( settings.PHOTOS_URL), - "PYTHON_PATH" : str( settings.PYTHON_PATH), - "REPOS_ROOT_PATH" : str( settings.REPOS_ROOT_PATH), - "ROOT_URLCONF" : str( settings.ROOT_URLCONF), - "STATIC_URL" : str( settings.STATIC_URL), - "SURVEX_DATA" : str( settings.SURVEX_DATA), - "SURVEY_SCANS" : str( settings.SURVEY_SCANS), - "SURVEYS" : str( settings.SURVEYS), - "SURVEYS_URL" : str( settings.SURVEYS_URL), - "SURVEXPORT" : str( settings.SURVEXPORT), - "DRAWINGS_DATA" : str( settings.DRAWINGS_DATA), - "URL_ROOT" : str( settings.URL_ROOT) - } - except: - pathsdict["! EXCEPTION !"] = "missing or exta string constant in troggle/settings" - - pathstype = OrderedDict() - try: - pathstype = { -# "BOGUS" : type(settings.BOGUS), - "JSLIB_URL" : type(settings.JSLIB_URL), - "JSLIB_ROOT" : type( settings.JSLIB_ROOT), -# "CSSLIB_URL" : type(settings.CSSLIB_URL), - "CAVEDESCRIPTIONS" : type(settings.CAVEDESCRIPTIONS), - "DIR_ROOT" : type(settings.DIR_ROOT), - "ENTRANCEDESCRIPTIONS" : type(settings.ENTRANCEDESCRIPTIONS), - "EXPOUSER_EMAIL" : type(settings.EXPOUSER_EMAIL), - "EXPOUSERPASS" : type(settings.EXPOUSERPASS), - "EXPOUSER" : type(settings.EXPOUSER), - "EXPOWEB" : type(settings.EXPOWEB), - "EXPOWEB_URL" : type(settings.EXPOWEB_URL), - "FILES" : type(settings.FILES), - "LIBDIR" : type( settings.LIBDIR), - "LOGFILE" : type(settings.LOGFILE), - "LOGIN_REDIRECT_URL" : type(settings.LOGIN_REDIRECT_URL), - "MEDIA_ROOT" : type(settings.MEDIA_ROOT), - "MEDIA_URL" : type(settings.MEDIA_URL), - "PHOTOS_URL" : type(settings.PHOTOS_URL), - "PYTHON_PATH" : type(settings.PYTHON_PATH), - "REPOS_ROOT_PATH" : type(settings.REPOS_ROOT_PATH), - "ROOT_URLCONF" : type(settings.ROOT_URLCONF), - "STATIC_URL" : type(settings.STATIC_URL), - "SURVEX_DATA" : type(settings.SURVEX_DATA), - "SURVEY_SCANS" : type(settings.SURVEY_SCANS), - "SURVEYS" : type(settings.SURVEYS), - "SURVEYS_URL" : type(settings.SURVEYS_URL), - "SURVEXPORT" : type(settings.SURVEXPORT), - "DRAWINGS_DATA" : type(settings.DRAWINGS_DATA), - "URL_ROOT" : type(settings.URL_ROOT) - } - except: - pathstype["! EXCEPTION !"] = "missing or exta string constant in troggle/settings" - raise - - # settings are unique by paths are not - ncodes = len(pathsdict) - bycodeslist = sorted(pathsdict.items()) # a list of tuples - bycodeslist2 = [] - - for k, p in bycodeslist: - bycodeslist2.append((k, p, str(pathstype[k]))) - - bypaths = sorted(pathsdict.values()) # a list - bypathslist = [] - - for p in bypaths: - for k in pathsdict.keys(): - if pathsdict[k] == p: - bypathslist.append((p, k, str(pathstype[k]))) - del pathsdict[k] - break - - return render(request, 'pathsreport.html', { - "pathsdict":pathsdict, - "bycodeslist":bycodeslist2, - "bypathslist":bypathslist, - "ncodes":ncodes}) - -def stats(request): - statsDict={} - statsDict['expoCount'] = "{:,}".format(Expedition.objects.count()) - statsDict['caveCount'] = "{:,}".format(Cave.objects.count()) - statsDict['personCount'] = "{:,}".format(Person.objects.count()) - statsDict['logbookEntryCount'] = "{:,}".format(LogbookEntry.objects.count()) - - legsbyexpo = [ ] - addupsurvexlength = 0 - for expedition in Expedition.objects.all(): - survexblocks = expedition.survexblock_set.all() - legsyear=0 - survexleglength = 0.0 - for survexblock in survexblocks: - survexleglength += survexblock.legslength - try: - legsyear += int(survexblock.legsall) - except: - pass - addupsurvexlength += survexleglength - legsbyexpo.append((expedition, {"nsurvexlegs": "{:,}".format(legsyear), - "survexleglength":"{:,.0f}".format(survexleglength)})) - legsbyexpo.reverse() - - renderDict = {**statsDict, **{ "addupsurvexlength":addupsurvexlength/1000, "legsbyexpo":legsbyexpo }} # new syntax - return render(request,'statistics.html', renderDict) - -def dataissues(request): - '''Each issue has a parser, a message and a url linking to the offending object after loading - ''' - def myFunc(di): - return di.parser.lower() + di.message.lower() - - dilist = list(DataIssue.objects.all()) - dilist.sort(key = myFunc) - - return render(request,'dataissues.html', {'didict': dilist}) - -def eastings(request): - '''report each Northing/Easting pair wherever recorded - ''' - ents = [] - entrances = Entrance.objects.all() - for e in entrances: - if e.easting or e.northing: - ents.append(e) - - stations = SurvexStation.objects.all() - - return render(request,'eastings.html', {'ents': ents, 'stations': stations}) +import datetime +import os.path +import re +from collections import OrderedDict + +import django.db.models +from django.db.models import Min, Max +from django.shortcuts import render +from django.template import Context, loader +from django.template.defaultfilters import slugify +from django.utils import timezone +#from django.views.generic.list import ListView + +from troggle.core.models.troggle import Expedition, Person, PersonExpedition, DataIssue +from troggle.core.models.caves import Cave, LogbookEntry, Entrance +from troggle.core.models.survex import SurvexBlock, SurvexStation + +import troggle.settings as settings + +'''Very simple report pages summarizing data about the whole set of expeditions and of +the status of data inconsistencies +''' + +def pathsreport(request): + pathsdict = OrderedDict() + try: + pathsdict = { +# "BOGUS" : str( settings.BOGUS), + "JSLIB_URL" : str( settings.JSLIB_URL), + "JSLIB_ROOT" : str( settings.JSLIB_ROOT), +# "CSSLIB_URL" : str( settings.CSSLIB_URL), + "CAVEDESCRIPTIONS" : str( settings.CAVEDESCRIPTIONS), + "DIR_ROOT" : str( settings.DIR_ROOT), + "ENTRANCEDESCRIPTIONS" : str( settings.ENTRANCEDESCRIPTIONS), + "EXPOUSER_EMAIL" : str( settings.EXPOUSER_EMAIL), + "EXPOUSERPASS" : str(""), + "EXPOUSER" : str( settings.EXPOUSER), + "EXPOWEB" : str( settings.EXPOWEB), + "EXPOWEB_URL" : str( settings.EXPOWEB_URL), + "FILES" : str( settings.FILES), + "LIBDIR" : str( settings.LIBDIR), + "LOGFILE" : str( settings.LOGFILE), + "LOGIN_REDIRECT_URL" : str( settings.LOGIN_REDIRECT_URL), + "MEDIA_ROOT" : str( settings.MEDIA_ROOT), + "MEDIA_URL" : str( settings.MEDIA_URL), + "PHOTOS_URL" : str( settings.PHOTOS_URL), + "PYTHON_PATH" : str( settings.PYTHON_PATH), + "REPOS_ROOT_PATH" : str( settings.REPOS_ROOT_PATH), + "ROOT_URLCONF" : str( settings.ROOT_URLCONF), + "STATIC_URL" : str( settings.STATIC_URL), + "SURVEX_DATA" : str( settings.SURVEX_DATA), + "SURVEY_SCANS" : str( settings.SURVEY_SCANS), + "SURVEYS" : str( settings.SURVEYS), + "SURVEYS_URL" : str( settings.SURVEYS_URL), + "SURVEXPORT" : str( settings.SURVEXPORT), + "DRAWINGS_DATA" : str( settings.DRAWINGS_DATA), + "URL_ROOT" : str( settings.URL_ROOT) + } + except: + pathsdict["! EXCEPTION !"] = "missing or exta string constant in troggle/settings" + + pathstype = OrderedDict() + try: + pathstype = { +# "BOGUS" : type(settings.BOGUS), + "JSLIB_URL" : type(settings.JSLIB_URL), + "JSLIB_ROOT" : type( settings.JSLIB_ROOT), +# "CSSLIB_URL" : type(settings.CSSLIB_URL), + "CAVEDESCRIPTIONS" : type(settings.CAVEDESCRIPTIONS), + "DIR_ROOT" : type(settings.DIR_ROOT), + "ENTRANCEDESCRIPTIONS" : type(settings.ENTRANCEDESCRIPTIONS), + "EXPOUSER_EMAIL" : type(settings.EXPOUSER_EMAIL), + "EXPOUSERPASS" : type(settings.EXPOUSERPASS), + "EXPOUSER" : type(settings.EXPOUSER), + "EXPOWEB" : type(settings.EXPOWEB), + "EXPOWEB_URL" : type(settings.EXPOWEB_URL), + "FILES" : type(settings.FILES), + "LIBDIR" : type( settings.LIBDIR), + "LOGFILE" : type(settings.LOGFILE), + "LOGIN_REDIRECT_URL" : type(settings.LOGIN_REDIRECT_URL), + "MEDIA_ROOT" : type(settings.MEDIA_ROOT), + "MEDIA_URL" : type(settings.MEDIA_URL), + "PHOTOS_URL" : type(settings.PHOTOS_URL), + "PYTHON_PATH" : type(settings.PYTHON_PATH), + "REPOS_ROOT_PATH" : type(settings.REPOS_ROOT_PATH), + "ROOT_URLCONF" : type(settings.ROOT_URLCONF), + "STATIC_URL" : type(settings.STATIC_URL), + "SURVEX_DATA" : type(settings.SURVEX_DATA), + "SURVEY_SCANS" : type(settings.SURVEY_SCANS), + "SURVEYS" : type(settings.SURVEYS), + "SURVEYS_URL" : type(settings.SURVEYS_URL), + "SURVEXPORT" : type(settings.SURVEXPORT), + "DRAWINGS_DATA" : type(settings.DRAWINGS_DATA), + "URL_ROOT" : type(settings.URL_ROOT) + } + except: + pathstype["! EXCEPTION !"] = "missing or exta string constant in troggle/settings" + raise + + # settings are unique by paths are not + ncodes = len(pathsdict) + bycodeslist = sorted(pathsdict.items()) # a list of tuples + bycodeslist2 = [] + + for k, p in bycodeslist: + bycodeslist2.append((k, p, str(pathstype[k]))) + + bypaths = sorted(pathsdict.values()) # a list + bypathslist = [] + + for p in bypaths: + for k in pathsdict.keys(): + if pathsdict[k] == p: + bypathslist.append((p, k, str(pathstype[k]))) + del pathsdict[k] + break + + return render(request, 'pathsreport.html', { + "pathsdict":pathsdict, + "bycodeslist":bycodeslist2, + "bypathslist":bypathslist, + "ncodes":ncodes}) + +def stats(request): + statsDict={} + statsDict['expoCount'] = "{:,}".format(Expedition.objects.count()) + statsDict['caveCount'] = "{:,}".format(Cave.objects.count()) + statsDict['personCount'] = "{:,}".format(Person.objects.count()) + statsDict['logbookEntryCount'] = "{:,}".format(LogbookEntry.objects.count()) + + legsbyexpo = [ ] + addupsurvexlength = 0 + for expedition in Expedition.objects.all(): + survexblocks = expedition.survexblock_set.all() + legsyear=0 + survexleglength = 0.0 + for survexblock in survexblocks: + survexleglength += survexblock.legslength + try: + legsyear += int(survexblock.legsall) + except: + pass + addupsurvexlength += survexleglength + legsbyexpo.append((expedition, {"nsurvexlegs": "{:,}".format(legsyear), + "survexleglength":"{:,.0f}".format(survexleglength)})) + legsbyexpo.reverse() + + renderDict = {**statsDict, **{ "addupsurvexlength":addupsurvexlength/1000, "legsbyexpo":legsbyexpo }} # new syntax + return render(request,'statistics.html', renderDict) + +def dataissues(request): + '''Each issue has a parser, a message and a url linking to the offending object after loading + ''' + def myFunc(di): + return di.parser.lower() + di.message.lower() + + dilist = list(DataIssue.objects.all()) + dilist.sort(key = myFunc) + + return render(request,'dataissues.html', {'didict': dilist}) + +def eastings(request): + '''report each Northing/Easting pair wherever recorded + ''' + ents = [] + entrances = Entrance.objects.all() + for e in entrances: + if e.easting or e.northing: + ents.append(e) + + stations = SurvexStation.objects.all() + + return render(request,'eastings.html', {'ents': ents, 'stations': stations}) -- cgit v1.2.3