Git Product home page Git Product logo

tctools's Introduction

SquashNZ Tournament Control Tools

This is a collection of tools I've been using to run squash tournaments at The Thorndon Club for Squash New Zealand, working around some of the peculiarities of iSquash, and using TournamentControl to schedule and run the tournaments. The use of TournamentControl is optional, but highly recommended. Other tournament software may be integrated into these tools in the future.

The tools include:

There is a series of videos to explain how to use these.

Feedback welcome!

I am not affiliated with Squash New Zealand. Fair use of their infrastructure is claimed. If you (ab)use these tools for any other purpose than squash tournament control, you may be held liable, as access is logged.

Downloading tctools

There are two ways in which you can download tctools to your computer, or the one used for a tournament: downloading a Zip file, or using special software to track development of the tools.

A Zip-file for every tournament (simple/beginner)

The generally recommended way is to download a Zip file for every tournament, which you then unpack wherever you want it to live, and never worry about again post-tournament. In the event of bug fixes, you can either directly replace the affected files, or just re-download as required.

Using a version control system (harder/advanced)

On the other hand, and especially if you are keen on contributing and helping making the tools better, please consider to use Git for Windows, which allows you to easily update as changes are made upstream, and also submit your changes and improvements back upstream.

Downloading Git and installing it might seem scary at first, as there are a lot of questions asked. However, you are fine just accepting the defaults for everything. Then, once installed, use the command line / PowerShell and enter:

git clone https://github.com/madduck/tctools.git

and you will find tctools in the subdirectory tctools. Easy as.

To update, change to that directory and run git pull to upgrade the local copy to the latest version. Git is very cool, and here's starter article to read in case you're keen to learn.

Installing dependencies

LibreOffice

The DrawMaker is written using LibreOffice, which you will need to install, as it uses functionality not available in Excel or Google Docs. You also need LibreOffice in combination with TournamentControl, as detailed in the next section:

Python and pytcnz

If you want to use the scripts or tc2web — and trust me, you do, unless you want to make and seed draws manually, or enter results by hand – you will need to install Python, as detailed here. Please select "Manual Mode", and when asked about "Optional Features" during the install, make sure that only "pip" is selected:

Python installer optional features

And on the next screen, select to add "Python to the environment variables".

Once installed, you need to obtain the pytcnz library, which used to be part of tctools, but has been split off into a separate library. This can be done with a single command:

pip install git+https://github.com/madduck/pytcnz@main
python -m pytcnz.welcome

This is also the command to run to upgrade the library.

If you saw my little message, you should be good to go, e.g.

python scripts\search_grading_list.py --name martin --club WNTH --grade b

Gecko web driver

To remote-control iSquash, you need to install geckodriver. Grab the latest release (geckodriver-v0.30.0-win64.zip at time of writing), open the Zip file, and copy the contained geckodriver.exe file into the scripts subdirectory of tctools, or anywhere else where the operating system can find it (your "$PATH").

Please note that if you install geckodriver to the scripts directory, you can only run the scripts controlling iSquash from within that directory.

About the TournamentControl export

The Python libraries I use to read Excel and OpenDocument spreadsheets cannot deal with the outdated Excel format exported by TournamentControl. However, LibreOffice, which is a great Free Software alternative to Microsoft Excel and Google Docs, can.

To use the tools in this repository, you need to open the exported file in LibreOffice, and save it.

There is a script fix-tc-export.sh that does this.

Configuration

Many of the scripts read configurable settings from the file tctools.ini in the tctools top directory. In this file, you may provide iSquash login details (so you don't always have to pass them on the command line), and other important settings. Please have a look at the tctools.ini.example file.

Thanks & credits

Kelsey Mackay from KP sent me the draw templates she was using, which gave me the idea for the poster-maker, and informed the design.

Brent Gribbon of Attivo Design, also from KP, inspired me with the idea to publish draw and schedule data to a website, and provided his Windows-specific scripts, which I couldn't get working, and rewrote in Python. It was all downhill from there.

Thanks to Nick and Simon of DTKapiti for their software, and also for their patience and support answering questions, and setting up test tournaments.

And last but not least: huge thanks to Brad Watts, Nicole Georgel, and the rest of the folks at The Thorndon Club in Wellington for passing on their knowledge, and coaching me to get up and running quickly. None of what's here would be if it weren't for you, and the opportunity to serve as Squash Club Captain.

Licence

You are free to use any of the software you find here under the terms of the MIT License, basically meaning that you can do whatever you want, but you have to attribute copyright, and include a mention to this licence in whatever you do.

Of course, if you have any improvements, it would be nice if you fed them back to us.

Copyright © 2021–2022 martin f. krafft <[email protected]>

tctools's People

Contributors

madduck avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.