|
|
@ -504,13 +504,17 @@ class Command(_BaseCommand): |
|
|
|
return ' '.join(reversed(entries)) |
|
|
|
|
|
|
|
@property |
|
|
|
def root_parent(self): |
|
|
|
"""Retrieves the root parent of this command. |
|
|
|
def parents(self): |
|
|
|
"""Retrieves the parents of this command. |
|
|
|
|
|
|
|
.. versionadded:: 1.1.0 |
|
|
|
|
|
|
|
If the command has no parents then it returns an empty :class:`list`. |
|
|
|
|
|
|
|
For example in commands ``?a b c test``, |
|
|
|
the parents are ``[c, b, a]``. |
|
|
|
|
|
|
|
If the command has no parents then it returns ``None``. |
|
|
|
|
|
|
|
For example in commands ``?a b c test``, the root parent is |
|
|
|
``a``. |
|
|
|
""" |
|
|
|
entries = [] |
|
|
|
command = self |
|
|
@ -518,10 +522,20 @@ class Command(_BaseCommand): |
|
|
|
command = command.parent |
|
|
|
entries.append(command) |
|
|
|
|
|
|
|
if len(entries) == 0: |
|
|
|
return None |
|
|
|
return entries |
|
|
|
|
|
|
|
return entries[-1] |
|
|
|
@property |
|
|
|
def root_parent(self): |
|
|
|
"""Retrieves the root parent of this command. |
|
|
|
|
|
|
|
If the command has no parents then it returns ``None``. |
|
|
|
|
|
|
|
For example in commands ``?a b c test``, the root parent is |
|
|
|
``a``. |
|
|
|
""" |
|
|
|
if not self.parent: |
|
|
|
return None |
|
|
|
return self.parents[-1] |
|
|
|
|
|
|
|
@property |
|
|
|
def qualified_name(self): |
|
|
|