Пример #1
0
    def enable(self, bot):
        self.bot = bot
        pajbot.managers.handler.HandlerManager.add_handler('on_message',
                                                           self.on_message,
                                                           priority=100)
        pajbot.managers.handler.HandlerManager.add_handler(
            'on_commit', self.on_commit)
        if bot:
            self.run_later = bot.execute_delayed

            if 'safebrowsingapi' in bot.config['main']:
                # XXX: This should be loaded as a setting instead.
                # There needs to be a setting for settings to have them as "passwords"
                # so they're not displayed openly
                self.safeBrowsingAPI = SafeBrowsingAPI(
                    bot.config['main']['safebrowsingapi'], bot.nickname,
                    bot.version)
            else:
                self.safeBrowsingAPI = None

        if self.db_session is not None:
            self.db_session.commit()
            self.db_session.close()
            self.db_session = None
        self.db_session = DBManager.create_session()
        self.blacklisted_links = []
        for link in self.db_session.query(BlacklistedLink):
            self.blacklisted_links.append(link)

        self.whitelisted_links = []
        for link in self.db_session.query(WhitelistedLink):
            self.whitelisted_links.append(link)
Пример #2
0
    def highlight_list_date(date):
        # Make sure we were passed a valid date
        try:
            parsed_date = datetime.datetime.strptime(date, '%Y-%m-%d')
        except ValueError:
            # Invalid date
            return redirect('/highlights/', 303)
        session = DBManager.create_session()
        dates_with_highlights = []
        highlights = session.query(StreamChunkHighlight).options(
            joinedload('*')).filter(
                cast(StreamChunkHighlight.created_at, Date) ==
                parsed_date).order_by(
                    StreamChunkHighlight.created_at.desc()).all()
        for highlight in session.query(StreamChunkHighlight):
            dates_with_highlights.append(
                datetime.datetime(year=highlight.created_at.year,
                                  month=highlight.created_at.month,
                                  day=highlight.created_at.day))

        try:
            return render_template(
                'highlights_date.html',
                highlights=highlights,
                date=parsed_date,
                dates_with_highlights=set(dates_with_highlights))
        finally:
            session.close()
Пример #3
0
    def enable(self, bot):
        self.bot = bot
        pajbot.managers.handler.HandlerManager.add_handler('on_message', self.on_message, priority=100)
        pajbot.managers.handler.HandlerManager.add_handler('on_commit', self.on_commit)
        if bot:
            self.run_later = bot.execute_delayed

            if 'safebrowsingapi' in bot.config['main']:
                # XXX: This should be loaded as a setting instead.
                # There needs to be a setting for settings to have them as "passwords"
                # so they're not displayed openly
                self.safeBrowsingAPI = SafeBrowsingAPI(bot.config['main']['safebrowsingapi'], bot.nickname, bot.version)
            else:
                self.safeBrowsingAPI = None

        if self.db_session is not None:
            self.db_session.commit()
            self.db_session.close()
            self.db_session = None
        self.db_session = DBManager.create_session()
        self.blacklisted_links = []
        for link in self.db_session.query(BlacklistedLink):
            self.blacklisted_links.append(link)

        self.whitelisted_links = []
        for link in self.db_session.query(WhitelistedLink):
            self.whitelisted_links.append(link)
Пример #4
0
 def decks_warrior():
     session = DBManager.create_session()
     decks = session.query(Deck).filter_by(deck_class='warrior').order_by(Deck.last_used.desc(), Deck.first_used.desc()).all()
     session.close()
     return render_template('decks/by_class.html',
             decks=decks,
             deck_class='Warrior')
Пример #5
0
 def decks():
     session = DBManager.create_session()
     top_decks = []
     for deck in session.query(Deck).order_by(Deck.last_used.desc(), Deck.first_used.desc())[:25]:
         top_decks.append(deck)
     session.close()
     return render_template("decks/all.html", top_decks=top_decks, deck_class=None)
Пример #6
0
 def decks_warlock():
     session = DBManager.create_session()
     decks = (session.query(Deck).filter_by(deck_class="warlock").order_by(
         Deck.last_used.desc(), Deck.first_used.desc()).all())
     session.close()
     return render_template("decks/by_class.html",
                            decks=decks,
                            deck_class="Warlock")
Пример #7
0
 def decks_shaman():
     session = DBManager.create_session()
     decks = session.query(Deck).filter_by(deck_class='shaman').order_by(
         Deck.last_used.desc(), Deck.first_used.desc()).all()
     session.close()
     return render_template('decks/by_class.html',
                            decks=decks,
                            deck_class='Shaman')
