Beispiel #1
0
 def __init__(self, ticker, env):
     self.bars_data = Bars(ticker)
     self.prices = self.bars_data.get_data()
     self.first_run = True
     self.stream = StreamBar(ticker)
     self.parser = Parser()
     self.called = 0
     self._offset = 0
     self.env = env
Beispiel #2
0
    def _fetch_next_bars(self, smallestDateTime):
        '''Find the next earliest datetime and emit all Bars that have an entry for it.'''
        if smallestDateTime == None:
            return None

        # Make a second pass to get all the bars that had the smallest datetime.
        self._current_bars = Bars()
        for symbol, feed in self._feeds.iteritems():
            if feed.get_next_bar_date() == smallestDateTime:
                self._current_bars.add_bar(symbol, feed.get_current_bar())

        return self._current_bars
Beispiel #3
0
    def new_message(self, message):

        if message.upper() == self._COMMANDS[0]:
            return self._HELLO[randint(0, len(self._HELLO) - 1)]

        elif message.upper() == self._COMMANDS[1] or message.upper() == self._COMMANDS_SHORT[1]:
            return self._get_time()

        elif message.upper() == self._COMMANDS[2]:
            return self._BYE[randint(0, len(self._BYE) - 1)]

        elif message.upper().split(' ')[0] == self._COMMANDS[3] or message.upper().split(' ')[0] == self._COMMANDS_SHORT[3]:
            data = message.split(' ')
            db = Database()
            if(not db._check_if_user_exists(self._USER_ID)):
                return f"Пожалуйста сначала зарегистрируйтесь!"
            user_info = db._get_user_info(self._USER_ID)
            if len(data) == 2:
                if(data[1] not in self._GROUPS):
                    if(data[1] in self._GROUPS_ENG):
                        data[1] = self._GROUPS[self._GROUPS_ENG.index(data[1])]
                    else:
                        return "Ошибка группы!"
                sc = Schedule(data[1], user_info[1], user_info[2])
            else:
                sc = Schedule(user_info[0], user_info[1], user_info[2])
            return sc._get_schedule()

        elif message.upper() == self._COMMANDS[4] or message.upper() == self._COMMANDS_SHORT[4]:
            return "Всё что я понимаю это: \nПРИВЕТ - бесполезная опция, но если вам нечем больше заняться, можете также попробовать команду ПОКА\n\n\
            (В)РЕМЯ - скажу, который сейчас час\n\n(П)ОМОЩЬ - выведу вот это сообщение :)\n\n(Р)АСПИСАНИЕ [А-XX-18]- покажу расписание. Если группа не указана, расписание будет для вашей группы.\n\n\
            (З)АРЕГИСТРИРОВАТЬСЯ - если вы не зарегистрировались, для просмотра ваших оценок придётся это сделать, написав следующее:\n(З)АРЕГИСТРИРОВАТЬСЯ ваш_логин ваш_пароль А-XX-18 \n\n\
            (Б)АРС - просмотр оценок\n"

        elif message.split(' ')[0].upper() == self._COMMANDS[5] or message.split(' ')[0].upper() == self._COMMANDS_SHORT[5]:
            return self._register(message)

        elif message.upper() == self._COMMANDS[6] or message.upper() == self._COMMANDS_SHORT[6]:
            db = Database()
            if(not db._check_if_user_exists(self._USER_ID)):
                return f"Пожалуйста сначала зарегистрируйтесь!"
            user_info = db._get_user_info(self._USER_ID)
            bars = Bars(user_info[1], user_info[2])
            return bars._get_data()

        else:
            return self._DONT_KNOW[randint(0, len(self._DONT_KNOW) - 1)]