diff options
Diffstat (limited to 'parsers/caves.py')
-rw-r--r-- | parsers/caves.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/parsers/caves.py b/parsers/caves.py index 6b17878..c969acd 100644 --- a/parsers/caves.py +++ b/parsers/caves.py @@ -19,6 +19,12 @@ django.db.transaction.TransactionManagementError: An error occurred in the current transaction. You can't execute queries until the end of the 'atomic' block. ''' +todo='''- Update does not work when a cave id is in the pending list but a proper cave description file exists + and is being imported. It should work. But currently Django aborts and he file is not read in. + + - Cannot use Edit This Page for pendingcaves.txt_edit as Edit This Page is expecting an html file. + So we will need a separate file-editing capability just for this configuration file. +''' entrances_xslug = {} caves_xslug = {} areas_xslug = {} @@ -133,7 +139,13 @@ def readcaves(): ''' # For those caves which do not have cave_data/1623-xxx.html XML files even though they exist and have surveys # should put this in a simple list which can be edited using 'Edit this file' - pending = settings.PENDING + pending = [] + fpending = Path(settings.CAVEDESCRIPTIONS, "pendingcaves.txt") + if fpending.is_file(): + with open(fpending, "r") as fo: + cids = fo.readlines() + for cid in cids: + pending.append(cid.rstrip('\n')) with transaction.atomic(): print(" - Deleting Caves and Entrances") @@ -372,6 +384,7 @@ def readcave(filename): primary = primary) caves_xslug[slug] = cs except Exception as ex: + # This fails to do an update! It just crashes.. to be fixed message = " ! Cave update/create failure : %s, skipping file cave_data/%s with exception\nException: %s" % (slug, context, ex.__class__) DataIssue.objects.create(parser='caves', message=message) print(message) |