<feed xmlns='http://www.w3.org/2005/Atom'>
<title>raidgrep/src/filters, branch v1.2.0</title>
<subtitle>Guild Wars 2/arcdps evtc log searching tool</subtitle>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/raidgrep/'/>
<entry>
<title>clean up SearchField related code</title>
<updated>2020-05-13T10:52:13+00:00</updated>
<author>
<name>Daniel</name>
<email>kingdread@gmx.de</email>
</author>
<published>2020-05-13T10:52:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/raidgrep/commit/?id=331d6b1762d1d9431b210fc98a495d56ad7a1cd1'/>
<id>331d6b1762d1d9431b210fc98a495d56ad7a1cd1</id>
<content type='text'>
With the addition of our own parser, we no longer need the FromStr
implementation for SearchField. Furthermore, it is now only used in
player::NameFilter, so the definition has been moved there. The import
in the grammar was unused as well, so it has been removed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the addition of our own parser, we no longer need the FromStr
implementation for SearchField. Furthermore, it is now only used in
player::NameFilter, so the definition has been moved there. The import
in the grammar was unused as well, so it has been removed.
</pre>
</div>
</content>
</entry>
<entry>
<title>use Display implementations from evtclib</title>
<updated>2020-05-12T12:04:54+00:00</updated>
<author>
<name>Daniel</name>
<email>kingdread@gmx.de</email>
</author>
<published>2020-05-12T12:03:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/raidgrep/commit/?id=331dbac270273889111a3cd4bb73d16eeaf5ebde'/>
<id>331dbac270273889111a3cd4bb73d16eeaf5ebde</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add a -cm filter</title>
<updated>2020-05-12T11:51:09+00:00</updated>
<author>
<name>Daniel</name>
<email>kingdread@gmx.de</email>
</author>
<published>2020-05-12T11:51:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/raidgrep/commit/?id=371186e872df3518bb5a2894f487ec02a42c771a'/>
<id>371186e872df3518bb5a2894f487ec02a42c771a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add -class player filter</title>
<updated>2020-05-04T13:25:33+00:00</updated>
<author>
<name>Daniel</name>
<email>kingdread@gmx.de</email>
</author>
<published>2020-05-04T13:25:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/raidgrep/commit/?id=74dc6574650a157ab57779dc633e140d020b792a'/>
<id>74dc6574650a157ab57779dc633e140d020b792a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>include missing semicolon</title>
<updated>2020-05-04T10:31:18+00:00</updated>
<author>
<name>Daniel</name>
<email>kingdread@gmx.de</email>
</author>
<published>2020-05-04T10:31:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/raidgrep/commit/?id=e74e9d393bdf687002ccdbd706a929b4bbf2920e'/>
<id>e74e9d393bdf687002ccdbd706a929b4bbf2920e</id>
<content type='text'>
Rust doesn't necessarily need this, but it's good formatting to include
it anyway.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rust doesn't necessarily need this, but it's good formatting to include
it anyway.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a -log-before &amp; -log-after predicate</title>
<updated>2020-05-04T10:24:24+00:00</updated>
<author>
<name>Daniel</name>
<email>kingdread@gmx.de</email>
</author>
<published>2020-05-04T10:24:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/raidgrep/commit/?id=17e27776ea152509e1095bbf80f5af65bc7a7997'/>
<id>17e27776ea152509e1095bbf80f5af65bc7a7997</id>
<content type='text'>
With the file name heuristic for -before and -after in place, we might
want a way for the user to disable it. For now, we simply do this by
providing a new set of predicates without the filter.

In the future, we might have a --disable-heuristics switch to disable
the heuristics, in case we ever add more.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the file name heuristic for -before and -after in place, we might
want a way for the user to disable it. For now, we simply do this by
providing a new set of predicates without the filter.

