forked from expo/troggle
Deal better with the wallet letter number combo of 2019#X01
This commit is contained in:
parent
f6d4ce8d0b
commit
e59f8308ce
@ -800,9 +800,11 @@ class DPhoto(TroggleImageModel):
|
|||||||
scansFileStorage = FileSystemStorage(location=settings.SURVEY_SCANS, base_url=settings.SURVEYS_URL)
|
scansFileStorage = FileSystemStorage(location=settings.SURVEY_SCANS, base_url=settings.SURVEYS_URL)
|
||||||
def get_scan_path(instance, filename):
|
def get_scan_path(instance, filename):
|
||||||
year=instance.survey.expedition.year
|
year=instance.survey.expedition.year
|
||||||
#print "WN: ", type(instance.survey.wallet_number), instance.survey.wallet_number
|
#print("WN: ", type(instance.survey.wallet_number), instance.survey.wallet_number, instance.survey.wallet_letter)
|
||||||
number=str(instance.survey.wallet_number) + str(instance.survey.wallet_letter) #two strings formatting because convention is 2009#01 or 2009#X01
|
number=str(instance.survey.wallet_number)
|
||||||
return os.path.join('./',year,year+r'#'+number,instance.contents+str(instance.number_in_wallet)+r'.jpg')
|
if str(instance.survey.wallet_letter) != "None":
|
||||||
|
number=str(instance.survey.wallet_letter) + number #two strings formatting because convention is 2009#01 or 2009#X01
|
||||||
|
return os.path.join('./',year,year+r'#'+number,str(instance.contents)+str(instance.number_in_wallet)+r'.jpg')
|
||||||
|
|
||||||
class ScannedImage(TroggleImageModel):
|
class ScannedImage(TroggleImageModel):
|
||||||
file = models.ImageField(storage=scansFileStorage, upload_to=get_scan_path)
|
file = models.ImageField(storage=scansFileStorage, upload_to=get_scan_path)
|
||||||
|
@ -95,7 +95,7 @@ def parseSurveyScans(expedition, logfile=None):
|
|||||||
print(yearFileList)
|
print(yearFileList)
|
||||||
for surveyFolder in yearFileList:
|
for surveyFolder in yearFileList:
|
||||||
try:
|
try:
|
||||||
surveyNumber=re.match(r'\d\d\d\d#0*(\d+)',surveyFolder).groups()
|
surveyNumber=re.match(r'\d\d\d\d#(X?)0*(\d+)',surveyFolder).groups()
|
||||||
#scanList = listdir(expedition.year, surveyFolder)
|
#scanList = listdir(expedition.year, surveyFolder)
|
||||||
scanList=os.listdir(os.path.join(yearPath,surveyFolder))
|
scanList=os.listdir(os.path.join(yearPath,surveyFolder))
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
@ -116,12 +116,13 @@ def parseSurveyScans(expedition, logfile=None):
|
|||||||
scanNumber=1
|
scanNumber=1
|
||||||
|
|
||||||
if type(surveyNumber)==types.TupleType:
|
if type(surveyNumber)==types.TupleType:
|
||||||
surveyNumber=surveyNumber[0]
|
surveyLetter=surveyNumber[0]
|
||||||
|
surveyNumber=surveyNumber[1]
|
||||||
try:
|
try:
|
||||||
placeholder=get_or_create_placeholder(year=int(expedition.year))
|
placeholder=get_or_create_placeholder(year=int(expedition.year))
|
||||||
survey=Survey.objects.get_or_create(wallet_number=surveyNumber, expedition=expedition, defaults={'logbook_entry':placeholder})[0]
|
survey=Survey.objects.get_or_create(wallet_number=surveyNumber, wallet_letter=surveyLetter, expedition=expedition, defaults={'logbook_entry':placeholder})[0]
|
||||||
except Survey.MultipleObjectsReturned:
|
except Survey.MultipleObjectsReturned:
|
||||||
survey=Survey.objects.filter(wallet_number=surveyNumber, expedition=expedition)[0]
|
survey=Survey.objects.filter(wallet_number=surveyNumber, wallet_letter=surveyLetter, expedition=expedition)[0]
|
||||||
file_=os.path.join(yearPath, surveyFolder, scan)
|
file_=os.path.join(yearPath, surveyFolder, scan)
|
||||||
scanObj = ScannedImage(
|
scanObj = ScannedImage(
|
||||||
file=file_,
|
file=file_,
|
||||||
|
Loading…
Reference in New Issue
Block a user