summaryrefslogtreecommitdiff
path: root/README.md
blob: 12179ca38ed02cfb8efe1dd01f5c430584562cec (plain)
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

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ładowy efekt działania: [rozdania szkoleniowe z BOOM 2015](http://www.pzbs.pl/wyniki/boom/2015/boom_wirtualne_me.html).

Wymagania systemowe
-------------------

* python 2.x (testowane i tworzone w wersji 2.7.10)
* BeautifulSoup4

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)

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 nagłówków
plików HTML z protokołami).

Możliwe jest jednak podanie własnego mapowania numerów rozdań (niezbędne np.
wtedy, gdy w turnieju te same pudełka używane są więcej niż jeden raz).

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)