summary refs log tree commit diff
path: root/unscoop.1
blob: 41a37729296cc02a55b8c927d964b14693ccdd4f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
.Dd May 18, 2021
.Dt UNSCOOP 1
.Os
.
.Sh NAME
.Nm unscoop
.Nd import IRC logs
.
.Sh SYNOPSIS
.Nm
.Op Fl v
.Op Fl N Ar network
.Op Fl c Ar context
.Op Fl d Ar path
.Op Fl f Ar format
.Ar
.
.Nm
.Fl D
.Op Fl d Ar path
.
.Sh DESCRIPTION
The
.Nm
utility imports plain text IRC logs
into the
.Xr litterbox 1
database.
Network and channel or query names
can be inferred from file paths, so
.Nm
should be run from the log directory root.
.
.Pp
The current path being imported
is printed to standard output.
Progress based on total file size
is printed to standard error.
.
.Pp
The arguments are as follows:
.Bl -tag -width Ds
.It Fl D
Delete duplicate events from overlapping imports
and exit.
This operation requires SQLite version 3.25.0 or newer.
.
.It Fl N Ar network
Override the network name of the imported logs.
.
.It Fl c Ar context
Override the channel or query name
of the imported logs.
Names beginning with
.Ql #
or
.Ql &
are assumed to be channels.
.
.It Fl d Ar path
Set the database path,
which must have been initialized by
.Xr litterbox 1 .
The default path is as in
.Xr litterbox 1 .
.
.It Fl f Cm catgirl
Import logs from the
.Xr catgirl 1
IRC client.
.Bd -literal -offset indent
find ~/.local/share/catgirl/log \e
	-type f -name '*.log' -print0 |
xargs -0 unscoop -f catgirl
.Ed
.
.It Fl f Cm generic
Import logs using generic matchers.
This is the default.
Network and context names are inferred
from paths of the form
.Pa network/context/* .
Events of the following formats are matched:
.Bd -literal -offset indent
[timestamp] <nick> privmsg
[timestamp] -nick- notice
[timestamp] * nick action
.Ed
.
.It Fl f Cm irc
Import logs formatted as
IRC protocol messages tagged with
.Sy server-time .
The network and context must be set with
.Fl N
and
.Fl c .
.
.It Fl f Cm textual
Import logs from the Textual IRC client.
.Bd -literal -offset indent
find Textual -type f -name '*.txt' \e
	-not -path '*/Console/*' -print0 |
xargs -0 unscoop -f textual
.Ed
.
.It Fl f Cm weechat
Import logs from the WeeChat IRC client.
.Bd -literal -offset indent
find ~/.weechat/logs -type f -name 'irc.*.weechatlog' \e
	-not -name 'irc.server.*.weechatlog' -print0 |
xargs -0 unscoop -f weechat
.Ed
.Pp
.Nm
is not able to correctly infer
network and context names
for channel names containing dots.
Import these logs explicitly with
.Fl N
and
.Fl c .
.
.It Fl f Cm znc
Import logs from the
.Xr znc 1
.Sy log
module.
.Bd -literal -offset indent
find ~/.znc/moddata/log \e
	~/.znc/users/*/moddata/log \e
	~/.znc/users/*/networks/*/moddata/log \e
	-type f -name '*.log' \e
	-not -path '*/status/*' -print0 |
xargs -0 unscoop -f znc
.Ed
.
.It Fl v
Print SQL
.Sy INSERT
statements on standard error.
.El
.
.Sh SEE ALSO
.Xr litterbox 1
.
.Sh AUTHORS
.An June Bug Aq Mt june@causal.agency
.
.Sh BUGS
Send mail to
.Aq Mt list+litterbox@causal.agency
or join
.Li #ascii.town
on
.Li chat.freenode.net .