mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2025-12-14 00:27:07 +00:00
attempted speedup, explicit dates wallet objects
This commit is contained in:
@@ -172,6 +172,7 @@ class Wallet(models.Model):
|
||||
fpath = models.CharField(max_length=200)
|
||||
walletname = models.CharField(max_length=200)
|
||||
walletdate = models.DateField(blank=True, null=True)
|
||||
walletyear = models.DateField(blank=True, null=True)
|
||||
|
||||
class Meta:
|
||||
ordering = ('walletname',)
|
||||
@@ -213,6 +214,8 @@ class Wallet(models.Model):
|
||||
print(f' - {datestr=} ')
|
||||
try:
|
||||
thisdate = datetime.date.fromisoformat(datestr)
|
||||
self.walletdate = thisdate
|
||||
self.save()
|
||||
try:
|
||||
waldata["date"] = thisdate.isoformat()
|
||||
except:
|
||||
@@ -220,20 +223,24 @@ class Wallet(models.Model):
|
||||
from troggle.core.models.troggle import DataIssue
|
||||
DataIssue.objects.update_or_create(parser='scans', message=message, url=wurl)
|
||||
except:
|
||||
message = f"! {str(self.walletname)} Date format not ISO {datestr}. Failed to load fro, {jsonfile} JSON file"
|
||||
message = f"! {str(self.walletname)} Date format not ISO {datestr}. Failed to load from {jsonfile} JSON file"
|
||||
from troggle.core.models.troggle import DataIssue
|
||||
DataIssue.objects.update_or_create(parser='scans', message=message, url=wurl)
|
||||
return waldata
|
||||
|
||||
def year(self):
|
||||
'''This gets the year syntactically without opening and reading the JSON
|
||||
'''
|
||||
if len(self.walletname) < 5:
|
||||
return None
|
||||
if self.walletname[4] != "#":
|
||||
return None
|
||||
year = int(self.walletname[0:4])
|
||||
if year < 1976 or year > 2050:
|
||||
if year < 1975 or year > 2050:
|
||||
return None
|
||||
else:
|
||||
self.walletyear = datetime.date(year, 1, 1)
|
||||
self.save()
|
||||
return str(year)
|
||||
|
||||
|
||||
@@ -243,7 +250,7 @@ class Wallet(models.Model):
|
||||
return self.walletdate
|
||||
if not self.get_json():
|
||||
return None
|
||||
jsondata = self.get_json()
|
||||
jsondata = self.get_json() # use walrus operator?
|
||||
|
||||
datestr = jsondata["date"]
|
||||
if not datestr:
|
||||
@@ -252,12 +259,13 @@ class Wallet(models.Model):
|
||||
datestr = datestr.replace('.','-')
|
||||
try:
|
||||
samedate = datetime.date.fromisoformat(datestr)
|
||||
self.walletdate = samedate.isoformat()
|
||||
except:
|
||||
try:
|
||||
samedate = datetime.date.fromisoformat(datestr[:10])
|
||||
self.walletdate = samedate.isoformat()
|
||||
except:
|
||||
samedate = None
|
||||
self.walletdate = samedate.isoformat()
|
||||
self.save()
|
||||
return self.walletdate
|
||||
|
||||
|
||||
Reference in New Issue
Block a user