Ejemplo n.º 1
0
def memoTester():
    item = session.query(Memory).first()
    original = item.type
    print('Test memory 1/4: {} |Original|'.format(item.type))
    item.type = 'none'
    print('Test memory 2/4: {} |Change|'.format(item.type))
    session.add(item)
    session.commit()
    item = session.query(Memory).first()
    print('Test memory 3/4: {} |Updated|'.format(item.type))
    item.type = original
    session.add(item)
    session.commit()
Ejemplo n.º 2
0
def testMemory():
    item = session.query(Memory).first()
    if not item:
        print('Empty memory: id=1, type=game, sold=0 |Create|')
        session.add(Memory(1, 'game', 0))
        session.commit()
        memoTester()
        item = session.query(Memory).first()
        session.delete(item)
        session.commit()
        print('Test memory 4/4 |Callback|')
    else:
        memoTester()
        print('Test memory 4/4 |Callback|')
    return redirect('/')
Ejemplo n.º 3
0
def connect_test():
    '''
    * sprawdza czy w bazie sa jakies wartosci
    :return:
    '''
    item = session.query(Items).first()
    if item:
        print("Nawiązano połączenie z bazą.")

    else:
        print("Baza jest pusta. Rozpoczynam generację testowych danych.")
Ejemplo n.º 4
0
    def negotiation(self, message, box):
        # print('== Message: {} =='.format(message))
        # print('== MessageZero: {} =='.format(messageZero))
        # print('== Message: {} =='.format(message))
        if message == 'end':
            return '2'
        else:
            message = message.split('$')

        if message[0] == 'toomuch':
            humor = random.randint(1, 5)
            print('Shop ID: {}, Obniżka: {}%'.format(self.shopID, humor))
            dead = 0
            while dead < 3:
                try:
                    item = session.query(Items).filter(Items.id == box).first()
                    dead = 3
                except:
                    dead += 1
                    time.sleep(.100)
                    if dead > 2:
                        return '2'

            self.newPrice = item.price - ((item.price * humor) / 100)
            print('Shop ID: {}, Old price: {} | New price: {}'.format(
                self.shopID, item.price, self.newPrice))
            return 'negotiation|' + str(
                self.newPrice) + '$' + message[1] + '|' + box
        elif message[0] == 'ok':
            dead = 0
            while dead < 3:
                try:
                    item = session.query(Items).filter(Items.id == box).first()
                    dead = 3
                except:
                    dead += 1
                    time.sleep(.100)
                    if dead > 2:
                        return '2'

            item = session.query(Items).filter(Items.id == box).first()
            memo = session.query(Memory).filter(Memory.deviceID == box).all()
            # print('=== {} ==='.format(len(memo)))
            alert = len(memo)
            if len(memo) == 0:
                print('=== {} ==='.format('Ot coś nowego'))
                self.device_type = message[2]
                # print('=== sdt: {}'.format(message[2]))
                session.add(Memory(box, message[2], 1))
                session.commit()
            else:
                for x in memo:
                    if x.type != message[2] and alert < 3:
                        print('=== {} ==='.format('Inny typ inne użądzenie'))
                        session.add(Memory(box, message[2], 0))
                        session.commit()
                    elif x.type == message[2] and alert < 3:
                        print('=== {} === {}'.format('+1 do sprzedarzy', box))
                        x.sold = int(x.sold) + 1
                        session.add(x)
                        session.commit()

            back_message = '1|' + \
                           str(item.id) + '|' + \
                           str(item.name) + '|' + \
                           str(item.type) + '|' + \
                           str(item.weight) + '|' + \
                           str(item.cpu) + '|' + \
                           str(item.gpu) + '|' + \
                           str(item.battery) + '|' + \
                           str(item.dec) + '|' + \
                           str(message[1]) + '|' + \
                           str(item.procesor) + '|' + \
                           str(item.grafika)
            return back_message
        return 'none'
Ejemplo n.º 5
0
    def search(self, message, box):
        self.device_type = message
        back_message = 'Look'
        fromMemory = None
        jackie = None
        dead = 0
        while dead < 3:
            try:
                jackie = session.query(Memory).filter(
                    Memory.type == str(self.device_type)).order_by(
                        Memory.sold.asc()).first()
                dead = 3
            except:
                dead += 1
                time.sleep(.100)
                if dead > 2:
                    return '2'
        if jackie:
            jackie = int(jackie.sold) + 3
            print('=== Jackie: {}'.format(jackie))
            dead = 0
            while dead < 3:
                try:
                    fromMemory = session.query(Memory).filter(
                        Memory.type == str(self.device_type)).filter(
                            Memory.sold < jackie).all()
                    dead = 3
                except:
                    dead += 1
                    time.sleep(.100)
                    if dead > 2:
                        return '2'

        memoList = []
        memoTrue = False
        if fromMemory:
            if len(fromMemory) > 10:
                memoTrue = True
                for x in fromMemory:
                    memoList.append(x.deviceID)

        itemsCount = session.query(Items).count() - 1

        for x in range(10):
            if memoTrue and x >= 7:
                # Traf z pamięci
                randID = random.choice(memoList)
            else:
                # Ślepy traf
                randID = random.randint(0, itemsCount)
            item = session.query(Items).filter(Items.id == randID).first()

            # Jeśli obiekt nie istnieje
            while not item:
                print('Item: {}'.format(item))
                randID = random.randint(0, itemsCount)
                item = session.query(Items).filter(Items.id == randID).first()

            # Generowanie odpowiedzi
            back_message += '&' + \
                           str(item.id) + '|' + \
                           str(item.name) + '|' + \
                           str(item.type) + '|' + \
                           str(item.weight) + '|' + \
                           str(item.cpu) + '|' + \
                           str(item.gpu) + '|' + \
                           str(item.battery) + '|' + \
                           str(item.dec) + '|' + \
                           str(item.price) + '|' + \
                           str(item.procesor) + '|' + \
                           str(item.grafika)
            # print(back_message)
        return back_message