1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
JFR Pary - dane licytacji
=========================
Narzędzie dodające do strony wyników z JFR Pary dane licytacji, zbierane w pliku
BWS "pierniczkami" nowego typu.
Przykładowe efekty działania:
[rozdania szkoleniowe z BOOM 2015](http://www.pzbs.pl/wyniki/boom/2015/boom_wirtualne_me.html),
[Kadra U-20 z butlerem ligowym](http://emkael.info/brydz/wyniki/2015/u20_szczyrk/ligowe.html).
Wymagania systemowe
-------------------
* python 2.x (testowane i tworzone w wersji 2.7.10)
* BeautifulSoup4
* lxml (jako parser dla BS4)
* argparse
Opcjonalnie, wrapper Basha konwertujący dane z BWS do CSV, używa `mdb-export`
z pakietu `mdbtools`.
Instalacja
----------
Ściągnij zawartość tego repozytorium.
W katalogu WWW Par skonfiguruj JS i CSS niezbędny do prezentacji danych
licytacji:
* skopiuj [`css/bidding.css`](css/bidding.css) do katalogu WWW
* dołącz plik [`css/bidding.css`](css/bidding.css) gdzieś w arkuszach stylów turnieju
(np. poprzez `@import` w `kolorki.css`)
* skopiuj [`javas/bidding.js`](javas/bidding.js) do podkatalogu javas katalogu WWW (plik dołączany
jest automatycznie do stron z wynikami)
* skopiuj [`images/link.png`](images/link.png) do podkatalogu images katalogu WWW
Już, gotowe.
Użycie
------
Skrypt [`bidding_data.py`](bidding_data.py) operuje na następujących
danych wejściowych:
* plikach HTML wygenerowanych po zakończeniu turnieju stron statycznych
* plikach CSV z danymi o licytacji i ustawieniu par, wyeksportowanymi z pliku
BWS
Aby uzyskać pliki CSV niezbędne do działania narzędzia, należy zapisać całą
zawartość tabel `BiddingData` oraz `RoundData` do osobnych plików CSV.
W środowiskach linuksowych dokonuje tego narzędzie `mdb-export` z pakietu
`mdb-tools`:
```
mdb-export PLIK.bws BiddingData > DANE_LICYTACJI.csv
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 [mapowanie numerów rozdań]
```
`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`).
Udostępniany ze skryptem wrapper [`bidding_data.sh`](bidding_data.sh)
obsługuje eksport z BWS poprzez `mdb-export`, wystarczy więc:
```
./bidding_data.sh PLIK.bws KATALOG_ROBOCZY_Z_PREFIKSEM_TURNIEJU [mapowanie numerów rozdań]
```
Narzędzie obsługuje niestandardowe zakresy numeracji rozdań w turnieju.
Domyślnie, mapowanie numeru rozdań z Par na numer rozdania w BWS
(numer fizycznego pudełka), odbywa się automatycznie (na podstawie danych z BWS).
Możliwe jest jednak podanie własnego mapowania numerów rozdań (przydatne np.
wtedy, gdy w turnieju te same pudełka używane są więcej niż jeden raz, a gdy
fizyczne numery rozdań używane są wiele razy w jednym BWS - wręcz niezbędne).
Osiąga się to poprzez podanie dodatkowych parametrów za katalogiem roboczym.
Mapowanie określają, kolejno, trzy liczby:
* numer pierwszego rozdania wg numeracji JFR Pary
* numer ostatniego rozdania wg numeracji JFR Pary
* numer pierwszego rozdania w BWS (zakłada się ciągłość numeracji
w ramach mapowania)
Na przykład, podanie parametrów `1 8 23` sprawi, że protokoły od `*001.html`
do `*008.html` zostaną uzupełnione o licytację z rozdań 23-30.
Lista przyszłych usprawnień
---------------------------
Patrz: [`TODO.md`](TODO.md)
Autor
-----
Michał Klichowicz (mkl)
Licencja
--------
Patrz: [`LICENSE.md`](LICENSE.md)
|