Anda di halaman 1dari 11

Chess Arbiter Tools

arbitools

David Gonzalez Gandara

This manual is for Chess Arbiter Tools, version 0.9.


c 2015 David Gonzalez Gandara.
Copyright
Permission is granted to copy, distribute and/or modify this document under
the terms of the GNU Free Documentation License, Version 1.1 or any later
version published by the Free Software Foundation.

Table of Contents
1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1
2.2

Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1
3.2

.veg files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
.txt files (FIDE Krause) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
.csv files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Updating the players data in a file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6


Adding extra players to an existing file. . . . . . . . . . . . . . . . . . . . . . . . . . 6
Getting the standings for a tournament. . . . . . . . . . . . . . . . . . . . . . . . . 6

The python library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7


6.1
6.2
6.3

3
3
3
3
3

Common Arbiters Tasks . . . . . . . . . . . . . . . . . . . . . . . 6


5.1
5.2
5.3

Graphical Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Command Line. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 arbitools-update.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 arbitools-add.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 arbitools-standings.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

File Formats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1
4.2
4.3

Installing Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Other files you may need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

Creating an instance of the class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7


Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Chapter 1: Introduction

1 Introduction
Chess Arbiter Tools were born as a solution to a situation where chess arbiters are forced to
use privative software because of the lack of free tournament management tools. It consists
of a group of programs that allows the arbiter to do some important tasks in tournaments,
such as maintaining the players database up to date or produce reports.
The philosophy is to provide the arbiter with more freedom over the tournament files.
The most common programs (usually privative software) dont usually allow direct operations on the files, so the arbiter has to stick to the possibilities the program offers. The
alternative is to allow the arbiter with complete control over the files during the tournament.
Apart from that, as it happens with any other free software program, if the user is not
happy with the way the program does stuff, he or she can just change the code to make it
works the way he likes.

Chapter 2: Installation

2 Installation
This program is written in python 3, which is an interpreted language, so you dont really need to install it. Just download the latest version from http://www.github.com/
mrrookes/arbitools.

2.1 Installing Python


What you may need to install is python. If you use GNU/Linux it is most likely already
install, but not in other systems. You can get the latest version from http://www.python.
org/downloads. Remember to download 3.*.* and not 2.*.*.
You also need to have a couple of modules of python, namely xlrd and lxml. The easiest
way to install modules is through pip. In order to use pip. Open a command console, go
to the python folder in your system, then go to the Scripts folder and type:
pip install xlrd pip install lxml
Ir this is too difficult for you, there are graphical python installer you can find on the
internet.

2.2 Other files you may need


players list xml.xml You need this file if you want to update the FIDE ratings of
the players. You can download it from http: / /ratings .fide .com /download /
players_list_xml.zip.
elo feda.xls You need this file if you want to update the FEDA ratings of the players.
You can get it here http://www.feda.org/web/index.php/elo. The file has a
different name, but you need to rename it to elo feda.xls
FIDE-FEDA Vega.csv Alternatively, you can use this file, which contain either FIDE
ratings and FEDA ratings. This file is maintained by Jesus Mena. You can get it
here http://www.jemchess.com

Chapter 3: Usage

3 Usage
Chess Arbiter Tools has been designed to be used in command line. Some of the newest
features are only possible through this means. Anyway, sooner or later, all the features will
be available in the graphical interface also.

3.1 Graphical Interface


Invoking the graphical interface is easy. Just run arbitools-gui.py. Choose your file, your
options and press the button withe function you want to perform.

3.2 Command Line


3.2.1 arbitools-update.py
Updates the players information stored in a file. It is a very useful function when a new list
is published and you had already set up the tournament.
-i This argument takes the name of the input file. This is the file with the information
we want to update.
You can use .veg files, .txt (FIDE Krause) or .csv. For details see the section See
Chapter 4 [File Formats], page 5.
-l Write the name of the elo list here. fide uses the official fide list from the
file players list xml.xml. It wont work if you dont have that file in your folder.
You can download it from www.fide.com. feda uses the feda list from the file
elo feda.xls. You have to rename the file from www.feda.org. fidefeda uses the
file FIDE-FEDA Vega.csv. You can download it from www.jemchess.com.
-m Search method. You can use idfide or name. idfide doesnt have a effect if
you use the feda list, because it doesnt contain the fide codes.

