mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2024-11-25 08:41:51 +00:00
match therion files to wallets, scans names therein
This commit is contained in:
parent
8e93680146
commit
b093d00ff4
@ -29,7 +29,7 @@ def find_dwg_file(dwgfile, path):
|
||||
mscansdir = re.search(r"(\d\d\d\d#X?\d+\w?|1995-96kh|92-94Surveybookkh|1991surveybook|smkhs)/(.*?(?:png|jpg|pdf|jpeg|gif|txt))$", path)
|
||||
if mscansdir:
|
||||
scanswalletl = Wallet.objects.filter(walletname=mscansdir.group(1))
|
||||
# This should be chnaged to properly detect if a list of folders is returned and do something sensible, not just pick the first.
|
||||
# This should be changed to properly detect if a list of folders is returned and do something sensible, not just pick the first.
|
||||
if len(scanswalletl):
|
||||
wallet = scanswalletl[0]
|
||||
if len(scanswalletl) > 1:
|
||||
@ -70,10 +70,43 @@ def find_dwg_file(dwgfile, path):
|
||||
|
||||
dwgfile.save()
|
||||
|
||||
def findimageinsert(therionfile, xth_me):
|
||||
def findwalletimage(therionfile, foundpath):
|
||||
'''Tries to link the drawing file (Therion format) to the referenced image (scan) file
|
||||
'''
|
||||
pass
|
||||
foundpath = foundpath.strip("{}")
|
||||
mscansdir = re.search(r"(\d\d\d\d#\d+\w?|1995-96kh|92-94Surveybookkh|1991surveybook|smkhs)", foundpath)
|
||||
if mscansdir:
|
||||
scanswalletl = Wallet.objects.filter(walletname=mscansdir.group(1))
|
||||
# This should be changed to properly detect if a list of folders is returned and do something sensible, not just pick the first.
|
||||
if len(scanswalletl):
|
||||
wallet = scanswalletl[0]
|
||||
if len(scanswalletl) > 1:
|
||||
message = "! More than one scan FOLDER matches filter query. [{}]: {} {} {}".format(therionfile, mscansdir.group(1), foundpath)
|
||||
print(message)
|
||||
DataIssue.objects.create(parser='Therion', message=message)
|
||||
if wallet:
|
||||
therionfile.dwgwallets.add(wallet)
|
||||
|
||||
scanfilename = Path(foundpath).name
|
||||
scansfilel = wallet.singlescan_set.filter(name=scanfilename, wallet=wallet)
|
||||
if len(scansfilel):
|
||||
# message = f'! {len(scansfilel)} {scansfilel} = {scanfilename} found in the wallet specified {wallet.walletname}'
|
||||
# print(message)
|
||||
if len(scansfilel) > 1:
|
||||
plist =[]
|
||||
for sf in scansfilel:
|
||||
plist.append(sf.ffile)
|
||||
message = "! More than one image FILENAME matches filter query. [{}]: {} {} {} {} {}".format(scansfilel[0], mscansdir.group(1), mscansdir.group(2), dwgfile.dwgpath, path, plist)
|
||||
print(message)
|
||||
DataIssue.objects.create(parser='Therion', message=message)
|
||||
scansfile = scansfilel[0]
|
||||
therionfile.scans.add(scansfile)
|
||||
else:
|
||||
message = f'! Scanned file {scanfilename} mentioned in "{therionfile.dwgpath}" is not actually found in {wallet.walletname}'
|
||||
wurl = f'/survey_scans/{wallet.walletname}/'.replace("#",":")
|
||||
print(message)
|
||||
DataIssue.objects.create(parser='Therion', message=message, url = wurl)
|
||||
|
||||
|
||||
def findimportinsert(therionfile, imp):
|
||||
'''Tries to link the scrap (Therion format) to the referenced therion scrap
|
||||
@ -120,10 +153,12 @@ def settherionfileinfo(filetuple):
|
||||
message = f'! Un-parsed image filename: {therionfile.dwgname} : {xth_me.split()[-3]} - {therionfile.dwgpath}'
|
||||
# print(message)
|
||||
# DataIssue.objects.create(parser='xTherion', message=message, url=f'/dwgdataraw/{therionfile.dwgpath}')
|
||||
# ! Un-parsed image filename: 107coldest : ../../../expofiles/surveyscans/2015/2015#20/notes.jpg - therion/plan/107coldest.th2
|
||||
|
||||
with open('therionrefs.log', 'a') as lg:
|
||||
lg.write(message + '\n')
|
||||
|
||||
findimageinsert(therionfile, xth_me)
|
||||
findwalletimage(therionfile, xth_me.split()[-3])
|
||||
|
||||
for inp in rx_input.findall(ttext):
|
||||
# if this 'input' is a .th2 file we have already seen, then we can assign this as a sub-file
|
||||
|
@ -93,7 +93,7 @@ def LoadListScansFile(wallet):
|
||||
|
||||
c=0
|
||||
for (fyf, ffyf, fisdiryf) in gld:
|
||||
if re.search(r"\.(?:png|jpg|jpeg|pdf|svg|gif)(?i)$", fyf):
|
||||
if re.search(r"\.(?:png|jpg|jpeg|pdf|svg|gif|xvi)(?i)$", fyf):
|
||||
singlescan = SingleScan(ffile=ffyf, name=fyf, wallet=wallet)
|
||||
singlescan.save()
|
||||
c+=1
|
||||
|
Loading…
Reference in New Issue
Block a user