Commit Graph

464 Commits

Author SHA1 Message Date
Thor77 602e6c4d51 Log start/end of parsing logfile 2017-09-08 15:39:39 +02:00
Thor77 91a9b8e4c7 Implement online_dc again 2017-09-08 15:39:39 +02:00
Thor77 90a367da27 Warn about online clients on logfile end 2017-09-08 15:39:39 +02:00
Thor77 59d4c88701 Add Client.__repr__ 2017-09-08 15:39:39 +02:00
Thor77 3d6c41538b Indent return of parsed_events correctly 2017-09-08 15:39:39 +02:00
Thor77 96d6e9f050 Only yield Server if there are clients for it 2017-09-08 15:39:39 +02:00
Thor77 7077446627 Add test for Client.nick-property 2017-09-08 15:39:39 +02:00
Thor77 3acf282470 Don't drop current nick in prepare_clients
because that's already handled in the Client.nick-property now
2017-09-08 15:39:39 +02:00
Thor77 c2fb6aa6c1 Handle set_nick event-action with .nick-property 2017-09-08 15:39:39 +02:00
Thor77 088d905196 Convert Client.nick into property
to add previous nick to .nick_history on set
2017-09-08 15:39:39 +02:00
Thor77 a084101ced Add Clients.apply_events
to apply events to a Clients-collection
2017-09-08 15:39:39 +02:00
Thor77 da2b773bf6 Add tsstats/event.py for easy event-initialization 2017-09-08 15:39:39 +02:00
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
Thor77 20d40c8890 Add string-representation for Clients
to simplify debug-output
2017-09-08 15:39:39 +02:00
Thor77 caff246f9a Don't raise InvalidLog
because there's nothing you can do about it anyways, so there's no need
to stop.
2017-09-08 14:12:48 +02:00
Thor77 6a84b35a52 [requires.io] Dependency update (#24) 2017-09-05 22:18:04 +02:00
Thor77 7ab4436777 Bump version to 1.5.1 2017-08-24 19:38:44 +02:00
Thor77 3067c229d6 Add pendulum requirement to setup.py 2017-08-24 19:38:20 +02:00
Thor77 7dbd37b028 Add pendulum to testing_requirements.txt 2017-08-03 23:39:50 +02:00
Thor77 22c15202a3 Bump version to 1.5.0 2017-07-07 16:19:28 +02:00
Thor77 edff1e956d Optionally Pendulum.diff_for_humans instead of frmttime
for relative last seen time (default)

* introduce --lastseenabsolute
* introduce tsstats.template.render_servers(lastseen_relative=True)
2017-07-07 14:23:10 +02:00
Thor77 65a8379261 Use pendulum instead of plain datetime
because it is more intuitive to use and doesn't require the
tz_aware_datetime-workaround.
2017-07-07 14:22:24 +02:00
Thor77 3d469ce28c Sort imports 2017-06-02 23:34:33 +02:00
Thor77 6ddc8c94b7 Pass directory to flake8/isort 2017-06-02 23:33:40 +02:00
Thor77 de1cc4be2f Install (testing)requirements for style checks
to fix unexpected results from isort
2017-06-02 23:33:00 +02:00
Thor77 ed62eceda3 Bump version to 1.4.3 2017-06-01 23:41:55 +02:00
Thor77 11acf9f9b6 Add space between identifier and nick
mainly used in debug mode
2017-05-15 22:50:05 +02:00
Thor77 992d35ec87 Fix UnicodeEncodeError in debug mode with Python 2 2017-05-15 22:49:18 +02:00
Thor77 f209573d04 Fix Clients.__add__ not using identmap 2017-05-14 23:28:59 +02:00
Thor77 a4c04e34c8 Close log files after parsing 2017-05-11 11:32:11 +02:00
Thor77 fec833d876 Point to log-directory without glob in example
as the current example will trigger shell-expansion and possibly lead to
confusion (see #21)
2017-04-30 21:29:49 +02:00
Thor77 8299c73eb9 Move output-fixture to confest.py and yield path
* Modify test_log and test_template to use these changes
2017-04-28 23:27:05 +02:00
Thor77 e37e292ba9 Bump version to 1.4.2 2017-04-19 23:36:30 +02:00
Thor77 cbf7000e91 Include README.rst as description for PyPi 2017-04-19 23:35:25 +02:00
Thor77 ef5894b407 Refactor documentation
* move documentation-source from /docs/source to /docs/ and build in
/docs/_build instead of /docs/build
* convert README to rst and remove information also present in
documentation and refer to it
* regenerate conf.py/Makefile with most recent Sphinx-version
* add development.rst with information for contributors
2017-04-19 23:24:30 +02:00
Thor77 97d58254b3 Remove unnecessary variable-declaration
possibly leading to faster access-time
2017-03-31 22:39:57 +02:00
Thor77 8d18b9c4ae Fix not using defined variable for match-access
possibly leading to slower access-times
2017-03-31 22:21:54 +02:00
Thor77 4b261ed321 Bump version to 1.4.1 2017-03-30 20:15:09 +02:00
Thor77 1bc555d66c Add IdentMap-lookup for new clients
added to clients-collection during log-parsing

Fix #18
2017-03-30 20:10:08 +02:00
Thor77 683f9b984a Add testcase for wrong identifier with identmap
If a client connects with a secondary identifier first,
this one is used as the identifier for the Client-object instead of the
primary one.
2017-03-29 12:45:35 +02:00
Thor77 6e662e2555 Bump version to 1.4.0 2017-03-24 23:22:02 +01:00
Thor77 270b20d385 Fix E501 (line too long) 2017-03-24 23:19:48 +01:00
Thor77 0081ac9939 Log parse time of individual logs 2017-03-24 23:18:26 +01:00
Thor77 e4212f28fb Log total execution time to info 2017-03-24 23:17:58 +01:00
Matthew a83d6de253 Add ability to pass a directory for --log option (#17)
If you pass a directory, it will now tack a '*.log' glob on the end of
the path to automatically use all log files inside this directory.
2017-03-08 22:54:07 +01:00
Thor77 cb42b9ee2a Bump version 1.3.1 2017-03-04 00:27:38 +01:00
Thor77 bdba91879e Add AppVeyor-badge 2017-03-04 00:25:22 +01:00
Thor77 aaf5f2b851 Convert filter to list
because filters are (non-subscriptable) objects in py3
2017-03-04 00:02:41 +01:00
Thor77 a694a2bc58 Refactor test_onlinetime
to require only one iteration and simplify testing
2017-03-03 23:59:24 +01:00
Thor77 6238f14574 Fix incorrectly initialized codeblock
in IdentMap-documentation
2017-02-28 20:59:09 +01:00