hak5 / pineapple-modules

The Official WiFi Pineapple Module Repository for the WiFi Pineapple Mark VII
https://wifipineapple.com
368 stars 157 forks source link

Simplifies the way module developers handle actions. #3

Closed frozenjava closed 4 years ago

frozenjava commented 4 years ago

A module developer can now easily handle request actions without ever having to extend pineapple.Module.

For example a module can now look like this:

from pineapple.modules import Module, Request

module = Module('my_module')

@module.handles_action('read_file')
def get_file_contents(request: Request) -> Tuple(bool, str):
    file = request.file
    with open(file, 'r') as f:
        return True, f.read()

if __name__ == '__main__':
    module.start()

In the above example get_file_contents will be called when a request comes in with the action read_file.