Пример #8
0
    def __init__(self, bot):
        self.bot = bot
        self.banphrases = []
        self.enabled_banphrases = []
        self.db_session = DBManager.create_session(expire_on_commit=False)

        if self.bot:
            self.bot.socket_manager.add_handler("banphrase.update", self.on_banphrase_update)
            self.bot.socket_manager.add_handler("banphrase.remove", self.on_banphrase_remove)
Пример #9
0
 def decks():
     session = DBManager.create_session()
     top_decks = []
     for deck in session.query(Deck).order_by(Deck.last_used.desc(), Deck.first_used.desc())[:25]:
         top_decks.append(deck)
     session.close()
     return render_template('decks/all.html',
             top_decks=top_decks,
             deck_class=None)
Пример #10
0
    def __init__(self, bot):
        self.bot = bot
        self.banphrases = []
        self.enabled_banphrases = []
        self.db_session = DBManager.create_session(expire_on_commit=False)

        if self.bot:
            self.bot.socket_manager.add_handler('banphrase.update', self.on_banphrase_update)
            self.bot.socket_manager.add_handler('banphrase.remove', self.on_banphrase_remove)
Пример #11
0
    def enable(self, bot):
        HandlerManager.add_handler('on_message', self.on_message, priority=200)
        HandlerManager.add_handler('on_commit', self.on_commit)

        if self.db_session is not None:
            self.db_session.commit()
            self.db_session.close()
            self.db_session = None
            self.links = {}
        self.db_session = DBManager.create_session()
Пример #12
0
    def enable(self, bot):
        HandlerManager.add_handler("on_message", self.on_message, priority=200)
        HandlerManager.add_handler("on_commit", self.on_commit)

        if self.db_session is not None:
            self.db_session.commit()
            self.db_session.close()
            self.db_session = None
            self.links = {}
        self.db_session = DBManager.create_session()
Пример #13
0
    def __init__(self, bot):
        self.bot = bot
        self.autoresponses = []
        self.enabled_autoresponses = []
        self.db_session = DBManager.create_session(expire_on_commit=False)

        if self.bot:
            self.bot.socket_manager.add_handler('autoresponse.update',
                                                self.on_autoresponse_update)
            self.bot.socket_manager.add_handler('autoresponse.remove',
                                                self.on_autoresponse_remove)
Пример #14
0
    def __init__(self, reactor, bot, target, message_limit, time_interval, num_of_conns=30):
        self.db_session = DBManager.create_session()
        self.reactor = reactor
        self.bot = bot
        self.message_limit = message_limit
        self.time_interval = time_interval
        self.num_of_conns = num_of_conns
        self.whisper_thread = None

        self.connlist = []
        self.whispers = Queue()

        self.maintenance_lock = False
Пример #15
0
    def __init__(self, bot):
        UserDict.__init__(self)
        self.bot = bot
        self.streamer = bot.streamer
        self.db_session = DBManager.create_session()
        self.custom_data = []
        self.bttv_emote_manager = BTTVEmoteManager(self)

        self.bot.execute_delayed(5, self.bot.action_queue.add,
                                 (self.bttv_emote_manager.update_emotes, ))
        self.bot.execute_every(60 * 60 * 2, self.bot.action_queue.add,
                               (self.bttv_emote_manager.update_emotes, ))

        # Used as caching to store emotes
        self.global_emotes = []
Пример #16
0
    def __init__(self, socket_manager=None, module_manager=None, bot=None):
        UserDict.__init__(self)
        self.db_session = DBManager.create_session()

        self.internal_commands = {}
        self.db_commands = {}
        self.module_commands = {}

        self.bot = bot
        self.module_manager = module_manager

        if socket_manager:
            socket_manager.add_handler('module.update', self.on_module_reload)
            socket_manager.add_handler('command.update', self.on_command_update)
            socket_manager.add_handler('command.remove', self.on_command_remove)
Пример #17
0
 def highlights():
     session = DBManager.create_session()
     dates_with_highlights = []
     highlights = session.query(StreamChunkHighlight).options(joinedload('*')).filter(StreamChunkHighlight.created_at >= (datetime.datetime.utcnow() - datetime.timedelta(days=60))).order_by(StreamChunkHighlight.created_at_with_offset.desc()).all()
     for highlight in highlights:
         dates_with_highlights.append(datetime.datetime(
             year=highlight.created_at.year,
             month=highlight.created_at.month,
             day=highlight.created_at.day))
     try:
         return render_template('highlights.html',
                 highlights=highlights[:10],
                 dates_with_highlights=set(dates_with_highlights))
     finally:
         session.close()
