A simple Teamspeak stats-generator - based on server-logs https://claytonia.net/tsstats.html
Find a file
Thor77 08b4e06f10 Refactor and simplify log-parsing
* _parse_line parses one line at a time for simplified testing
and return a list of event.Event's instead of applying changes directly
to a Clients-obj
* parse_log just bundles the logs (using _bundle_logs), opens them,
parses them (using _parse_line) and applies returned events to a
Clients-obj in the correct order

With these changes some sort of caching is possible because events are
not bound to a specific client-object and are easily sortable due to
their attached timestamp.
2017-09-08 15:39:39 +02:00
docs
tsstats Refactor and simplify log-parsing 2017-09-08 15:39:39 +02:00
.coveragerc
.gitignore
.travis.yml
LICENSE
README.rst
requirements.txt
screenshot.png
setup.py [requires.io] Dependency update (#24) 2017-09-05 22:18:04 +02:00
testing_requirements.txt

TeamspeakStats |Build Status| |Build status| |Coverage Status| |Code Health| |PyPI| |Documentation Status|
==========================================================================================================

A simple Teamspeak stat-generator - based solely on server-logs

|screenshot|

Installation
============

-  Install the package via PyPi ``pip install tsstats``
-  Clone this repo
   ``git clone https://github.com/Thor77/TeamspeakStats`` and install
   with ``python setup.py install``
-  Just use the package as is via ``python -m tsstats [-h]``

Usage
=====

-  Run the script ``tsstats [-h]``
-  Optionally create a config-file (see
   `Configuration <https://teamspeakstats.readthedocs.io/en/latest/config.html>`__)
-  The package works entirely off your Teamspeak server's logs, so that
   no ServerQuery account is necessary

Example
=======

::

    tsstats -l /var/log/teamspeak3-server/ -o /var/www/tsstats.html

Parse logs in ``/var/log/teamspeak3-server`` and write output to ``/var/www/tsstats.html``.

For more details checkout the `documentation <http://teamspeakstats.readthedocs.io/en/latest/>`__!

.. |screenshot| image:: https://raw.githubusercontent.com/Thor77/TeamspeakStats/master/screenshot.png
.. |Build Status| image:: https://travis-ci.org/Thor77/TeamspeakStats.svg?branch=master
   :target: https://travis-ci.org/Thor77/TeamspeakStats
.. |Build status| image:: https://ci.appveyor.com/api/projects/status/u9cx7krwmmevbvl2?svg=true
   :target: https://ci.appveyor.com/project/Thor77/teamspeakstats
.. |Coverage Status| image:: https://coveralls.io/repos/Thor77/TeamspeakStats/badge.svg?branch=master&service=github
   :target: https://coveralls.io/github/Thor77/TeamspeakStats?branch=master
.. |Code Health| image:: https://landscape.io/github/Thor77/TeamspeakStats/master/landscape.svg?style=flat
   :target: https://landscape.io/github/Thor77/TeamspeakStats/master
.. |PyPI| image:: https://img.shields.io/pypi/v/tsstats.svg
   :target: https://pypi.python.org/pypi/tsstats
.. |Documentation Status| image:: https://readthedocs.org/projects/teamspeakstats/badge/?version=latest
   :target: http://teamspeakstats.readthedocs.io/en/latest/?badge=latest