move report message/target parsing into .parse
This commit is contained in:
parent
92ea5fe8ef
commit
610a068c92
1 changed files with 19 additions and 9 deletions
|
|
@ -154,6 +154,22 @@ class ReportCmdBase(_DEFAULT_COMMAND_CLASS):
|
||||||
self.hub = hub
|
self.hub = hub
|
||||||
return super().at_pre_cmd()
|
return super().at_pre_cmd()
|
||||||
|
|
||||||
|
def parse(self):
|
||||||
|
"""
|
||||||
|
Parse the target and message out of the arguments.
|
||||||
|
|
||||||
|
Override if you want different syntax, but make sure to assign `report_message` and `target_str`.
|
||||||
|
"""
|
||||||
|
# do the base MuxCommand parsing first
|
||||||
|
super().parse()
|
||||||
|
# split out the report message and target strings
|
||||||
|
if self.rhs:
|
||||||
|
self.report_message = self.rhs
|
||||||
|
self.target_str = self.lhs
|
||||||
|
else:
|
||||||
|
self.report_message = self.lhs
|
||||||
|
self.target_str = ""
|
||||||
|
|
||||||
def target_search(self, searchterm, **kwargs):
|
def target_search(self, searchterm, **kwargs):
|
||||||
"""
|
"""
|
||||||
Search for a target that matches the given search term. By default, does a normal search via the
|
Search for a target that matches the given search term. By default, does a normal search via the
|
||||||
|
|
@ -181,16 +197,10 @@ class ReportCmdBase(_DEFAULT_COMMAND_CLASS):
|
||||||
if not self.args:
|
if not self.args:
|
||||||
self.msg("You must provide a message.")
|
self.msg("You must provide a message.")
|
||||||
return
|
return
|
||||||
if self.rhs:
|
|
||||||
message = self.rhs
|
|
||||||
target_str = self.lhs
|
|
||||||
else:
|
|
||||||
message = self.lhs
|
|
||||||
target_str = ""
|
|
||||||
|
|
||||||
target = None
|
target = None
|
||||||
if target_str:
|
if self.target_str:
|
||||||
target = self.target_search(target_str)
|
target = self.target_search(self.target_str)
|
||||||
if not target:
|
if not target:
|
||||||
return
|
return
|
||||||
elif self.require_target:
|
elif self.require_target:
|
||||||
|
|
@ -202,7 +212,7 @@ class ReportCmdBase(_DEFAULT_COMMAND_CLASS):
|
||||||
receivers.append(target)
|
receivers.append(target)
|
||||||
|
|
||||||
if self.create_report(
|
if self.create_report(
|
||||||
self.account, message, receivers=receivers, locks=self.report_locks, tags=["report"]
|
self.account, self.message, receivers=receivers, locks=self.report_locks, tags=["report"]
|
||||||
):
|
):
|
||||||
# the report Msg was successfully created
|
# the report Msg was successfully created
|
||||||
self.msg(self.success_msg)
|
self.msg(self.success_msg)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue