Example #1
0
 def print_alarms(self):
     if self.c_wincc.rowcount > 0:
         for rec in self.c_wincc.fetchall():
             print rec['MsgNr'], rec['State'], datetime_to_str(utc_to_local(rec['DateTime'])), rec['Classname'], rec['Typename'], rec['Text1']
         print("Rows: {rows}".format(rows=self.c_wincc.rowcount))
Example #2
0
 def print_operator_messages(self):
     if self.c_wincc.rowcount > 0:
         for rec in self.c_wincc.fetchall():
             print datetime_to_str(utc_to_local(rec['DateTime'])), rec['PText1'], rec['PText2'], rec['PText3'], rec['PText4'], rec['Username']
Example #3
0
    async def message_handler(self, event):
        """Callback method for received events.NewMessage

         Note that message_handler is called when a Telegram update occurs
        # and an event is created. Telegram may not always send information
        # about the ``.sender`` or the ``.chat``, so if you *really* want it
        # you should use ``get_chat()`` and ``get_sender()`` while working
        # with events. Since they are methods, you know they may make an API
        # call, which can be expensive.
        """
        print(event)

        event_sender = await (event.get_sender())
        event_sender = self.event_sender_to_string(event_sender)
        event_time = str(utc_to_local(event.message.date).time())

        if self.account.has_active_order():
            offer_dic = Translate.order(event.text)
            counter_offer_amount = Translate.order_counter_offer(event.text)

            if self.does_offer_match(offer_dic):
                check_offer_result = self.account.get_last_order().check_offer(
                    offer_dic['price'], offer_dic['amount'],
                    offer_dic['dividable'], event_sender, event_time)
                if check_offer_result is not None:  # if it is not none then we are going to buy or sell
                    if check_offer_result == -1:
                        await event.reply('ب')
                    else:
                        await event.reply(str(check_offer_result))
                    await self.fire_changes()

            elif event.reply_to_msg_id in self.account.get_last_order(
            ).last_offered_event_ids:
                if counter_offer_amount is not None:
                    self.account.get_last_order().amounted_accept(
                        counter_offer_amount, event_sender, event_time)
                    await self.fire_changes()

                elif event.text == 'ب':
                    self.account.get_last_order().complete_accept(
                        event_sender, event_time)
                    await self.fire_changes()

        elif self.account.is_transfer_active():
            if (Translate.order(event.text) is not None):
                offer = Translate.order(event.text)
                if (offer['dividable'] == True):
                    print(offer)
                    offer.update({'time': event_time, 'id': event})
                    response = self.account.transfer.new_offer(offer)
                if response is not None:
                    await event.reply(response['current_answer'])
                    await response['event'].reply(response['older_answer'])
            elif Translate.complete_accept(event.text) is not None:
                if event.is_reply:
                    replied = await event.get_reply_message()
                    self.account.transfer.delete_offer_with_id(replied.id)
            elif Translate.order_counter_offer(event.text) is not None:
                counter = Translate.order_counter_offer(event.text)
                if event.is_reply:
                    replied = await event.get_reply_message()
                    self.account.transfer.modify_offer_with_id(
                        replied.id, counter)

            elif event.text == 'ن':
                self.account.transfer.delete_offer_with_sender_id(
                    event.from_id)
            print(self.account.transfer.sell_list)
            print(self.account.transfer.buy_list)
            print(self.account.transfer.tomorrow_buy_list)
            print(self.account.transfer.tomorrow_sell_list)