Esempio n. 1
0
        def _init_channels(self):
            self.control_channel = Channel(index=0, log=self._log)

            self.cpu_data_channels = ChannelList(length=self.MAX_CORE_CHANNELS,
                                                 log=self._log)

            self.module_data_channel = None
            self.uncore_data_channel = None

            self.data_channels = ChannelList(length=self.MAX_CORE_CHANNELS + 2,
                                             log=self._log)
            self.data_channels.includes(*self.cpu_data_channels.reserved)
Esempio n. 2
0
        def parse(html):
            CSS = "select[name=channels] optgroup[label!=Alphabetisch] option"
            channels = ChannelList()

            for elem in html.cssselect(CSS):
                values = elem.attrib["value"].split("]")[1].split(",")
                texts = elem.text.split(",")
                assert len(values) == len(texts)

                for i in xrange(len(values)):
                    channels.append(
                        Channel(values[i].strip(), texts[i].strip()))

            return channels
Esempio n. 3
0
    def __init__(self,
                 nick,
                 realname,
                 channels,
                 admins,
                 _ssl=False,
                 reconnect=False,
                 password=False,
                 oper_user=False,
                 oper_pass=False):
        self.users = UserList()
        self.user = User(nick=nick, real=realname)
        self.users.append(self.user)
        self.channels = ChannelList(self.users)

        self._nick = nick
        self._real = realname

        self.logger = logging.getLogger('teslabot.irc')
        self._init_channels = channels
        self._ssl = _ssl
        self._reconnect = reconnect
        self._reconnect_time = 0
        self._password = password
        self._buffer = ''
        self._ipaddr = None

        self._oper = False
        self._oper_user = oper_user
        self._oper_pass = oper_pass

        self._msg_time = []
        self._msg_last_id = 0
        self._max_mps = 5
        self._throttle = False

        self._ping = 0
        self._stimeout_count = 0
        self._SOCKET_TIMEOUT = 5
        self._PING_TIMEOUT = 5
        self._PING_FREQUENCY = 12

        self._last_msg = 0

        self.alive = 1

        # Define users with administrator privileges
        for admin in admins:
            user = User(src=admin, admin=True)
            self.users.append(user)