Moving splunklib.searchcommands module + examplesm + scaffolding from splunk-app-custom_search_commands repo

Signed-off-by: David Noble <dnoble@splunk.com>
Placeholder for examples/custom_search_comamnds/README.md

Soft link from examples/custom_search_commands to splunklib/searchcommands is a convenience for development that will be soon be replaced by a build step and/or install script.

Signed-off-by: David Noble <dnoble@splunk.com>
Fixed broken misplaced link

Signed-off-by: David Noble <dnoble@splunk.com>
Example tweaks

Signed-off-by: David Noble <dnoble@splunk.com>
Planned configuration refactoring complete

We now generate new SearchCommand.ConfigurationSettings classes based on @Configuration settings. This implementation enables two things when a search command class is instantiated:

    Search command method implementations are provided
    Search command configuration settings are valid

This is the last planned refactoring in this milestone.

Signed-off-by: David Noble <dnoble@splunk.com>
Code cleanup

* Modestly improved documentation
* Removed unused imports
* Removed unnecessary `# coding=utf-8` lines

Signed-off-by: David Noble <dnoble@splunk.com>
Moved Configuration.SettingsType to ConfigurationSettingsType

It is it's own thing, not a part of the Configuration decorator as such

Signed-off-by: David Noble <dnoble@splunk.com>
Documentation update

Signed-off-by: David Noble <dnoble@splunk.com>
More documentation

Signed-off-by: David Noble <dnoble@splunk.com>
Improved documentation and messages. Eliminated one TODO and added two.

Signed-off-by: David Noble <dnoble@splunk.com>
Minor refactoring

+ Got specific about what sys elements SearchCommand.py uses by changing up import statement
+ Eliminated need for examples/custom_search_commands/bin/splunklib/searchcommands link
+ Changed signature on .csv.DictWriter

Signed-off-by: David Noble <dnoble@splunk.com>
Modest refactoring

1. Updated method signatures on ConfigurationSettingsType
Consequence:
+ More readable code for our use cases
+ Signature is different than what's required by the __metaclass__ attribute

The latter is OK because we do not require and will not support __metaclass__ attribute usage
2. Added constant configuration `ReportingCommand.ConfigurationSettings.streaming=False
3. Improved error message in SearchCommand.py

Signed-off-by: David Noble <dnoble@splunk.com>
Moved internal types to internals.py

These include types that are not intended to be instantiated by consumers of the API
+ ConfigurationSettingsType
+ InputHeader
+ MessagesHeader
+ SearchCommandParser

Signed-off-by: David Noble <dnoble@splunk.com>
Bug fixes + configuration settings definitions

All settings defined at http://docs.splunk.com/Documentation/Splunk/5.0.5/Admin/Commandsconf are now represented. Many, if not most are also documented.

Signed-off-by: David Noble <dnoble@splunk.com>
More bug fixes

Signed-off-by: David Noble <dnoble@splunk.com>
Eliminated a bunch of documentation TODOs and added a couple of code TODOs

Signed-off-by: David Noble <dnoble@splunk.com>
Added placeholders for unit tests that are now on the way

Signed-off-by: David Noble <dnoble@splunk.com>
Added a bit of test data

Signed-off-by: David Noble <dnoble@splunk.com>
Renames for consistency with PEP-8 and the splunklib code base

Signed-off-by: David Noble <dnoble@splunk.com>
Documentation update

Signed-off-by: David Noble <dnoble@splunk.com>