Example #1
0
class attk_client(object):
    def __init__(self, id, url, password):
        self.id = id
        self.block_id = None
        self.password = password
        self.url = url
        self.xml = ServerProxy(self._make_url())
        self.attack_id = None
        self.status = None


    def _make_url(self):
        url = list(urlsplit(self.url))
        url[1] = 'x:' + self.password + '@' + url[1]
        url[2] = url[2] + 'RPC2'
        return urlunsplit(url)


    def start(self, attack_id, block_id, attack_module, init_args, start_args):
        try:
            result = self.xml.startAttack(attack_id, attack_module, Binary(cPickle.dumps(init_args)), Binary(cPickle.dumps(start_args)))
            if result == True:
                self.block_id = block_id
                self.attack_id = attack_id
                return True
            else:
                return False
        except Error, e:
            debug('ERROR: %s' % e)
            return False