Skip to content

Commit 570087d

Browse files
weechatterflashcode
authored andcommitted
queryman.py 0.7: fix a ValueError in config file with dcc buffer, add debug, add SPDX copyright and license tags
1 parent 2475339 commit 570087d

File tree

2 files changed

+23
-30
lines changed

2 files changed

+23
-30
lines changed

REUSE.toml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1560,15 +1560,6 @@ precedence = "override"
15601560
SPDX-FileCopyrightText = "2012 Krister Svanlund <[email protected]>"
15611561
SPDX-License-Identifier = "GPL-3.0-or-later"
15621562

1563-
[[annotations]]
1564-
path = "python/queryman.py"
1565-
precedence = "override"
1566-
SPDX-FileCopyrightText = [
1567-
"2013-2018 Nils Görs <[email protected]>",
1568-
"2017 Filip H.F. 'FiXato' Slagter <[email protected]>",
1569-
]
1570-
SPDX-License-Identifier = "GPL-3.0-or-later"
1571-
15721563
[[annotations]]
15731564
path = "python/quick_force_color.py"
15741565
precedence = "override"

python/queryman.py

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
1-
# -*- coding: utf-8 -*-
21
#
3-
# Copyright (c) 2013-2018 by nils_2 <[email protected]>, Filip H.F. "FiXato" Slagter <[email protected]>
2+
# SPDX-FileCopyrightText: 2013-2025 Nils Görs <[email protected]>
3+
# SPDX-FileCopyrightText: 2017 Filip H.F. 'FiXato' Slagter <[email protected]>
44
#
5-
# save and restore query buffers after /quit
5+
# SPDX-License-Identifier: GPL-3.0-or-later
66
#
7-
# This program is free software; you can redistribute it and/or modify
8-
# it under the terms of the GNU General Public License as published by
9-
# the Free Software Foundation; either version 3 of the License, or
10-
# (at your option) any later version.
7+
# Save and restore query buffers after /quit.
118
#
12-
# This program is distributed in the hope that it will be useful,
13-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
14-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15-
# GNU General Public License for more details.
9+
# Idea by lasers@freenode.#weechat
1610
#
17-
# You should have received a copy of the GNU General Public License
18-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
19-
#
20-
# idea by lasers@freenode.#weechat
11+
# 2025-10-02: nils_2 (libera.#weechat)
12+
# 0.7 : fix a ValueError in config file, when using dcc. localvar "server", is missing for dcc buffer (reported by roughnecks)
13+
# : add some more DEBUG() text
2114
#
2215
# 2023-08-01: nils_2 (libera.#weechat)
2316
# 0.6.1 : fix a timing problem when joining autojoin-channels (reported by thecdnhermit)
@@ -62,7 +55,7 @@
6255

6356
SCRIPT_NAME = 'queryman'
6457
SCRIPT_AUTHOR = 'nils_2 <[email protected]>'
65-
SCRIPT_VERSION = '0.6.1'
58+
SCRIPT_VERSION = '0.7'
6659
SCRIPT_LICENSE = 'GPL'
6760
SCRIPT_DESC = 'save and restore query buffers after /quit and on open/close of queries'
6861
DEBUG = False
@@ -106,6 +99,7 @@ def irc_pv_opened_cb(data, signal, signal_data):
10699
server_name = weechat.buffer_get_string(signal_data, 'localvar_server')
107100
channel_name = weechat.buffer_get_string(signal_data, 'localvar_channel')
108101
add_channel_to_stored_list(server_name, channel_name)
102+
debug_print("signal: irc_pv_opened server: %s query: %s" % (server_name, channel_name))
109103
save_stored_query_buffers_to_file()
110104
return weechat.WEECHAT_RC_OK
111105

@@ -114,6 +108,7 @@ def remove_server_from_servers_closing_cb(data, signal, signal_data):
114108
global servers_closing
115109
if signal_data in servers_closing:
116110
servers_closing.remove(signal_data)
111+
debug_print("signal: irc_server_closing")
117112
return weechat.WEECHAT_RC_OK
118113

