summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2015-09-01 12:02:55 +0200
committeremkael <emkael@tlen.pl>2015-09-01 12:23:13 +0200
commit08bd0d1ec1662372f17831cf551224ff762a1b72 (patch)
tree472a0993e3d79dae361a68fcd7bc8a503cb3d6d1
parent2aae8272b822f59705220d927385c1ba7ceba50e (diff)
* path parsing and file existence checks
-rw-r--r--README.md6
-rw-r--r--bidding_data.py19
2 files changed, 18 insertions, 7 deletions
diff --git a/README.md b/README.md
index 878d2e9..9d94dfc 100644
--- a/README.md
+++ b/README.md
@@ -58,14 +58,14 @@ mdb-export PLIK.bws RoundData > DANE_USTAWIENIA.csv
Po wygenerowaniu w/w plików CSV, [`bidding_data.py`](bidding_data.py)
przyjmuje następujące parametry:
```
-python bidding_data.py DANE_LICYTACJI.csv DANE_USTAWIENIA.csv KATALOG_ROBOCZY_Z_PREFIKSEM_TURNIEJU
+python bidding_data.py DANE_LICYTACJI.csv DANE_USTAWIENIA.csv PLIK_TURNIEJU.html
```
`DANE_LICYTACJI.csv` i `DANE_USTAWIENIA.csv` to pliki z danymi wyeskportowanymi
z BWS.
-`KATALOG_ROBOCZY_Z_PREFIKSEM_TURNIEJU` to ściezka to katalogu WWW z doklejonym
-Parowym prefiksem turnieju (czyli np. `..\www\moj_turniej`).
+`PLIK_TURNIEJU.html` to ściezka do pliku turnieju w katalogu WWW
+([ŚCIEŻKA]\PREFIX.html).
Udostępniany ze skryptem wrapper [`bidding_data.sh`](bidding_data.sh)
obsługuje eksport z BWS poprzez `mdb-export`, wystarczy więc:
diff --git a/bidding_data.py b/bidding_data.py
index d0573af..d2a4106 100644
--- a/bidding_data.py
+++ b/bidding_data.py
@@ -164,7 +164,7 @@ class JFRBidding:
self.__bids = self.__parse_bidding_data(
self.__csv_to_list(bidding_file))
self.__tournament_prefix = path.splitext(
- path.realpath(file_prefix + '.html'))[0]
+ path.realpath(file_prefix))[0]
self.__tournament_files_match = re.compile(
re.escape(self.__tournament_prefix) + '([0-9]{3})\.html')
self.__map_board_numbers()
@@ -283,12 +283,23 @@ if __name__ == '__main__':
argument_parser = argparse.ArgumentParser(
description='Display bidding data from BWS files on JFR Pary pages')
+
+ def file_path(filepath):
+ filepath = unicode(filepath, sys.getfilesystemencoding())
+ if path.isfile(filepath):
+ return filepath
+ else:
+ argument_parser.error('File %s does not exist' % filepath)
+
argument_parser.add_argument('bidding_file', metavar='BIDDING_FILE',
- help='CSV containing bidding data from BWS')
+ help='CSV containing bidding data from BWS',
+ type=file_path)
argument_parser.add_argument('lineup_file', metavar='LINEUP_FILE',
- help='CSV containing lineup data from BWS')
+ help='CSV containing lineup data from BWS',
+ type=file_path)
argument_parser.add_argument('path', metavar='PATH',
- help='tournament path with JFR prefix')
+ help='tournament path (to PREFIX.html)',
+ type=file_path)
arguments = argument_parser.parse_args()