# Path: lib/common/completer.py
# class none(object):
# class MainMenuCompleter(object):
# class PayloadCompleter(object):
# class MSFCompleter(object):
# class IPCompleter(object):
# class MSFPortCompleter(object):
# class PathCompleter(object):
# class GreatSCTMainMenuCompleter(object):
#     def complete(self, args):
#     def __init__(self, cmds, payloads):
#     def complete_use(self, args):
#     def complete_info(self, args):
#     def complete(self, text, state):
#     def __init__(self, cmds, payload):
#     def _listdir(self, root):
#     def _complete_path(self, path=None):
#     def complete_path(self, args):
#     def complete_set(self, args):
#     def complete(self, text, state):
#     def __init__(self, payloadTree):
#     def complete(self, text, state):
#     def __init__(self):
#     def complete(self, text, state):
#     def __init__(self):
#     def complete(self, text, state):
#     def __init__(self):
#     def _listdir(self, root):
#     def _complete_path(self, path=None):
#     def complete_path(self, args):
#     def complete(self, text, state):
#     def __init__(self, cmds, tools):
#     def complete_use(self, args):
#     def complete_info(self, args):
#     def complete(self, text, state):
#         RE_SPACE = re.compile('.*\s+$', re.M)
#         RE_SPACE = re.compile('.*\s+$', re.M)
#         RE_SPACE = re.compile('.*\s+$', re.M)
#         RE_SPACE = re.compile('.*\s+$', re.M)
# 
# Path: lib/common/helpers.py
# def clean_payloads():
# def color(string, status=True, warning=False, bold=True, yellow=False):
# def check_int(incoming_int):
# def randomString(length=-1):
# def randomKey(b=32):
# def randomNumbers(b=7):
# def validate_hostname(hostname):
# def validate_ip(ip_address):
# def validate_port(port_number):
# 
# Path: lib/common/messages.py
# def title_screen():


import glob
import imp
import os
import readline
import sys
from lib.common import completer
from lib.common import helpers
from lib.common import messages
        print()
        return

    def load_tools(self, command_line_object):
        # Load all tools within the Tools folder
        # (Evasion, Ordnance, Pillage, etc.)
        for name in glob.glob('Tools/*/Tool.py'):
            if name.endswith(".py") and ("__init__" not in name):
                loaded_tool = imp.load_source(
                    name.replace("/", ".").rstrip('.py'), name)
                self.imported_tools[name] = loaded_tool.Tools(
                    command_line_object)
        return

    def main_menu(self):
        # default blank command for the main meny loop
        main_menu_command = ''
        show_header = True

        # Try except to catch keyboard interrupts
        try:

            # Loop for the main menu, will always loop as long as command is ''
            while main_menu_command == '':
                comp = completer.GreatSCTMainMenuCompleter(self.mainmenu_commands, self.imported_tools)
                readline.set_completer_delims(' \t\n;')
                readline.parse_and_bind("tab: complete")
                readline.set_completer(comp.complete)

                if show_header:

# Path: lib/common/completer.py
# class none(object):
# class MainMenuCompleter(object):
# class PayloadCompleter(object):
# class MSFCompleter(object):
# class IPCompleter(object):
# class MSFPortCompleter(object):
# class PathCompleter(object):
# class GreatSCTMainMenuCompleter(object):
#     def complete(self, args):
#     def __init__(self, cmds, payloads):
#     def complete_use(self, args):
#     def complete_info(self, args):
#     def complete(self, text, state):
#     def __init__(self, cmds, payload):
#     def _listdir(self, root):
#     def _complete_path(self, path=None):
#     def complete_path(self, args):
#     def complete_set(self, args):
#     def complete(self, text, state):
#     def __init__(self, payloadTree):
#     def complete(self, text, state):
#     def __init__(self):
#     def complete(self, text, state):
#     def __init__(self):
#     def complete(self, text, state):
#     def __init__(self):
#     def _listdir(self, root):
#     def _complete_path(self, path=None):
#     def complete_path(self, args):
#     def complete(self, text, state):
#     def __init__(self, cmds, tools):
#     def complete_use(self, args):
#     def complete_info(self, args):
#     def complete(self, text, state):
#         RE_SPACE = re.compile('.*\s+$', re.M)
#         RE_SPACE = re.compile('.*\s+$', re.M)
#         RE_SPACE = re.compile('.*\s+$', re.M)
#         RE_SPACE = re.compile('.*\s+$', re.M)
# 
# Path: lib/common/helpers.py
# def clean_payloads():
# def color(string, status=True, warning=False, bold=True, yellow=False):
# def check_int(incoming_int):
# def randomString(length=-1):
# def randomKey(b=32):
# def randomNumbers(b=7):
# def validate_hostname(hostname):
# def validate_ip(ip_address):
# def validate_port(port_number):
# 
# Path: lib/common/messages.py
# def title_screen():


# Path: lib/common/orchestra.py
import glob
import imp
import os
import readline
import sys
from lib.common import completer
from lib.common import helpers
from lib.common import messages

        print()
        return

    def load_tools(self, command_line_object):
        # Load all tools within the Tools folder
        # (Evasion, Ordnance, Pillage, etc.)
        for name in glob.glob('Tools/*/Tool.py'):
            if name.endswith(".py") and ("__init__" not in name):
                loaded_tool = imp.load_source(
                    name.replace("/", ".").rstrip('.py'), name)
                self.imported_tools[name] = loaded_tool.Tools(
                    command_line_object)
        return

    def main_menu(self):
        # default blank command for the main meny loop
        main_menu_command = ''
        show_header = True

        # Try except to catch keyboard interrupts
        try:

            # Loop for the main menu, will always loop as long as command is ''
            while main_menu_command == '':
                comp = completer.GreatSCTMainMenuCompleter(self.mainmenu_commands, self.imported_tools)
                readline.set_completer_delims(' \t\n;')
                readline.parse_and_bind("tab: complete")
                readline.set_completer(comp.complete)

                if show_header:

                    messages.title_screen()