# Path: sibyl/config.py
# class Config(object):
#     def __init__(self, default_config, files):
#     def expandpath(path):
#     def parse_files(self, files):
#     def dump(self):
#     def jit_engine(self):
#     def available_tests(self):
#     def miasm_engine(self):
#     def pin_root(self):
#     def pin_tracer(self):
#     def prune_strategy(self):
#     def prune_keep(self):
#     def prune_keep_max(self):
#     def stubs(self):
#     def idaq64_path(self):
#     def ghidra_headless_path(self):
#     def ghidra_export_function(self):
# 
# Path: sibyl/actions/action.py
# class Action(object):
# 
#     "Parent class for actions"
# 
#     _name_ = ""
#     _desc_ = ""
#     _args_ = []  # List of (*args, **kwargs)
# 
#     def __init__(self, command_line):
#         # Parse command line
#         parser = argparse.ArgumentParser(
#             prog="%s %s" % (sys.argv[0], self._name_))
#         for args, kwargs in self._args_:
#             parser.add_argument(*args, **kwargs)
#         self.args = parser.parse_args(command_line)
# 
#         # Run action
#         self.run()
# 
#     def run(self):
#         raise NotImplementedError("Abstract method")
# 
#     @property
#     def name(self):
#         """Action name"""
#         return self._name_
# 
#     @property
#     def description(self):
#         """Action description"""
#         return self._desc_


import os
from sibyl.config import config, config_paths
from sibyl.actions.action import Action
#
# Sibyl is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Sibyl 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 General Public
# License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Sibyl. If not, see <http://www.gnu.org/licenses/>.




class ActionConfig(Action):
    """Configuration management"""

    _name_ = "config"
    _desc_ = "Configuration management"
    _args_ = [
        (("-V", "--value"), {"help": "Return the value of a specific option"}),
        (("-d", "--dump"), {"help": "Dump the current configuration",
                            "action": "store_true"}),
    ]

    def run(self):
        if self.args.dump:

# Path: sibyl/config.py
# class Config(object):
#     def __init__(self, default_config, files):
#     def expandpath(path):
#     def parse_files(self, files):
#     def dump(self):
#     def jit_engine(self):
#     def available_tests(self):
#     def miasm_engine(self):
#     def pin_root(self):
#     def pin_tracer(self):
#     def prune_strategy(self):
#     def prune_keep(self):
#     def prune_keep_max(self):
#     def stubs(self):
#     def idaq64_path(self):
#     def ghidra_headless_path(self):
#     def ghidra_export_function(self):
# 
# Path: sibyl/actions/action.py
# class Action(object):
# 
#     "Parent class for actions"
# 
#     _name_ = ""
#     _desc_ = ""
#     _args_ = []  # List of (*args, **kwargs)
# 
#     def __init__(self, command_line):
#         # Parse command line
#         parser = argparse.ArgumentParser(
#             prog="%s %s" % (sys.argv[0], self._name_))
#         for args, kwargs in self._args_:
#             parser.add_argument(*args, **kwargs)
#         self.args = parser.parse_args(command_line)
# 
#         # Run action
#         self.run()
# 
#     def run(self):
#         raise NotImplementedError("Abstract method")
# 
#     @property
#     def name(self):
#         """Action name"""
#         return self._name_
# 
#     @property
#     def description(self):
#         """Action description"""
#         return self._desc_


# Path: sibyl/actions/config.py
import os
from sibyl.config import config, config_paths
from sibyl.actions.action import Action

#
# Sibyl is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Sibyl 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 General Public
# License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Sibyl. If not, see <http://www.gnu.org/licenses/>.




class ActionConfig(Action):
    """Configuration management"""

    _name_ = "config"
    _desc_ = "Configuration management"
    _args_ = [
        (("-V", "--value"), {"help": "Return the value of a specific option"}),
        (("-d", "--dump"), {"help": "Dump the current configuration",
                            "action": "store_true"}),
    ]

    def run(self):
        if self.args.dump:

            print "\n".join(config.dump())