119114
# signal_data = buffer pointer
@@ -122,6 +117,7 @@ def irc_server_opened_cb(data, signal, signal_data):
122117

123118
server_name = weechat.buffer_get_string(signal_data, 'localvar_server')
124119
servers_opening.add(server_name)
120+
debug_print("signal: irc_server_opened %s" % server_name)
125121
return weechat.WEECHAT_RC_OK
126122

127123
# signal_data = servername
@@ -132,6 +128,7 @@ def irc_server_connected_signal_cb(data, signal, signal_data):
132128
if signal_data in servers_opening:
133129
open_stored_query_buffers_for_server(signal_data)
134130
servers_opening.remove(signal_data)
131+
debug_print("signal: irc_server_connected")
135132

136133
return weechat.WEECHAT_RC_OK
137134

@@ -152,9 +149,11 @@ def get_stored_list_of_query_buffers():
152149
if os.path.isfile(filename):
153150
f = open(filename, 'r')
154151
for line in f:
155-
server_name,nick = line.strip().split(' ')
156-
stored_query_buffers_per_server.setdefault(server_name, set([]))
157-
stored_query_buffers_per_server[server_name].add(nick)
152+
parts = line.strip().split()
153+
if len(parts) == 2:
154+
server_name, nick = parts
155+
stored_query_buffers_per_server.setdefault(server_name, set([]))
156+
stored_query_buffers_per_server[server_name].add(nick)
158157
f.close()
159158
else:
160159
debug_print('Error loading query buffer from "%s"' % filename)
@@ -182,6 +181,8 @@ def open_query_buffer(server_name, nick):
182181
switch_autojoin = weechat.config_get("irc.look.buffer_switch_autojoin")
183182
if not weechat.config_boolean(switch_autojoin):
184183
noswitch = "-noswitch"
184+
185+
debug_print("opening query buffer: %s on server %s" % (nick, server_name))
185186
weechat.command('','/wait 1 /query %s -server %s %s' % ( noswitch, server_name, nick ))
186187
weechat.buffer_set(starting_buffer, 'display', 'auto')
187188

@@ -190,6 +191,7 @@ def open_stored_query_buffers_for_server(server_connected):
190191

191192
if server_connected in stored_query_buffers_per_server:
192193
for nick in stored_query_buffers_per_server[server_connected].copy():
194+
debug_print("going to open query buffer: %s on connected server %s" % (nick, server_connected))
193195
open_query_buffer(server_connected, nick)
194196

195197
def get_current_query_buffers():
@@ -276,10 +278,10 @@ def hook_command_cb(data, buffer, args):
276278
open_stored_query_buffers_for_server(server_name)
277279

278280
stored_query_buffers_per_server.setdefault(server_name, set([]))
279-
debug_print("Already have %s channels for server %s: %s" % (len(stored_query_buffers_per_server[server_name]), server_name, ','.join(stored_query_buffers_per_server[server_name])))
281+
debug_print("Already have %s queries for server %s: %s" % (len(stored_query_buffers_per_server[server_name]), server_name, ','.join(stored_query_buffers_per_server[server_name])))
280282
debug_print("Adding: %s" % channels)
281283
stored_query_buffers_per_server[server_name].update(channels)
282-
debug_print("Now have %s channels for server %s: %s" % (len(stored_query_buffers_per_server[server_name]), server_name, ','.join(stored_query_buffers_per_server[server_name])))
284+
debug_print("Now have %s queries for server %s: %s" % (len(stored_query_buffers_per_server[server_name]), server_name, ','.join(stored_query_buffers_per_server[server_name])))
283285
save_stored_query_buffers_to_file()
284286
weechat.hook_signal('quit', 'quit_signal_cb', '')
285287
# weechat.hook_signal('relay_client_disconnected', 'quit_signal_cb', '')

0 commit comments

Comments
 (0)