import sys
sys.path.insert(0,'../libraries')
from entropy.client.services.system.interfaces import Client as SystemManagerClientInterface
from entropy.client.services.system.commands import Repository as SystemManagerRepositoryClientCommands
from entropy.client.services.system.methods import Repository as SystemManagerRepositoryMethodsInterface
from entropy.client.interfaces import Client as EquoInterface
from entropyConstants import *
Entropy = EquoInterface()
cli_srv = SystemManagerClientInterface(
        Entropy,
        MethodsInterface = SystemManagerRepositoryMethodsInterface,
        ClientCommandsInterface = SystemManagerRepositoryClientCommands
)
def fake_callback(s):
    return s

input_params = [
    ('password','Password',fake_callback,True)
]
data = Entropy.inputBox(
    'insert root password',
    input_params,
    cancel_button = True
)
if isinstance(data,dict):
    cli_srv.setup_connection('localhost', 1027, 'root', data['password'])
    print cli_srv.get_available_client_commands()
    #print cli_srv.Methods.compile_atom('sys-libs/zlib')
    #st, queue = cli_srv.Methods.get_queue()
    #if st: print queue['processing']