Commit Graph
138 Commits
Author SHA1 Message Date
Mike Auty ab4b77a754 Revert "Add in the option to not produce files."
It makes more sense to allow each plugin to individually decide whether
to produce files or not.

This reverts commit 07adce2721.
2019-09-17 16:59:50 +01:00
Mike Auty 442b47c87d Add in the option to not produce files. 2019-09-17 16:59:50 +01:00
Mike Auty e922cef316 Improve docstrings for all plugins, and reformat all docstrings. 2019-09-07 22:59:54 +01:00
Mike Auty 9cde94bceb Change the license blurb on all files. 2019-08-27 23:11:00 +01:00
Mike Auty d0b0a96ac1 Refactor the run_plugin method to more accurate construct_plugin. 2019-08-20 00:13:00 +01:00
Mike Auty 3d87b06c36 Add in documentation to all the constants. 2019-08-18 18:55:57 +01:00
Mike Auty 8e4fd03190 Improve the help for the renderer global CLI option. 2019-08-12 00:35:17 +01:00
Mike Auty e3057e305d Support parallelism on CLI. 2019-08-07 11:44:29 +01:00
Mike Auty e468ab7f74 Setting loglevel to 0 doesn't work properly. 2019-04-21 13:22:22 +01:00
Mike Auty 772a30403f Add in renderer selection and a CSV renderer. 2019-04-07 19:07:32 +01:00
Mike Auty f898dca296 Refactor SymbolRequirement to SymbolTableRequirement for clarity. 2019-02-06 21:26:32 +00:00
Mike Auty ed795f7e33 Provide better failure responses for TranslationLayerRequirements and SymbolRequirements.
Improves issue #59.
2019-01-18 12:19:31 +00:00
Mike Auty bb872863f9 Try to slightly clean up table rendering in the CLI. 2018-12-30 17:17:15 +00:00
Mike Auty ac57e62807 Output the requirement description when it can't be fulfilled. 2018-12-29 00:41:20 +00:00
Mike Auty fdc6efc4ad Add in the LICENSE and the README. 2018-12-19 23:55:03 +00:00
Mike Auty e65a00894a Minor style tweaks and mass changes across the codebase because of it. 2018-12-17 12:46:14 +00:00
Mike Auty b61ac3bd47 Many more typing fixes. 2018-12-17 01:17:06 +00:00
Mike Auty 19572b6e1e Reformat all python files using yapf with custom volatility style. 2018-12-16 16:50:17 +00:00
Mike Auty 29d41470a4 Mass reformat of typing imports
Relented on the strict import of direct objects/classes for the typing
module only.  Typing module components can be directly imported because
it makes the code really painful to read and write otherwise.

This is still in-line with the python style guide adopted from Google at
http://google.github.io/styleguide/pyguide.html section 2.2.
2018-12-16 13:04:22 +00:00
Mike Auty 67f5230d77 Ensure the plugins are appropriately sorted when listing them. 2018-12-09 13:32:51 +00:00
Mike Auty f3fce720b1 Don't show errors if there are none. 2018-10-31 17:03:43 +00:00
Mike Auty e3e1c4e00b Initial commit of pyinstaller spec. Some changes to path handling to help. 2018-10-30 23:56:34 +00:00
Mike Auty c8dd50dacb Improve help message to list unloadable plugins. 2018-10-03 21:32:03 +01:00
Mike Auty 99ba8bfb3f Change plugin runner to use a base_config_path. 2018-09-24 00:45:36 +01:00
Mike Auty e5024420c8 Refactor plugin running to ensure automagics and reconstruction occur properly. 2018-09-24 00:36:40 +01:00
Mike Auty 821841e7ee Refactor wher ethe UnsatisfiedException lives. 2018-09-23 22:56:24 +01:00
Mike Auty 8d5a6ffdd4 Refactor InstanceRequirement into SimpleTypeRequirement. 2018-09-20 14:56:16 +01:00
Mike Auty dff7e6d6df Add in support for specific symbol directories. 2018-09-01 21:57:49 +01:00
Mike Auty b1d46f843b Convert documentation to napoleon/Google format docstrings. 2018-08-05 15:52:12 +01:00
Mike Auty 70abef1f46 Rework how we handle import errors. 2018-06-19 09:58:09 +01:00
Mike Auty 7a52ac9deb Fix a large number of typing issues.
There are several instances where mypy didn't detect

