Commit graph

225 commits

Author SHA1 Message Date
Thor77
b9f798d04d Add test for Clients.__str__ 2017-09-14 22:37:32 +02:00
Thor77
6345c3f1f5 Remove test for serverstop with connected clients
because it is non-trivial to implement with the new architecture and
probably not worth the effort, because it basically can't happen.
A warning/exception should be added instead.
2017-09-10 00:15:21 +02:00
Thor77
b1b80f657a Use parse_logs instead of _parse_details 2017-09-10 00:04:11 +02:00
Thor77
cbc76b5541 Add missing identmap-lookup for new clients 2017-09-09 18:44:41 +02:00
Thor77
1c224fa0ee Use parse_logs instead of _parse_details 2017-09-09 18:36:43 +02:00
Thor77
c79dd08bc0 Don't accept infinite arguments
leftover from old parse_logs-func
2017-09-09 18:04:56 +02:00
Thor77
147c41ffce Use parse_logs instead of _parse_details
because _parse_details is not available anymore
2017-09-09 17:35:55 +02:00
Thor77
df268f1c2a Add return and rtype to parse_logs-funcdoc 2017-09-08 15:39:39 +02:00
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
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
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
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
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
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
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
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
cd01eb433a Use hyperlinks instead of onclick-events
to link to positions.
Disabled color-change and text-decoration to keep a clean and consisten
look.
2017-02-27 22:16:16 +01:00
Thor77
6c35aed767 Only log to file if not logging to stdout 2017-02-27 13:37:05 +01:00
Thor77
8f49c3e95d Add debugstdout flag/config-directive
to enable debug logging to stdout

Fix #15
2017-02-27 13:37:04 +01:00
Thor77
0033ce186f Move logger-setup to tsstats.logger
and handlers are now attached as desired in __main__.cli
2017-02-27 13:37:00 +01:00
Thor77
2753f548fe Test disconnect on server-stop 2017-02-23 21:51:42 +01:00
Thor77
962fd486af Test reading config from disk again 2017-02-23 21:38:59 +01:00
Thor77
709c573b65 Refactor config-tests
by just testing the return-value of tsstats.config.load instead of
writing and reading a config-file from disk as there's absolutely no
need to test that as it's just basic ConfigParser-functionality
2017-02-22 22:00:09 +01:00
Thor77
5e19e38965 Fix E501 (line too long) 2017-02-19 17:17:14 +01:00
Matthew
5968dc31dd Support for a nicer structure for ID maps (#12)
This adds support for a more expressive (albeit more verbose) IdentMap
structure. It makes it easier to annotate the structure with additional
data (such as names to associate with the IDs), to assist with
maintaining the IdentMap.
2017-02-18 14:58:23 +01:00