annotate libervia/pages/chat/page_meta.py @ 1216:b2d067339de3

python 3 port: /!\ Python 3.6+ is now needed to use libervia /!\ instability may occur and features may not be working anymore, this will improve with time /!\ TxJSONRPC dependency has been removed The same procedure as in backend has been applied (check backend commit ab2696e34d29 logs for details). Removed now deprecated code (Pyjamas compiled browser part, legacy blog, JSON RPC related code). Adapted code to work without `html` and `themes` dirs.
author Goffi <goffi@goffi.org>
date Tue, 13 Aug 2019 19:12:31 +0200
parents 251eba911d4d
children 4ccc5bb65be2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
1 #!/usr/bin/env python3
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
3
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
4 from sat.core.i18n import _
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
5 from twisted.internet import defer
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
6 from sat.core.log import getLogger
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
7
1145
29eb15062416 pages: set __name__ for imported pages
Goffi <goffi@goffi.org>
parents: 1124
diff changeset
8 log = getLogger(__name__)
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
9 from sat.tools.common import data_objects
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
10 from twisted.words.protocols.jabber import jid
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
11 from libervia.server.constants import Const as C
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
12 from libervia.server import session_iface
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
13
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
14 name = "chat"
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
15 access = C.PAGES_ACCESS_PROFILE
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
16 template = "chat/chat.html"
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
17 dynamic = True
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
18
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
19
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
20 def parse_url(self, request):
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
21 rdata = self.getRData(request)
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
22
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
23 try:
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
24 target_jid_s = self.nextPath(request)
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
25 except IndexError:
1000
4cc4d49e1d0f pages (chat): moved rendering preparation in prepare_render, and redirect to page_select if no jid is specified.
Goffi <goffi@goffi.org>
parents: 996
diff changeset
26 # not chat jid, we redirect to jid selection page
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
27 self.pageRedirect("chat_select", request)
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
28
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
29 try:
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
30 target_jid = jid.JID(target_jid_s)
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
31 if not target_jid.user:
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
32 raise ValueError(_("invalid jid for chat (no local part)"))
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
33 except Exception as e:
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
34 log.warning(
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
35 _("bad chat jid entered: {jid} ({msg})").format(jid=target_jid, msg=e)
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
36 )
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
37 self.pageError(request, C.HTTP_BAD_REQUEST)
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
38 else:
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
39 rdata["target"] = target_jid
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
40
1000
4cc4d49e1d0f pages (chat): moved rendering preparation in prepare_render, and redirect to page_select if no jid is specified.
Goffi <goffi@goffi.org>
parents: 996
diff changeset
41
4cc4d49e1d0f pages (chat): moved rendering preparation in prepare_render, and redirect to page_select if no jid is specified.
Goffi <goffi@goffi.org>
parents: 996
diff changeset
42 @defer.inlineCallbacks
4cc4d49e1d0f pages (chat): moved rendering preparation in prepare_render, and redirect to page_select if no jid is specified.
Goffi <goffi@goffi.org>
parents: 996
diff changeset
43 def prepare_render(self, request):
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
44 #  FIXME: bug on room filtering (currently display messages from all rooms)
1000
4cc4d49e1d0f pages (chat): moved rendering preparation in prepare_render, and redirect to page_select if no jid is specified.
Goffi <goffi@goffi.org>
parents: 996
diff changeset
45 session = self.host.getSessionData(request, session_iface.ISATSession)
4cc4d49e1d0f pages (chat): moved rendering preparation in prepare_render, and redirect to page_select if no jid is specified.
Goffi <goffi@goffi.org>
parents: 996
diff changeset
46 template_data = request.template_data
4cc4d49e1d0f pages (chat): moved rendering preparation in prepare_render, and redirect to page_select if no jid is specified.
Goffi <goffi@goffi.org>
parents: 996
diff changeset
47 rdata = self.getRData(request)
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
48 target_jid = rdata["target"]
1000
4cc4d49e1d0f pages (chat): moved rendering preparation in prepare_render, and redirect to page_select if no jid is specified.
Goffi <goffi@goffi.org>
parents: 996
diff changeset
49 profile = session.profile
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
50 profile_jid = session.jid
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
51
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
52 disco = yield self.host.bridgeCall("discoInfos", target_jid.host, "", True, profile)
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
53 if "conference" in [i[0] for i in disco[1]]:
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
54 chat_type = C.CHAT_GROUP
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
55 join_ret = yield self.host.bridgeCall(
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
56 "mucJoin", target_jid.userhost(), "", "", profile
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
57 )
1203
251eba911d4d server (websockets): fixed websocket handling on HTTPS connections:
Goffi <goffi@goffi.org>
parents: 1145
diff changeset
58 already_joined, room_jid_s, occupants, user_nick, room_subject, __ = join_ret
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
59 template_data["subject"] = room_subject
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
60 own_jid = jid.JID(room_jid_s)
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
61 own_jid.resource = user_nick
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
62 else:
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
63 chat_type = C.CHAT_ONE2ONE
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
64 own_jid = profile_jid
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
65 rdata["chat_type"] = chat_type
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
66 template_data["own_jid"] = own_jid
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
67
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
68 self.registerSignal(request, "messageNew")
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
69 history = yield self.host.bridgeCall(
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
70 "historyGet",
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
71 profile_jid.userhost(),
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
72 target_jid.userhost(),
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
73 20,
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
74 True,
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
75 {},
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
76 profile,
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
77 )
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
78 authors = {m[2] for m in history}
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
79 identities = {}
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
80 for author in authors:
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
81 identities[author] = yield self.host.bridgeCall("identityGet", author, profile)
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
82
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
83 template_data["messages"] = data_objects.Messages(history)
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
84 rdata['identities'] = template_data["identities"] = identities
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
85 template_data["target_jid"] = target_jid
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
86 template_data["chat_type"] = chat_type
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
87
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
88
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
89 def on_data(self, request, data):
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
90 session = self.host.getSessionData(request, session_iface.ISATSession)
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
91 rdata = self.getRData(request)
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
92 target = rdata["target"]
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
93 data_type = data.get("type", "")
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
94 if data_type == "msg":
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
95 message = data["body"]
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
96 mess_type = (
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
97 C.MESS_TYPE_GROUPCHAT
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
98 if rdata["chat_type"] == C.CHAT_GROUP
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
99 else C.MESS_TYPE_CHAT
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
100 )
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
101 log.debug("message received: {}".format(message))
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
102 self.host.bridgeCall(
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
103 "messageSend",
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
104 target.full(),
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
105 {"": message},
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
106 {},
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
107 mess_type,
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
108 {},
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
109 session.profile,
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
110 )
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
111 else:
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
112 log.warning("unknown message type: {type}".format(type=data_type))
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
113
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
114
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
115 @defer.inlineCallbacks
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
116 def on_signal(self, request, signal, *args):
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
117 if signal == "messageNew":
1002
990e80aa43a9 pages (chat): fixed messages filtering + get identity of user if not already in cache.
Goffi <goffi@goffi.org>
parents: 1001
diff changeset
118 rdata = self.getRData(request)
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
119 template_data_update = {"msg": data_objects.Message((args))}
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
120 target_jid = rdata["target"]
1203
251eba911d4d server (websockets): fixed websocket handling on HTTPS connections:
Goffi <goffi@goffi.org>
parents: 1145
diff changeset
121 identities = rdata["identities"]
251eba911d4d server (websockets): fixed websocket handling on HTTPS connections:
Goffi <goffi@goffi.org>
parents: 1145
diff changeset
122 uid, timestamp, from_jid_s, to_jid_s, message, subject, mess_type, extra, __ = (
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
123 args
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
124 )
1002
990e80aa43a9 pages (chat): fixed messages filtering + get identity of user if not already in cache.
Goffi <goffi@goffi.org>
parents: 1001
diff changeset
125 from_jid = jid.JID(from_jid_s)
990e80aa43a9 pages (chat): fixed messages filtering + get identity of user if not already in cache.
Goffi <goffi@goffi.org>
parents: 1001
diff changeset
126 to_jid = jid.JID(to_jid_s)
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
127 if (
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
128 target_jid.userhostJID() != from_jid.userhostJID()
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
129 and target_jid.userhostJID() != to_jid.userhostJID()
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
130 ):
1002
990e80aa43a9 pages (chat): fixed messages filtering + get identity of user if not already in cache.
Goffi <goffi@goffi.org>
parents: 1001
diff changeset
131 # the message is not linked with page's room/user
990e80aa43a9 pages (chat): fixed messages filtering + get identity of user if not already in cache.
Goffi <goffi@goffi.org>
parents: 1001
diff changeset
132 return
990e80aa43a9 pages (chat): fixed messages filtering + get identity of user if not already in cache.
Goffi <goffi@goffi.org>
parents: 1001
diff changeset
133
990e80aa43a9 pages (chat): fixed messages filtering + get identity of user if not already in cache.
Goffi <goffi@goffi.org>
parents: 1001
diff changeset
134 if from_jid_s not in identities:
990e80aa43a9 pages (chat): fixed messages filtering + get identity of user if not already in cache.
Goffi <goffi@goffi.org>
parents: 1001
diff changeset
135 profile = self.getProfile(request)
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
136 identities[from_jid_s] = yield self.host.bridgeCall(
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
137 "identityGet", from_jid_s, profile
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
138 )
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
139 template_data_update["identities"] = identities
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
140 self.renderAndUpdate(
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
141 request, "chat/message.html", "#messages", template_data_update
1113
cdd389ef97bc server: code style reformatting using black
Goffi <goffi@goffi.org>
parents: 1091
diff changeset
142 )
996
d821c112e656 pages (chat): implementation of chat page using new dynamic pages, first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
143 else:
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1203
diff changeset
144 log.error(_("Unexpected signal: {signal}").format(signal=signal))