if blah is not None:
    blah = thing

and so were rewritten as:

blah = blah or thing
2018-06-04 01:25:02 +01:00
Mike Auty 213c70527f Change the plugins option to plugin_dirs to avoid conflict with timeliner. 2018-05-31 11:48:12 +01:00
Mike Auty 1aa980169c Fix up the -f help message and tidy the code. 2018-05-23 22:12:47 +01:00
Mike Auty d6b7415bab Revert "Remove the -f flag before it gains too much use."
As @npetroni quite rightly pointed out, the purpose of the CLI is to
make it easy for people to use on the commandline, so at the expense of
some dynamic ability, -f is returning for convenience purposes.

This reverts commit 4450766d50.
2018-05-23 22:08:52 +01:00
Mike Auty 4450766d50 Remove the -f flag before it gains too much use.
Given the single-location parameter is now a URIRequirement, and
can accept normal files (rather than a full URL), but is far more
accurate (it matches exactly what the automagic requests).  If there's
much uproar we can revert this one commit.
2018-05-15 00:54:13 +01:00
Mike Auty b9fbf272d1 Add support for filename requirements
At the moment these are no different than strings, but they allow us to
do things like add URI handlers to file names if no scheme is provided,
and eventually do file existence testing.  This also allows the web URI
to allow uploads as a means of passing a file in.

The configuration will only store the filename, because otherwise
someone could add a huge file which would need to be carried around in
the config forever after.  Handling file existence errors is up to the
UI after the volatility library returns a "file not found" type
exception.
2018-05-08 23:54:08 +01:00
Mike Auty 035bada7b7 Refactor volshell from a plugin to a standalone program. 2018-05-06 18:11:15 +01:00
Mike Auty 3f1a3e34c6 Add in the oft-requested -f flag.
I'm not entirely happy with this, it's an overly specific hard coded
change, but luckily it's only for this CLI, it has no impact on other
UIs, either text based on web based.

I really don't want people to become reliant on this, but also I don't
want to be that guy that stops people being able to do their work
quickly for reasons of correctness.  May future volatility devs forgive
me...
2018-05-06 15:22:39 +01:00
Mike Auty fbc8a9ce12 Move the text renderer to cli directory. 2018-04-15 00:15:50 +01:00
Mike Auty 8e5291ecb4 Make sure we write out bytes, not memory. 2018-04-14 23:52:59 +01:00
Mike Auty f25d059d49 Add in file producer/consumer API. 2018-04-14 19:51:49 +01:00
Mike Auty 288d866dd3 Fix the incorrect type definition. 2018-03-25 18:24:11 +01:00
Mike Auty eaadd53951 Allow the optional setting of requirements to be changed (for sub-plugins). 2018-03-25 18:16:34 +01:00
Mike Auty 154732126d Refactor the automagic choosing code. 2018-03-25 18:15:43 +01:00
Mike Auty 19c3536afc Refactor the plugin listing code. 2018-03-25 18:15:22 +01:00
Mike Auty 396dc8f8e4 Add in the ability for plugins to report their progress if applicable. 2018-03-23 15:41:55 +00:00
Mike Auty db6e32bba3 Expose config writing as a specific user-visible flag. 2018-03-08 01:25:18 +00:00
Mike Auty e8212df604 Improve ListRequirement handling (default values, etc). 2018-02-11 02:16:53 +00:00
Mike Auty 7cb0330d04 Fix and correctly type ListRequirements. 2018-02-10 22:41:39 +00:00
Mike Auty c203663f0b Refactor requirements to support a list of swap layers. 2018-01-28 14:48:50 +00:00