Пример #18
0
    def enable(self, bot):
        HandlerManager.add_handler("on_message", self.on_message, priority=100)
        HandlerManager.add_handler("on_commit", self.on_commit)

        if self.db_session is not None:
            self.db_session.commit()
            self.db_session.close()
            self.db_session = None
        self.db_session = DBManager.create_session()
        self.blacklisted_links = []
        for link in self.db_session.query(BlacklistedLink):
            self.blacklisted_links.append(link)

        self.whitelisted_links = []
        for link in self.db_session.query(WhitelistedLink):
            self.whitelisted_links.append(link)
Пример #19
0
    def __init__(self,
                 reactor,
                 bot,
                 target,
                 message_limit,
                 time_interval,
                 num_of_conns=30):
        self.db_session = DBManager.create_session()
        self.reactor = reactor
        self.bot = bot
        self.message_limit = message_limit
        self.time_interval = time_interval
        self.num_of_conns = num_of_conns
        self.whisper_thread = None

        self.connlist = []
        self.whispers = Queue()

        self.maintenance_lock = False
Пример #20
0
 def highlights():
     session = DBManager.create_session()
     dates_with_highlights = []
     highlights = session.query(StreamChunkHighlight).options(
         joinedload('*')).filter(StreamChunkHighlight.created_at >= (
             datetime.datetime.utcnow() -
             datetime.timedelta(days=60))).order_by(
                 StreamChunkHighlight.created_at_with_offset.desc()).all()
     for highlight in highlights:
         dates_with_highlights.append(
             datetime.datetime(year=highlight.created_at.year,
                               month=highlight.created_at.month,
                               day=highlight.created_at.day))
     try:
         return render_template(
             'highlights.html',
             highlights=highlights[:10],
             dates_with_highlights=set(dates_with_highlights))
     finally:
         session.close()
Пример #21
0
    def enable(self, bot):
        if not bot:
            return

        HandlerManager.add_handler("on_message",
                                   self.on_message,
                                   priority=150,
                                   run_if_propagation_stopped=True)
        HandlerManager.add_handler("on_commit", self.on_commit)

        if self.db_session is not None:
            self.db_session.commit()
            self.db_session.close()
            self.db_session = None
        self.db_session = DBManager.create_session()
        self.blacklisted_links = []
        for link in self.db_session.query(BlacklistedLink):
            self.blacklisted_links.append(link)

        self.whitelisted_links = []
        for link in self.db_session.query(WhitelistedLink):
            self.whitelisted_links.append(link)
Пример #22
0
    def highlight_list_date(date):
        # Make sure we were passed a valid date
        try:
            parsed_date = datetime.datetime.strptime(date, '%Y-%m-%d')
        except ValueError:
            # Invalid date
            return redirect('/highlights/', 303)
        session = DBManager.create_session()
        dates_with_highlights = []
        highlights = session.query(StreamChunkHighlight).options(joinedload('*')).filter(cast(StreamChunkHighlight.created_at, Date) == parsed_date).order_by(StreamChunkHighlight.created_at.desc()).all()
        for highlight in session.query(StreamChunkHighlight):
            dates_with_highlights.append(datetime.datetime(
                year=highlight.created_at.year,
                month=highlight.created_at.month,
                day=highlight.created_at.day))

        try:
            return render_template('highlights_date.html',
                    highlights=highlights,
                    date=parsed_date,
                    dates_with_highlights=set(dates_with_highlights))
        finally:
            session.close()
Пример #23
0
    def __init__(
        self,
        socket_manager: Optional[SocketManager] = None,
        module_manager: Optional[ModuleManager] = None,
        bot: Optional[Bot] = None,
    ) -> None:
        UserDict.__init__(self)
        self.db_session: Session = DBManager.create_session()

        self.internal_commands: Dict[str, Command] = {}
        self.db_commands: Dict[str, Command] = {}
        self.module_commands: Dict[str, Command] = {}
        self.data = {}

        self.bot = bot
        self.module_manager = module_manager

        if socket_manager:
            socket_manager.add_handler("module.update", self.on_module_reload)
            socket_manager.add_handler("command.update",
                                       self.on_command_update)
            socket_manager.add_handler("command.remove",
                                       self.on_command_remove)
Пример #24
0
 def __init__(self):
     UserList.__init__(self)
     self.db_session = DBManager.create_session()
Пример #25
0
 def __init__(self):
     UserList.__init__(self)
     self.db_session = DBManager.create_session()