Move the deny_anonymous decorator to the poezio.decorators module
This commit is contained in:
parent
f68fa1da5e
commit
2eb362ffe8
2 changed files with 13 additions and 12 deletions
|
@ -162,3 +162,15 @@ class CommandArgParser:
|
|||
|
||||
|
||||
command_args_parser = CommandArgParser()
|
||||
|
||||
|
||||
def deny_anonymous(func: Callable) -> Callable:
|
||||
"""Decorator to disable commands when using an anonymous account."""
|
||||
def wrap(self: 'RosterInfoTab', *args, **kwargs):
|
||||
if self.core.xmpp.anon:
|
||||
return self.core.information(
|
||||
'This command is not available for anonymous accounts.',
|
||||
'Info'
|
||||
)
|
||||
return func(self, *args, **kwargs)
|
||||
return wrap
|
||||
|
|
|
@ -24,7 +24,7 @@ from poezio.contact import Contact, Resource
|
|||
from poezio.decorators import refresh_wrapper
|
||||
from poezio.roster import RosterGroup, roster
|
||||
from poezio.theming import get_theme, dump_tuple
|
||||
from poezio.decorators import command_args_parser
|
||||
from poezio.decorators import command_args_parser, deny_anonymous
|
||||
from poezio.core.structs import Command, Completion
|
||||
from poezio.tabs import Tab
|
||||
from poezio.ui.types import InfoMessage
|
||||
|
@ -32,17 +32,6 @@ from poezio.ui.types import InfoMessage
|
|||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def deny_anonymous(func: Callable) -> Callable:
|
||||
def wrap(self: 'RosterInfoTab', *args, **kwargs):
|
||||
if self.core.xmpp.anon:
|
||||
return self.core.information(
|
||||
'This command is not available for anonymous accounts.',
|
||||
'Info'
|
||||
)
|
||||
return func(self, *args, **kwargs)
|
||||
return wrap
|
||||
|
||||
|
||||
class RosterInfoTab(Tab):
|
||||
"""
|
||||
A tab, split in two, containing the roster and infos
|
||||
|
|
Loading…
Reference in a new issue