Merge pull request 'Automatically get the latest json file if only given a folder as path' (#33) from automatically-get-latest-file into master

Reviewed-on: https://gitea.n39.eu/Netz39_Vorstand/stammdaten-formular/pulls/33
This commit is contained in:
MG-95 2022-10-24 22:14:47 +00:00
commit 1a0d3b3733
2 changed files with 28 additions and 4 deletions

View file

@ -8,7 +8,15 @@ python3 edit_data_form.py
## Daten eines bestehenden Mitglieds ändern
Eine Nennung des Ordners des Members genügt.
Dann wird stets die aktuelle json-Datei verwendet.
```bash
MEMBER_FILE=<path/to/member/json>
python3 edit_data_form.py $MEMBER_FILE
python3 edit_data_form.py <path/to/member/>
```
Alternativ kann die json-Datei explizit genannt werden:
```bash
python3 edit_data_form.py <path/to/member/member.json>
```

View file

@ -1,6 +1,7 @@
#!/usr/bin/env python
# encoding: utf-8
import os
import npyscreen
import json
import datetime
@ -65,9 +66,24 @@ class FormApp(npyscreen.NPSAppManaged):
def main(*_args):
if len(sys.argv) > 1:
file_path = pathlib.Path(sys.argv[1])
if not file_path.exists():
print("Trying to open nonexistent file. Aborting.")
if(sys.argv[1].endswith(".json")):
# json file as argument
if not file_path.exists():
print("Trying to open nonexistent file. Aborting.")
sys.exit(0)
elif file_path.is_dir():
# we want the latest json file in given folder
filesList = [f for f in os.listdir(file_path) if os.path.isfile(os.path.join(file_path, f)) and f.endswith(".json")]
filesList.sort()
file_path = os.path.join(file_path, filesList[-1])
else:
print("Please enter a valid json file or the directory containing the json file!")
sys.exit(0)
else:
file_path = pathlib.Path(pathlib.Path(__file__).absolute().parent, 'example.json')