X-Git-Url: http://git.tremily.us/?p=hooke.git;a=blobdiff_plain;f=hooke%2Fcommand.py;h=c694bff28c0d7b2ea8625672017fb186074c1ba5;hp=c822cc5984353b41485383ea26b18140418dd006;hb=b90995fb4b6d8151df862d40edc8c369d7052cfa;hpb=7762de28cee60f98882d72db0c2ae2c6009ac465 diff --git a/hooke/command.py b/hooke/command.py index c822cc5..c694bff 100644 --- a/hooke/command.py +++ b/hooke/command.py @@ -2,15 +2,15 @@ # # This file is part of Hooke. # -# Hooke is free software: you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation, either -# version 3 of the License, or (at your option) any later version. +# Hooke is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. # -# Hooke is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. +# Hooke is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +# Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with Hooke. If not, see @@ -99,7 +99,8 @@ class Command (object): ITEM: """ - def __init__(self, name, aliases=None, arguments=[], help=''): + def __init__(self, name, aliases=None, arguments=[], help='', + plugin=None): # TODO: see_also=[other,command,instances,...] self.name = name if aliases == None: @@ -110,6 +111,7 @@ class Command (object): help='Print a help message.'), ] + arguments self._help = help + self.plugin = plugin def run(self, hooke, inqueue=None, outqueue=None, **kwargs): """`Normalize inputs and handle before punting @@ -139,7 +141,7 @@ class Command (object): outqueue.put(e) return 0 - def _run(self, inqueue, outqueue, params): + def _run(self, hooke, inqueue, outqueue, params): """This is where the command-specific magic will happen. """ pass @@ -248,9 +250,6 @@ class Argument (object): """ pass # TODO: validation - # TODO: type conversion - -# TODO: type extensions? # Useful callbacks