3.2.2 arbitools-add.py
Adds extra players to an existing file.
-i This argument takes the name of the input file. This is the file with the information
we want to update.
You can use .veg files, .txt (FIDE Krause) or .csv. For details see the section See
Chapter 4 [File Formats], page 5.
-a This argument takes the name of the file with the extra players you want to add.
It should be a .csv file with the structure described in the File Formats section.
You can use .veg files, .txt (FIDE Krause) or .csv. For details see the section See
Chapter 4 [File Formats], page 5.

3.2.3 arbitools-standings.py
Produces the standings for a tournament. A file with the standings suffix is created. You
get also a .tex file, ready to use with pdflatex to get a pdf.

Chapter 3: Usage

-i This argument takes the name of the input file. It will only work witn .txt (FIDE
Krause) or .veg. Other formats dont contain the tournaments information needed
to produce the standings.

Chapter 4: File Formats

4 File Formats
4.1 .veg files
This is the format of the Vega software, written by Luigi Forlano. Although it is not free
software, the file format is free. This program is widely used in Spain and Italy.

4.2 .txt files (FIDE Krause)


This is the official format approved by FIDE.

4.3 .csv files


Chess Arbiter Tools accepts .csv with ; separator and the following headings:
NAME;COUNTRY;BIRTHDAY;G;TITLE;IDFIDE;ELOFIDE;KFIDE;IDNAT;ELONAT;K;CLUB
You wont be able to produce reports from this kind of file, since it doesnt store the
tournament information, only the players.

Chapter 5: Common Arbiters Tasks

5 Common Arbiters Tasks


You created a tournament and already have the file mytournament.veg with the tournaments information. You can do lots of operations with arbitools. For example:

5.1 Updating the players data in a file.


You want to add the FEDA elos to the players data. You type the following command:
python3 -i mytournament.veg -l feda -m name
You want to update the FIDE elos because a new list was published:
python3 -i mytournament.veg -l fide -m idfide
Just remember this process is really, really slow. It is because players list xml.xml is
a very big file, and the .xml format is very unefficient.

5.2 Adding extra players to an existing file.


You got a new list of players that have to be added to your original file. The new list is
called late entries.csv.
python3 -i mytournament.veg -a late_entries.csv

5.3 Getting the standings for a tournament.


This task is really easy to perform
python3 -i mytournament.veg
You will get a .txt file with the standings. You will also get a .tex file you can compile
with pdflatex and get a pdf. Additionally, it generates a file test.csv with the ARPO
calculations. This is very experimental, hence the name of the file. This option is possible
thanks to the python libraries written by Julio Gonzalez and Jose Carlos Diaz. http://
eio.usc.es/pub/julio/Desempate/Performance_recursiva_en.htm

Chapter 6: The python library

6 The python library


Chess Arbiter Tools offers a python library which programmers can use in other programs.
It provides the class Tournament, with the following properties and methods:

6.1 Creating an instance of the class


You can create an instance of the class Tournament easily:
arbitools.Tournament()

mytournament =

6.2 Properties
info This dictionary encapsulates important information about the tournament:
1. TOURNAMENT NAME
2. CITY
3. FED
4. BEGIN DATE
5. END DATE
6. ARBITER
7. DEPUTY
8. NUMBER OF ROUNDS
9. CURRENT ROUND
10. NUMBER OR PLAYERS
players data List of dictionaries with the data of the players.
1. NAME : Surname, Name
2. G: Sex: m or f
3. IDFIDE
4. ELOFIDE
5. COUNTRY
6. TITLE
7. ELONAT
8. KFIDE
9. CLUB
10. BIRTHDAY
11. KNAT
12. IDNAT

6.3 Methods
output to file(inputfile) It takes one argument, the name of the file to output the
information.

Chapter 7: Troubleshooting

7 Troubleshooting
Known bugs
1. Standings wont work with tournament files where a player didnt play any rounds.