Пример #1
0
def deferred_find_item_in(client, parent, func):
    i = client.world.find_item_in(parent, func)
    if i is not None:
        return defer.succeed(i)

    d = defer.Deferred()
    e = OpenContainer(client, parent).deferred

    def second_lookup():
        i = client.world.find_item_in(parent, func)
        if i is not None:
            d.callback(i)
        else:
            d.errback(NoSuchEntity())

    def callback(result):
        reactor.callLater(1, second_lookup)
        return result

    def errback(fail):
        d.errback(fail)
        return fail

    e.addCallbacks(callback, errback)
    return d
Пример #2
0
def run(client):
    backpack = client.world.backpack()
    if backpack is None:
        return defer.fail('No backpack')

    d = OpenContainer(client, backpack).deferred
    d.addCallback(print_contents, client.world, backpack)
    return d
Пример #3
0
    def _source_opened2(self):
        client = self._client

        if self._destination.is_bank(client.world.player):
            self._destination_opened(None)
        else:
            d = OpenContainer(client, self._destination).deferred
            d.addCallbacks(self._destination_opened, self._failure)
Пример #4
0
    def open_backpack(self):
        backpack = self._client.world.backpack()
        if backpack is None:
            return defer.fail('No backpack')

        d = OpenContainer(self._client, backpack).deferred
        d.addCallback(self.get_runes, self._client.world, backpack)
        return d
Пример #5
0
    def open_backpack(self):
        backpack = self._client.world.backpack()
        if backpack is None:
            return defer.fail("No backpack")

        d = OpenContainer(self._client, backpack).deferred
        d.addCallback(self.get_runes, self._client.world, backpack)
        return d
Пример #6
0
def run(client):
    backpack = client.world.backpack()
    if backpack is None:
        return defer.fail('No backpack')

    d = OpenContainer(client, backpack).deferred
    d.addCallback(print_contents, client.world, backpack)
    return d
Пример #7
0
def restock_box_opened(client, restock_box):
    backpack = client.world.backpack()
    if backpack is None:
        return defer.fail('No backpack')

    d = OpenContainer(client, backpack).deferred
    d.addCallback(backpack_opened0, client, restock_box)
    return d
Пример #8
0
    def __init__(self, client, container=None):
        Engine.__init__(self, client)
        self.__failed = False
        self.__tries = 10
        self.container = container

        d = OpenContainer(client, self.container).deferred
        d.addCallbacks(self._more, self._failure)
Пример #9
0
def restock_box_opened(client, restock_box):
    backpack = client.world.backpack()
    if backpack is None:
        return defer.fail('No backpack')

    d = OpenContainer(client, backpack).deferred
    d.addCallback(backpack_opened0, client, restock_box)
    return d
Пример #10
0
def harvested(result, client):
    chest = find_chest_at(client.world, client.world.player.position.x - 2,
                          client.world.player.position.y)
    if chest is None:
        return defer.fail('No chest')

    d = OpenContainer(client, chest).deferred
    d.addCallback(chest_opened0, client, chest)
    return d
Пример #11
0
def harvested(result, client):
    chest = find_chest_at(client.world, client.world.player.position.x - 2,
                          client.world.player.position.y)
    if chest is None:
        return defer.fail('No chest')

    d = OpenContainer(client, chest).deferred
    d.addCallback(chest_opened0, client, chest)
    return d
Пример #12
0
def run(client):
    PrintMessages(client)

    backpack = client.world.backpack()
    if backpack is None:
        return defer.fail('No backpack')

    d = OpenContainer(client, backpack).deferred
    d.addCallback(backpack_opened, client)
    return d
Пример #13
0
def run(client):
    PrintMessages(client)

    backpack = client.world.backpack()
    if backpack is None:
        return defer.fail("No backpack")

    d = OpenContainer(client, backpack).deferred
    d.addCallback(backpack_opened, client)
    return d
Пример #14
0
def run(client):
    PrintMessages(client)

    restock_box = find_restock_box(client.world)
    if restock_box is None:
        return defer.fail('No box')

    d = OpenContainer(client, restock_box).deferred
    d.addCallback(restock_box_opened0, client, restock_box)
    return d
Пример #15
0
def run(client):
    PrintMessages(client)

    restock_box = find_restock_box(client.world)
    if restock_box is None:
        return defer.fail('No box')

    d = OpenContainer(client, restock_box).deferred
    d.addCallback(restock_box_opened0, client, restock_box)
    return d
Пример #16
0
    def __init__(self, client, source, destination, func, amount):
        Engine.__init__(self, client)

        assert amount > 0

        self.source = source
        self.destination = destination
        self.func = func
        self.amount = amount

        d = OpenContainer(client, destination).deferred
        d.addCallbacks(self._opened, self._failure)
Пример #17
0
    def __init__(self, client, ids):
        Engine.__init__(self, client)

        self._source = client.world.backpack()
        if self._source is None:
            self._failure(NoSuchEntity('No backpack'))
            return

        self.ids = ids

        d = OpenContainer(client, self._source).deferred
        d.addCallbacks(self._source_opened, self._failure)
Пример #18
0
    def __init__(self, client, container, counts=(), func=None):
        Engine.__init__(self, client)

        self._source = client.world.backpack()
        if self._source is None:
            self._failure(NoSuchEntity('No backpack'))
            return

        self._destination = container
        self._counts = []
        if isinstance(counts, dict):
            self._counts.extend(counts.iteritems())
        else:
            self._counts.extend(counts)
        self._func = func

        d = OpenContainer(client, self._source).deferred
        d.addCallbacks(self._source_opened, self._failure)
Пример #19
0
def deferred_amount_in(client, parent, func):
    d = defer.Deferred()
    e = OpenContainer(client, parent).deferred

    def count():
        total = 0
        for i in client.world.items_in(parent):
            if func(i):
                total += i.amount
        d.callback(total)

    def callback(result):
        reactor.callLater(1, count)
        return result

    def errback(fail):
        d.errback(fail)
        return fail

    e.addCallbacks(callback, errback)
    return d
Пример #20
0
    def __init__(self, client, container):
        Engine.__init__(self, client)
        self.container = container

        d = OpenContainer(client, container).deferred
        d.addCallbacks(self._opened, self._failure)