In the future, we might have a --disable-heuristics switch to disable
the heuristics, in case we ever add more.
</pre>
</div>
</content>
</entry>
<entry>
<title>enable date parsing from filenames</title>
<updated>2020-05-01T12:09:30+00:00</updated>
<author>
<name>Daniel</name>
<email>kingdread@gmx.de</email>
</author>
<published>2020-05-01T12:09:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/raidgrep/commit/?id=f3af2cf6966b6033563d315492fc6b84f433f780'/>
<id>f3af2cf6966b6033563d315492fc6b84f433f780</id>
<content type='text'>
This allows the date-based filters to work much faster.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows the date-based filters to work much faster.
</pre>
</div>
</content>
</entry>
<entry>
<title>change LogFilter to take EarlyLogResult</title>
<updated>2020-05-01T11:29:38+00:00</updated>
<author>
<name>Daniel</name>
<email>kingdread@gmx.de</email>
</author>
<published>2020-05-01T11:29:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/raidgrep/commit/?id=5f765b749f793b2866262546d28ff138a5654dfc'/>
<id>5f765b749f793b2866262546d28ff138a5654dfc</id>
<content type='text'>
This allows us to attach some additional metadata that is not found in
the PartialEvtc otherwise, such as the file name.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows us to attach some additional metadata that is not found in
the PartialEvtc otherwise, such as the file name.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix timestamp handling</title>
<updated>2020-05-01T10:51:06+00:00</updated>
<author>
<name>Daniel</name>
<email>kingdread@gmx.de</email>
</author>
<published>2020-05-01T10:51:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/raidgrep/commit/?id=cb757209d438afe23b5bdbfa5f62d00b195ad367'/>
<id>cb757209d438afe23b5bdbfa5f62d00b195ad367</id>
<content type='text'>
As it turns out, the "local timestamp" as advertised by arcdps is a bit
misleading, because the timestamp is still in UTC. The "local" refers to
the fact that it can lag behind the server timestamp a bit (but usually
they seem to be within +-1 of each other), not that the timestamp is in
the local timezone.

This makes date handling a bit harder for raidgrep, but thanks to
chrono, not by much. The idea is that we simply deal with Utc pretty
much everywhere, except at the user boundary. This means that

1. Input timestamps for -before and -after are converted to Utc right
   after input
2. When outputting, we convert to a local timestamp first

This makes the output consistent with the filenames now (and the "wall
time" that the player saw).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As it turns out, the "local timestamp" as advertised by arcdps is a bit
misleading, because the timestamp is still in UTC. The "local" refers to
the fact that it can lag behind the server timestamp a bit (but usually
they seem to be within +-1 of each other), not that the timestamp is in
the local timezone.

This makes date handling a bit harder for raidgrep, but thanks to
chrono, not by much. The idea is that we simply deal with Utc pretty
much everywhere, except at the user boundary. This means that

1. Input timestamps for -before and -after are converted to Utc right
   after input
2. When outputting, we convert to a local timestamp first

This makes the output consistent with the filenames now (and the "wall
time" that the player saw).
</pre>
</div>
</content>
</entry>
<entry>
<title>fix BossFilter::filter_early</title>
<updated>2020-04-29T14:18:02+00:00</updated>
<author>
<name>Daniel</name>
<email>kingdread@gmx.de</email>
</author>
<published>2020-04-29T14:18:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/raidgrep/commit/?id=f956baf7e6b77e48e3f845459560f1f8fb77eb7c'/>
<id>f956baf7e6b77e48e3f845459560f1f8fb77eb7c</id>
<content type='text'>
If the boss is unknown, we exclude the log - that is how
BossFilter::filter operates, and it is probably what the user wants if
they specify a -boss filter. However, in filter_early, the default for
unknown bosses was to return Inclusion::Include, which is not consistent
with filter. That lead to some logs being included, parsed and then
thrown away again.

This change makes the behaviour for unknown bosses between filter_early
and filter consistent, and therefore speeds up the search if -boss is
used.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the boss is unknown, we exclude the log - that is how
BossFilter::filter operates, and it is probably what the user wants if
they specify a -boss filter. However, in filter_early, the default for
unknown bosses was to return Inclusion::Include, which is not consistent
with filter. That lead to some logs being included, parsed and then
thrown away again.

This change makes the behaviour for unknown bosses between filter_early
and filter consistent, and therefore speeds up the search if -boss is
used.
</pre>
</div>
</content>
</entry>
</feed>
