Giter Site home page Giter Site logo

drawpia's Introduction

drawpia

A simple command line tool for performing draws.

features

  • Performing a draw between unlimited number of entries with different group sizes.
  • Ability to set a restricted level for each entry to be able to distribute such entries on different groups without putting two entries with the same restricted level in the same group (if it's not possible, an error would be raised).
  • Ability to set an optional level for each entry to be able to try to distribute such entries on different groups without putting two entries with the same optional level in the same group (if it's not possible, optional level would be ignored).

data

You should first fill this file with real data:

  • files/entries.txt: Contains the name, restricted level and optional level of each entry. restricted level and optional level are not mandatory but each entry can have them if needed.

    These combinations are possible for each entry:

    • Name
    • Name + Restricted Level
    • Name + Restricted Level + Optional Level

    Note that if you only want to have optional level without restricted level, you can set a unique restricted level per each entry to make it non-effective.

    There are four sample files which can be used to get familiar with the data structure:

    • files/samples/entries.sample1.txt: Contains a sample data with only name.
    • files/samples/entries.sample2.txt: Contains a sample data with only name + restricted level.
    • files/samples/entries.sample3.txt: Contains a sample data with mixed entry structures.
    • files/samples/entries.sample4.txt: Contains a real sample data for drawing 16 football teams in groups of 2.

run

python3 run.py

drawpia's People

Contributors

mononobi avatar

drawpia's Issues

Add another layer of restricted level

Add another layer of restricted level.
it could be specified at the end of the line, after the optional level.
it should have the same criteria as first restricted level, not to be bigger than total groups count.

Allow each level to be empty and ignored

Allow each level to be empty and ignored. this way each entry can have any combination of levels.
Note that the order of each part should be kept intact.
for example:
Germany[][][***]Restricted_Level_Layer_2
in this example the entry only has restricted layer level 2 but it does not have restricted level and optional level.

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.