From 293605302c3e01ad0abc87631688291995cb754b Mon Sep 17 00:00:00 2001 From: emkael Date: Thu, 16 Mar 2017 14:06:10 +0100 Subject: Prompting for settings filename if not provided via command line --- README.md | 2 ++ playoff.py | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6009ee7..fddcd2d 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,8 @@ python playoff.py PLIK_USTAWIEŃ_JSON `PLIK_USTAWIEŃ_JSON` jest plikiem konfiguracyjnym, dostarczającym wszelkich danych niezbędnych do pracy programu. +Jeśli w wywołaniu nie podano ścieżki do pliku ustawień, program spyta o nią sam. + Jego strukturę opisuje dokument [CONFIG](CONFIG.md). Znane ograniczenia diff --git a/playoff.py b/playoff.py index a4da821..9f33666 100644 --- a/playoff.py +++ b/playoff.py @@ -1,11 +1,26 @@ -import json, os, shutil, socket, sys +import glob, json, os, readline, shutil, socket, sys import mysql.connector from datetime import datetime from urlparse import urljoin from playoff import sql as p_sql from playoff import template as p_temp -settings = json.load(open(sys.argv[1])) +def complete_filename(text, state): + return (glob.glob(text+'*')+[None])[state] + +if len(sys.argv) > 1: + settings_file = sys.argv[1] +else: + readline.set_completer_delims(' \t\n;') + readline.parse_and_bind("tab: complete") + readline.set_completer(complete_filename) + settings_file = raw_input('JSON settings file: ') + +if not os.path.exists(settings_file): + print 'Settings file "%s" not found' % settings_file + sys.exit(1) + +settings = json.load(open(settings_file)) teams = settings['teams'] leaderboard = [None] * len(teams) -- cgit v1.2.3