MCPcopy Create free account
hub / github.com/AutoRecon/AutoRecon / Plugin

Class Plugin

autorecon/plugins.py:13–111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11 self.description = description
12
13class Plugin(object):
14
15 def __init__(self):
16 self.name = None
17 self.slug = None
18 self.description = None
19 self.tags = ['default']
20 self.priority = 1
21 self.patterns = []
22 self.autorecon = None
23 self.disabled = False
24
25 @final
26 def add_option(self, name, default=None, help=None):
27 self.autorecon.add_argument(self, name, metavar='VALUE', default=default, help=help)
28
29 @final
30 def add_constant_option(self, name, const, default=None, help=None):
31 self.autorecon.add_argument(self, name, action='store_const', const=const, default=default, help=help)
32
33 @final
34 def add_true_option(self, name, help=None):
35 self.autorecon.add_argument(self, name, action='store_true', help=help)
36
37 @final
38 def add_false_option(self, name, help=None):
39 self.autorecon.add_argument(self, name, action='store_false', help=help)
40
41 @final
42 def add_list_option(self, name, default=None, help=None):
43 self.autorecon.add_argument(self, name, nargs='+', metavar='VALUE', default=default, help=help)
44
45 @final
46 def add_choice_option(self, name, choices, default=None, help=None):
47 if not isinstance(choices, list):
48 fail('The choices argument for ' + self.name + '\'s ' + name + ' choice option should be a list.')
49 self.autorecon.add_argument(self, name, choices=choices, default=default, help=help)
50
51 @final
52 def get_option(self, name, default=None):
53 # TODO: make sure name is simple.
54 name = self.slug.replace('-', '_') + '.' + slugify(name).replace('-', '_')
55
56 if name in vars(self.autorecon.args):
57 if vars(self.autorecon.args)[name] is None:
58 if default:
59 return default
60 else:
61 return None
62 else:
63 return vars(self.autorecon.args)[name]
64 else:
65 if default:
66 return default
67 return None
68
69 @final
70 def get_global_option(self, name, default=None):

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected