mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2026-02-08 07:28:45 +00:00
dammit, SB creation now failing, and that was OK before
This commit is contained in:
@@ -589,6 +589,7 @@ class LoadingSurvex:
|
|||||||
try:
|
try:
|
||||||
for i, chunk in enumerate(safe_chunks):
|
for i, chunk in enumerate(safe_chunks):
|
||||||
print(f" - Saving chunk {i+1} ({len(chunk)} blocks)...", file=sys.stderr)
|
print(f" - Saving chunk {i+1} ({len(chunk)} blocks)...", file=sys.stderr)
|
||||||
|
try:
|
||||||
SurvexBlock.objects.bulk_create(
|
SurvexBlock.objects.bulk_create(
|
||||||
chunk,
|
chunk,
|
||||||
update_conflicts=True, # root item probably exists already
|
update_conflicts=True, # root item probably exists already
|
||||||
@@ -597,6 +598,28 @@ class LoadingSurvex:
|
|||||||
'expedition', 'survexfile', 'scanswallet', 'legsall', 'legslength', 'foreigners',],
|
'expedition', 'survexfile', 'scanswallet', 'legsall', 'legslength', 'foreigners',],
|
||||||
unique_fields=['_blockid']
|
unique_fields=['_blockid']
|
||||||
)
|
)
|
||||||
|
except Exception as e:
|
||||||
|
|
||||||
|
message = f"\n ! - EXCEPTION '{e}' - in SB bulk update. Falling back onto sequential updates for this chunk"
|
||||||
|
print(message)
|
||||||
|
print(message, file=sys.stderr)
|
||||||
|
stash_data_issue(parser="survex", message=message)
|
||||||
|
|
||||||
|
for sb in chunk:
|
||||||
|
got_obj, created = SurvexBlock.objects.get_or_create(
|
||||||
|
survexblock=sb.survexblock,
|
||||||
|
defaults={'survexblockblock': sb.survexblock} # Fields to set only if creating
|
||||||
|
)
|
||||||
|
if created:
|
||||||
|
print(f" - {sb} Created", file=sys.stderr)
|
||||||
|
else:
|
||||||
|
# update the block if it changed
|
||||||
|
got_obj.block = sb.block
|
||||||
|
got_obj.save()
|
||||||
|
# print(f" - {sb} SAVED", file=sys.stderr)
|
||||||
|
print(f" - {len(chunk)} SBs saved to db", file=sys.stderr)
|
||||||
|
|
||||||
|
|
||||||
print(" - Success: Entire tree of survexblocks saved to db.", file=sys.stderr)
|
print(" - Success: Entire tree of survexblocks saved to db.", file=sys.stderr)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Failed at chunk {i+1}: {e}", file=sys.stderr)
|
print(f"Failed at chunk {i+1}: {e}", file=sys.stderr)
|
||||||
@@ -723,10 +746,10 @@ class LoadingSurvex:
|
|||||||
defaults={'survexblockblock': pr.survexblock} # Fields to set only if creating
|
defaults={'survexblockblock': pr.survexblock} # Fields to set only if creating
|
||||||
)
|
)
|
||||||
if created:
|
if created:
|
||||||
print(f" - {qm} Created", file=sys.stderr)
|
print(f" - {pr} Created", file=sys.stderr)
|
||||||
else:
|
else:
|
||||||
# update the block if it changed
|
# update the block if it changed
|
||||||
got_obj.block = qm.block
|
got_obj.survexblock = pr.survexblock
|
||||||
got_obj.save()
|
got_obj.save()
|
||||||
# print(f" - {qm} SAVED", file=sys.stderr)
|
# print(f" - {qm} SAVED", file=sys.stderr)
|
||||||
print(f" - PRs saved to db", file=sys.stderr)
|
print(f" - PRs saved to db", file=sys.stderr)
|
||||||
|
|||||||
Reference in New Issue
Block a user