معرفی شرکت ها


SoL-4.9


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Carrom tournaments management
ویژگی مقدار
سیستم عامل OS Independent
نام فایل SoL-4.9
نام SoL
نسخه کتابخانه 4.9
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Lele Gaifax
ایمیل نویسنده lele@metapensiero.it
آدرس صفحه اصلی https://gitlab.com/metapensiero/SoL
آدرس اینترنتی https://pypi.org/project/SoL/
مجوز GPLv3+
.. -*- coding: utf-8 -*- .. :Project: SoL -- Introduction .. :Created: gio 9 ott 2008 11:40:17 CET .. :Author: Lele Gaifax <lele@metapensiero.it> .. :License: GNU General Public License version 3 or later .. :Copyright: © 2008, 2009, 2010, 2013, 2014, 2015, 2016, 2018, 2019, 2020 Lele Gaifax .. ===================== Scarry On Lin{e|ux} ===================== ------------------------------------------------------------- Powerful and complete solution to manage Carrom championships ------------------------------------------------------------- :version: 4 :author: Lele Gaifax <lele@metapensiero.it> :license: GPLv3 :status: |pipeline| |coverage| .. |pipeline| image:: https://gitlab.com/metapensiero/SoL/badges/master/pipeline.svg :target: https://gitlab.com/metapensiero/SoL/pipelines/ :alt: CI build status .. |coverage| image:: https://gitlab.com/metapensiero/SoL/badges/master/coverage.svg :target: https://gitlab.com/metapensiero/SoL/pipelines/ :alt: Overall test coverage This project contains some tools that make it easier the organization of a championship of Carrom_ tournaments using either a variant of the `Swiss system`__, the `Knockout system`__ or even *everyone against everyone* events. __ https://en.wikipedia.org/wiki/Swiss-system_tournament __ https://en.wikipedia.org/wiki/Single-elimination_tournament The main component is a Pyramid_ application serving two distinct user interfaces: 1. A very light, HTML only, read only view of the whole database, where you can actually browse thru the clubs, championships, tourneys, players and ratings. You can see it in action on the public SoL instance at https://sol4.metapensiero.it/lit/. 2. A complete ExtJS_ based desktop-like application, that exposes all the functionalities described below__ in an easy to manage interface. .. attention:: SoL **requires** Python 3, it does **not** work with Python 2 __ Goals_ .. _Carrom: https://en.wikipedia.org/wiki/Carrom .. _Pyramid: https://trypyramid.com/ .. _ExtJS: https://www.sencha.com/products/extjs/ .. contents:: :depth: 2 Goals ===== These are the key points: 1. Multilingual application Scarry spoke only Italian, because the i18n mechanism in Delphi (and in general under Windows) sucks. Most of the code was written and commented in Italian too, and that made it very difficult to get foreign contributions. 2. Multiuser There is a *super user* (named “admin” by default) that can do everything, in particular create other *normal users*, who can then log in and manage her own tournaments, but can't change information owned by other users. SoL 4 also implements an optional *self registration* procedure. 3. Real database Scarry used Paradox tables, but we are in the third millennium, now: SoL uses a real, even if simple and light, SQL database under its skin. 4. Easy to use The application is usually driven by computer-illiterated guys, so little to no surprises. 5. Easy to deploy Gods know how many hours went in building f*cking installers with BDE goodies! 6. Bring back the fun Programming in Python is just that, since the beginning! High level description ---------------------- The application implements the following features: * basic tables editing, like adding a new player, opening a new championship, manually tweaking the scores, and so on; * handle a single tourney a. compose a list of `competitors`: usually this is just a single player, but there are two people in doubles, or more (teams) b. set up the first round, made up of `matches`, each pairing two distinct `competitors`: if the tournament is associated with a `rating` this considers the Glicko2__ rate of each player, otherwise uses a random pairing; either way, the tournament secretary is able to manually change the combinations c. print the game sheets, where the player will write the scores d. possibly show a countdown, to alert the end of the game e. insert the score of each match f. compute the new ranking g. print the current ranking h. possibly offer a way to withdraw some competitors, or to add a new competitor i. compute the next round j. repeat steps c. thru i. usually up to seven rounds k. possibly offer a way to go back, delete last round, correct a score and repeat l. if required, play up to three final rounds between the first two competitors m. recompute the ranking, assigning prizes n. update the `rating` the tournament is associated to * handle a championship of tourneys * each tourney is associated to one championship * print the championship ranking * data exchange, to import/export whole tourneys in a portable way __ https://en.wikipedia.org/wiki/Glicko_rating_system Installation and Setup ====================== The very first requirement to install an instance of SoL on your own machine is getting Python 3.6 or better\ [#]_. This step obviously depends on the operating system you are using: on most GNU/Linux distributions it is already available\ [#]_, for example on Debian and derivatives like Ubuntu the following command will do the task:: $ apt-get install python3 If instead you are using M$-Windows, you should select the right installer from the downloads__ page on https://www.python.org/. Another recommended, although optional, add-on is the `DejaVu fonts`__ set, to support a rather wide range of `glyphs`__ when producing the PDFs printouts. As usual, on GNU/Linux it's a matter of executing the following command :: $ apt-get install fonts-dejavu or equivalent for your distribution, while on M$-Windows you need to download__ them and extract the archive in the right location which usually is ``C:\Windows\Fonts``. __ https://www.python.org/downloads/windows/ __ https://dejavu-fonts.github.io/ __ https://en.wikipedia.org/wiki/Glyph __ https://sourceforge.net/projects/dejavu/files/dejavu/2.37/dejavu-fonts-ttf-2.37.zip The good old way ---------------- 1. Install ``SoL`` using ``pip``:: pip install SoL that will download the latest version of SoL from PyPI__ and all its dependencies as well __ https://pypi.org/project/SoL/ 2. Install ExtJS_ 4.2.1:: python3 -m metapensiero.extjs.desktop 3. Create a standard config file:: soladmin create-config config.ini and edit it as appropriate; you can also directly specify the name and the password of the *super user* (by default the name is ``admin`` and the password will be asked interactively):: soladmin create-config --admin differentone --password str4nge 4. Setup the database:: soladmin initialize-db config.ini 5. Load official data:: soladmin restore config.ini 6. Run the application server:: pserve config.ini 7. Enjoy! :: firefox http://localhost:6996/ or, for poor Window$ users or just because using Python makes you happier:: python -m webbrowser http://localhost:6996/ Pre-built Docker image ---------------------- .. note:: This is a work-in-progress facility: better documentation and helper tools are on the way! It targets brave souls willing to face a *bleeding edge* experience. Current state is based on the work contributed by `Amar Sanakal`__, thank you! Another option, if you have a 64bit computer, is to run the pre-built Docker_ image. __ https://bitbucket.org/amar-sanakal/solista .. _Docker: https://www.docker.com/ Requirements ~~~~~~~~~~~~ First of all, you must enable the *hardware virtualization* in the ``BIOS`` of your computer. Then you can proceed to install the ``Docker Engine`` for your particular operating system (that is, `GNU/Linux`__, `Windows`__ or `Mac OS X`__). After you have tested the install in the ``Docker Quickstart terminal`` (for example as depicted here__), run the following command in the same window:: docker run -d -p 80:6996 --name sol amarsanakal/solista This will start the software and is now accessible on port 80. You can access it as ``http://<ip-address>``. The ``<ip-address>`` is the ip address of the docker machine running on your PC. This would have been displayed to you when you launched the Docker Quickstart terminal. You can check it anytime by running:: docker-machine ls the ip address is shown under the URL column. Use that without the port number shown there. See https://docs.docker.com/machine/get-started/ for more details. __ https://docs.docker.com/linux/ __ https://docs.docker.com/windows/ __ https://docs.docker.com/mac/ __ https://docs.docker.com/windows/step_three/ Developer's playground ~~~~~~~~~~~~~~~~~~~~~~ If you are a developer and want to play with Docker_, you can checkout SoL sources and * build an image with ``make docker-build`` * change the admin credentials with ``make docker-change-admin`` * start SoL within a Docker container with ``make docker-start``, then visit ``http://localhost:6996/`` as usual See ``Makefile.docker`` for other related targets. Roadmap ~~~~~~~ 1. Provide some *Unix shell scripts* and *Windows batch files* to make the end users happier 2. Complete this section 3. Figure out how to build a new image on hub.docker.com whenever a new SoL release happens Development =========== Since version 4 the development has been moved to GitLab__: the previous repository on Bitbucket__ is now just a mirror, automatically kept in sync when new commits land on the primary one. The complete sources can be downloaded with the following command:: git clone https://gitlab.com/metapensiero/SoL.git I recommend using a *virtual environment* to keep you isolated from the system packages:: python3 -m venv env source env/bin/activate After that, you can setup a development environment by executing the command:: pip install -r requirements/development.txt You must then install the required ExtJS 4 sources executing:: python -m metapensiero.extjs.desktop --src If you are a developer, you are encouraged to create your own `fork` of the software and possibly open a `pull request`: I will happily merge your changes! You can run the tests suite with either :: make test or with a more specific :: pytest tests/models __ https://gitlab.com/metapensiero/SoL __ https://bitbucket.org/lele/sol I18N / L10N ----------- Currently SoL is translated in English\ [#]_, French and Italian. If you know other languages and want to contribute, the easiest way to create a new translation is to create an account on the Weblate__ site and follow its `translators guide`__. .. image:: https://hosted.weblate.org/widgets/sol/-/287x66-white.png :target: https://hosted.weblate.org/engage/sol/ :alt: Translation status :align: center Otherwise if like me you prefer using more traditional tools\ [#]_ you can extract a copy of the sources and operate directly on the local catalogs under the directory ``src/sol/locale``. To extract translatable messages use the following command:: make update-catalogs To check your work you must compile them with:: make compile-catalogs __ https://hosted.weblate.org/projects/sol/ __ https://docs.weblate.org/ Feedback and support -------------------- If you run in troubles, or want to suggest something, or simply a desire of saying *“Thank you”* raises up, feel free to contact me via email as ``lele at metapensiero dot it``. Consider also joining the `dedicated mailing list`__ where you can get in contact with other users of the application. There is also an `issues tracker`__ where you can open a new tickets about bugs or enhancements. __ https://groups.google.com/d/forum/sol-users __ https://gitlab.com/metapensiero/SoL/issues ----- .. [#] As of this writing I'm using version 3.7.0 and I'd recommend using that, but SoL used to work great with any version higher than 3.4. .. [#] In fact it may even be already installed! .. [#] The are actually two distinct catalogs, to take into account US and UK variants. .. [#] GNU Emacs comes to mind of course, but there are zillions of them: start looking at the `gettext page <https://en.wikipedia.org/wiki/Gettext>`_ on Wikipedia. .. -*- coding: utf-8 -*- Changes ------- 4.10 (2022-07-18) ~~~~~~~~~~~~~~~~~ * Fix computation of bucholz when a retirements policy is in effect * Fix computation of the ranking of "non current" rounds * Fix update of matches sidebar when deleting a final round 4.9 (2022-04-10) ~~~~~~~~~~~~~~~~ * Disallow insertion of total scores exceeding 25 points in the self-compilation match form * Fix computation of total score in the scoreboard detailed results 4.8 (2022-03-11) ~~~~~~~~~~~~~~~~ * Better strategy to assign boards in small tournaments (issue `#34`__) __ https://gitlab.com/metapensiero/SoL/-/issues/34 * Notify the user playing against Phantom in training tournaments (issue `#35`__) __ https://gitlab.com/metapensiero/SoL/-/issues/35 * Use less ambiguous "register" in the login panel (issue `#30`__) __ https://gitlab.com/metapensiero/SoL/-/issues/30 * Handle the "suicide" case in self-compilation match form (issue `#29`__) __ https://gitlab.com/metapensiero/SoL/-/issues/29 * Allow unlimited boards in final matches (issue `#31`__) __ https://gitlab.com/metapensiero/SoL/-/issues/31 4.7 (2021-10-24) ~~~~~~~~~~~~~~~~ * Refine the self-insertion of match results: - avoid ending the insertion by mistake (issue `#24`__) - always present the *refresh* action in the matches panel (issue `#25`__) __ https://gitlab.com/metapensiero/SoL/-/issues/24 __ https://gitlab.com/metapensiero/SoL/-/issues/25 * Promote the SoL issue tracker in the main menu (issue `#26`__) __ https://gitlab.com/metapensiero/SoL/-/issues/26 * Fix glitch entering scoreboard detailed results (issue `#27`__) __ https://gitlab.com/metapensiero/SoL/-/issues/27 4.6 (2021-05-30) ~~~~~~~~~~~~~~~~ * Fix defective Italian translation 4.5 (2021-04-24) ~~~~~~~~~~~~~~~~ * Fix glitch in English messages 4.4 (2021-04-21) ~~~~~~~~~~~~~~~~ * Fix issue `#21`__, due to sloppy coding __ https://gitlab.com/metapensiero/SoL/-/issues/21 * Rewrite naïve implementation of the "all against all" turns generator, using the `circle method`__ algorithm __ https://en.wikipedia.org/wiki/Round-robin_tournament#Circle_method 4.3 (2021-04-20) ~~~~~~~~~~~~~~~~ * Really fix issue `#18`__ __ https://gitlab.com/metapensiero/SoL/-/issues/18 4.2 (2021-04-20) ~~~~~~~~~~~~~~~~ * Use a less confusing tooltip for the send training board emails action (see issue `#16`__) __ https://gitlab.com/metapensiero/SoL/-/issues/16 * Possibly advance the current turn of the "all against all" Corona Carrom tournament when the ranking is updated (see issues `#18`__ and `#19`__) __ https://gitlab.com/metapensiero/SoL/-/issues/18 __ https://gitlab.com/metapensiero/SoL/-/issues/19 4.1 (2021-04-19) ~~~~~~~~~~~~~~~~ * New "all against all" mode for Corona Carrom tournaments 4.0rc4 (2020-05-18) ~~~~~~~~~~~~~~~~~~~ * Fix typo that prevented the automatic backup at login time 4.0rc3 (2020-05-18) ~~~~~~~~~~~~~~~~~~~ * Slightly improved rendering of auto-compile scorecards on desktop browsers * New actions in the matches panel to open the auto-compile scorecards, when email does not work * New action on the tourneys management to create a knockout tourney from a previous Swiss one 4.0rc2 (2020-05-12) ~~~~~~~~~~~~~~~~~~~ * Minor fixes to English grammar in the user manual * Fix boolean filters 4.0rc1 (2020-05-11) ~~~~~~~~~~~~~~~~~~~ * Minor tweak the training board results edit window, showing the average misses count 4.0b14 (2020-05-09) ~~~~~~~~~~~~~~~~~~~ * Complete the new boards results edit window, implementing the "training" variant 4.0b13 (2020-05-09) ~~~~~~~~~~~~~~~~~~~ * Fix Lit view of training tournaments 4.0b12 (2020-05-07) ~~~~~~~~~~~~~~~~~~~ * Refine "knockout" system couplings * New "boards" table, to store matches details, generalizing previous training-boards only solution 4.0b11 (2020-04-17) ~~~~~~~~~~~~~~~~~~~ * Implement the "knockout" system, the last long-standing requested feature for v4, yay! 4.0b10 (2020-04-14) ~~~~~~~~~~~~~~~~~~~ * Fix deployment issues 4.0b9 (2020-04-14) ~~~~~~~~~~~~~~~~~~ * Fix deployment issues 4.0b8 (2020-04-14) ~~~~~~~~~~~~~~~~~~ * New optional "social site" URL on tournaments * Store all boards misses, not just the totals 4.0b7 (2020-04-09) ~~~~~~~~~~~~~~~~~~ * Show both the scores and the errors in the training tournament's Lit view 4.0b6 (2020-04-08) ~~~~~~~~~~~~~~~~~~ * Fix bug that allowed the self-insertion to only one of the competitors... 4.0b5 (2020-04-08) ~~~~~~~~~~~~~~~~~~ :note: one month of captivity... * Other minor tweaks to "Corona Carrom" management 4.0b4 (2020-04-07) ~~~~~~~~~~~~~~~~~~ * Minor tweaks to "Corona Carrom" management 4.0b3 (2020-04-05) ~~~~~~~~~~~~~~~~~~ * Restore "email" and "language" on players, removed in 4.0a5 * Add support for "Corona Carrom", “El Carrom en los tiempos del Covid-19” 4.0b2 (2020-02-15) ~~~~~~~~~~~~~~~~~~ * Highlight winners in the results printout, as suggested by Carlito * New "donations" section in the user's manuals (still draft!) 4.0b1 (2020-02-10) ~~~~~~~~~~~~~~~~~~ * New introductory chapter in the user manual, thanks to Elisa for the preliminary text * New "world" fake country and icon, for international federations * Add an entry in the main menu to change account's UI language * Take into account the selected round when printing tourney's matches, for consistency with the results printout * Use darkblue instead of red to highlight winners, as red may suggest an error condition 4.0a10 (2020-02-06) ~~~~~~~~~~~~~~~~~~~ * Add a rating on the clubs, used as default when creating new associated championships * Clearer identification of ratings, showing their level and associated club, if any 4.0a9 (2020-02-05) ~~~~~~~~~~~~~~~~~~ * Show the user's email in the "owner" lookup, to avoid name clashes * Fix serialization of the new hosting club tourney's attribute * New button to start the countdown after 60 seconds * Fix the actions deactivation logic based on the owner id for new records 4.0a8 (2020-02-01) ~~~~~~~~~~~~~~~~~~ * Add a rating on the championships, used as default when creating new associated tournaments 4.0a7 (2020-01-31) ~~~~~~~~~~~~~~~~~~ * Revise the obfuscation algorithm of player names, using an hash of the original one instead of simple truncation, to avoid conflicts; also, from now on it gets applied also to the exported streams * Highlight the not-yet-scored matches in the tourney management window * Allow emblems and portraits up to 512Kb in size 4.0a6 (2020-01-29) ~~~~~~~~~~~~~~~~~~ * Nicer rendering of the main Lit page * Simpler way to open the Lit page of a tourney from its management window * Allow to save partial results, to be on the safe side when there are lots of boards * Show the "hosting club" on all printouts, if present 4.0a5 (2020-01-25) ~~~~~~~~~~~~~~~~~~ * Remove "email", "language" and "phone" from players data * Remove player's rate from participants printout * Omit the player's club in the ranking printout for international tourneys * Add the player's nationality in matches and results printouts * Add an "hosting club" to tournaments 4.0a4 (2020-01-18) ~~~~~~~~~~~~~~~~~~ * New association between clubs and users: now a user may add a championship/tourney/rating/player only to clubs he either owns or is associated with * Add a link to send an email to the instance' admin on the login panel 4.0a3 (2020-01-13) ~~~~~~~~~~~~~~~~~~ * Use a three-state flag for the player's *agreed privacy*: when not explicitly expressed, SoL assumes they are publicly discernible if they participated to tournaments after January 1, 2020 * Player's first and last names must be longer that one single character 4.0a2 (2020-01-11) ~~~~~~~~~~~~~~~~~~ * Fix issue with UI language negotiation * Use the better maintained `Fomantic-UI`__ fork of `Semantic-UI`__ in the “Lit” interface __ https://fomantic-ui.com/ __ https://semantic-ui.com/ * New tournaments *delay compatriots pairing* option * Technicalities: * Official repository is now https://gitlab.com/metapensiero/SoL * NixOS__ recipes (thanks to azazel@metapensiero.it) __ https://nixos.org/ 4.0a1 (2018-08-06) ~~~~~~~~~~~~~~~~~~ .. warning:: Backward **incompatible** version This release uses a different algorithm to crypt the user's password: for this reason previous account credentials cannot be restored and shall require manual intervention. It's **not** possible to *upgrade* an existing SoL3 database to the latest version. However, SoL4 is able to import a backup of a SoL3 database made by ``soladmin backup``. * Different layout for matches and results printouts, using two columns for the competitors to improve readability (suggested by Daniele) * New tournaments *retirements policy* * New "women" and "under xx" tourney's ranking printouts * New “self sign up” procedure * New “forgot password” procedure * New "agreed privacy" on players * Somewhat prettier “Lit” interface, using `Semantic-UI tables`__ * Technicalities: * Development moved to GitLab__ * Officially supported on Python 3.6 and 3.7, not anymore on <=3.5 * Shiny new pytest-based tests suite * Uses `python-rapidjson`__ instead `nssjson`__, as I officially declared the latter as *abandoned* * Uses `PyNaCl`__ instead of `cryptacular`__, as the former is much better maintained * "Users" are now a separated entity from "players": now the login "username" is a mandatory email and the password must be longer than **five** characters (was three before) __ https://semantic-ui.com/collections/table.html __ https://gitlab.com/metapensiero/SoL __ https://pypi.org/project/python-rapidjson/ __ https://pypi.org/project/nssjson/ __ https://pypi.org/project/PyNaCl/ __ https://pypi.org/project/cryptacular/


نیازمندی

مقدار نام
- alembic
- babel
- metapensiero.extjs.desktop
- metapensiero.sqlalchemy.proxy
- pillow
- pycountry
- pygal
- pygal-maps-world
- pynacl
- pyramid
- pyramid-mako
- pyramid-tm
- python-rapidjson
- reportlab
- ruamel.yaml
- setuptools
- sqlalchemy
- transaction
- waitress
- zope.sqlalchemy


نحوه نصب


نصب پکیج whl SoL-4.9:

    pip install SoL-4.9.whl


نصب پکیج tar.gz SoL-4.9:

    pip install SoL-4.9.tar.gz