Philipp Hörist pushed to branch master at gajim / python-nbxmpp


Commits:
0414d956 by lovetox at 2021-03-21T21:28:12+01:00
Add log_calls decorator

- - - - -
d2e8aae7 by lovetox at 2021-03-21T21:29:05+01:00
Presence: Fix sending presence

- - - - -
98216410 by lovetox at 2021-03-21T21:29:23+01:00
Presence: Use log_calls decorator

- - - - -


2 changed files:

- nbxmpp/modules/presence.py
- nbxmpp/modules/util.py


Changes:

=====================================
nbxmpp/modules/presence.py
=====================================
@@ -25,6 +25,7 @@ from nbxmpp.util import error_factory
 from nbxmpp.const import PresenceType
 from nbxmpp.const import PresenceShow
 from nbxmpp.modules.base import BaseModule
+from nbxmpp.modules.util import log_calls
 
 
 class BasePresence(BaseModule):
@@ -93,15 +94,19 @@ class BasePresence(BaseModule):
             self._log.warning(stanza)
             return PresenceShow.ONLINE
 
+    @log_calls
     def unsubscribe(self, jid):
         self.send(jid=jid, typ='unsubscribe')
 
+    @log_calls
     def unsubscribed(self, jid):
         self.send(jid=jid, typ='unsubscribed')
 
+    @log_calls
     def subscribed(self, jid):
         self.send(jid=jid, typ='subscribed')
 
+    @log_calls
     def subscribe(self, jid, status=None, nick=None):
         self.send(jid=jid, typ='subscribe', status=status, nick=nick)
 
@@ -150,4 +155,4 @@ class BasePresence(BaseModule):
             for node in extend:
                 presence.addChild(node=node)
 
-        self._con.send_stanza(presence)
+        self._client.send_stanza(presence)


=====================================
nbxmpp/modules/util.py
=====================================
@@ -15,6 +15,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program; If not, see <http://www.gnu.org/licenses/>.
 
+import logging
+import functools
 import inspect
 from urllib.parse import urlparse
 from urllib.parse import unquote
@@ -75,3 +77,12 @@ def make_func_arguments_string(func, self, args, kwargs):
         arg_string += f'{name}={arg}, '
     arg_string = arg_string[:-2]
     return f'{func.__name__}({arg_string})'
+
+
+def log_calls(func):
+    @functools.wraps(func)
+    def func_wrapper(self, *args, **kwargs):
+        if self._log.isEnabledFor(logging.INFO):
+            self._log.info(make_func_arguments_string(func, self, args, 
kwargs))
+        return func(self, *args, **kwargs)
+    return func_wrapper



View it on GitLab: 
https://dev.gajim.org/gajim/python-nbxmpp/-/compare/0c0d9c205f4167273b850099b7616e4effa01c33...9821641065f63e23eb7b8499de03be8f8a0d73fb

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/python-nbxmpp/-/compare/0c0d9c205f4167273b850099b7616e4effa01c33...9821641065f63e23eb7b8499de03be8f8a0d73fb
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
Commits@gajim.org
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to