Example #1
0
    def __init__(self, *args, **kwargs):
        self.rooms = kwargs.pop('rooms', [])
        self.nickname = kwargs.pop('nickname', 'Dropbot')
        self.cmd_prefix = kwargs.pop('cmd_prefix', '!')
        self.kos_url = kwargs.pop('kos_url', 'http://kos.cva-eve.org/api/')
        self.hidden_commands = ['cmd_prefix']
        self.last_killdate = datetime.utcnow()
        self.kill_corps = [int(x) for x in kwargs.pop('kill_corps', [])]
        self.kills_disabled = kwargs.pop('kills_disabled', '0') == '1'
        self.kills_muted = False
        self.office_api_key_keyid = kwargs.pop('office_api_keyid', None)
        self.office_api_key_vcode = kwargs.pop('office_api_vcode', None)

        self.redis_pool = ConnectionPool.from_url(
            kwargs.pop('redis_url', 'redis://localhost:6379/0'))
        self.redis = Redis(connection_pool=self.redis_pool)
        self.map = Map.from_json(pkgutil.get_data('dropbot', 'data/map.json'))

        jid = kwargs.pop('jid', None)
        password = kwargs.pop('password', None)

        super(DropBot, self).__init__(jid, password)

        self.register_plugin('xep_0030')  # Service Discovery
        self.register_plugin('xep_0045')  # Multi-User Chat
        self.register_plugin('xep_0199')  # XMPP Ping

        # Basic bot auto config
        self.auto_subscribe = False
        self.auto_authorize = True

        # Handlers
        self.add_event_handler('session_start', self.handle_session_start)
        self.add_event_handler('message', self.handle_message)
Example #2
0
def main():
    if len(sys.argv) > 1:
        dbfile = sys.argv[1]
        try:
            conn = sqlite3.connect(dbfile)
            conn.text_factory = str
        except:
            print("Unable to open the SDE file at %s\n" % dbfile)
    else:
        sys.stderr.write("Usage: {} <db file>\n".format(sys.argv[0]))
        return 1

    sys.stderr.write("Importing Types...\n")
    data = {}
    for row in conn.execute("""SELECT typeID, typeName FROM invTypes"""):
        pk, name = row
        try:
            x = name.decode('utf8')
        except:
            continue
        data[long(pk)] = name

    with open('types.json', 'wb') as f:
        f.write(dumps(data))

    sys.stderr.write("Importing Stations...\n")
    data = {}
    for row in conn.execute(
            """SELECT stationID, solarSystemID FROM staStations"""):
        pk, val = row
        data[long(pk)] = long(val)

    with open('stations.json', 'wb') as f:
        f.write(dumps(data))

    sys.stderr.write("Importing Map...\n")

    from dropbot.map import Map
    map = Map()
    map.from_sde(conn)

    with open('map.json', 'wb') as f:
        f.write(map.to_json())
Example #3
0
def main():
    if len(sys.argv) > 1:
        dbfile = sys.argv[1]
        try:
            conn = sqlite3.connect(dbfile)
            conn.text_factory = str
        except:
            print("Unable to open the SDE file at %s\n" % dbfile)
    else:
        sys.stderr.write("Usage: {} <db file>\n".format(sys.argv[0]))
        return 1

    sys.stderr.write("Importing Types...\n")
    data = {}
    for row in conn.execute("""SELECT typeID, typeName FROM invTypes"""):
        pk, name = row
        try:
            x = name.decode('utf8')
        except:
            continue
        data[long(pk)] = name

    with open('types.json', 'wb') as f:
        f.write(dumps(data))

    sys.stderr.write("Importing Stations...\n")
    data = {}
    for row in conn.execute("""SELECT stationID, solarSystemID FROM staStations"""):
        pk, val = row
        data[long(pk)] = long(val)

    with open('stations.json', 'wb') as f:
        f.write(dumps(data))

    sys.stderr.write("Importing Map...\n")

    from dropbot.map import Map
    map = Map()
    map.from_sde(conn)

    with open('map.json', 'wb') as f:
        f.write(map.to_json())
Example #4
0
    def __init__(self, *args, **kwargs):
        self.rooms = kwargs.pop('rooms', [])
        self.nickname = kwargs.pop('nickname', 'Dropbot')
        self.cmd_prefix = kwargs.pop('cmd_prefix', '!')
        self.kos_url = kwargs.pop('kos_url', 'http://kos.cva-eve.org/api/')
        self.hidden_commands = ['cmd_prefix']
        self.last_killdate = datetime.utcnow()
        self.kill_corps = [int(x) for x in kwargs.pop('kill_corps', [])]
        self.kills_disabled = kwargs.pop('kills_disabled', '0') == '1'
        self.kills_muted = False
        self.office_api_key_keyid = kwargs.pop('office_api_keyid', None)
        self.office_api_key_vcode = kwargs.pop('office_api_vcode', None)
        self.market_systems = kwargs.pop('market_systems', ['Jita', 'Amarr', 'Rens', 'Dodixie', 'Hek'])

        if 'redis_url' in kwargs:
            self.redis_pool = ConnectionPool.from_url(kwargs.pop('redis_url', 'redis://localhost:6379/0'))
            self.redis = Redis(connection_pool=self.redis_pool)
        else:
            logging.warning('No DROPBOT_REDIS_URL defined, EVE API calls will not be cached!')
            self.redis = None
        self.map = Map.from_json(pkgutil.get_data('dropbot', 'data/map.json'))

        jid = kwargs.pop('jid', None)
        password = kwargs.pop('password', None)

        super(DropBot, self).__init__(jid, password)

        self.register_plugin('xep_0030')  # Service Discovery
        self.register_plugin('xep_0045')  # Multi-User Chat
        self.register_plugin('xep_0199')  # XMPP Ping

        # Basic bot auto config
        self.auto_subscribe = False
        self.auto_authorize = True

        # Handlers
        self.add_event_handler('session_start', self.handle_session_start)
        self.add_event_handler('message', self.handle_message)
Example #5
0
 def test_load_from_package_data(self):
     m = Map.from_json(pkgutil.get_data('dropbot', 'data/map.json'))
     self.assertIsNotNone(m)
Example #6
0
 def setUp(self):
     self.map = Map.from_json(pkgutil.get_data('dropbot', 'data/map.json'))
Example #7
0
 def test_load_from_package_data(self):
     """Check the package data can be correctly loaded into the map"""
     m = Map.from_json(pkgutil.get_data('dropbot', 'data/map.json'))
     self.assertIsNotNone(m)
Example #8
0
 def test_load_from_package_data(self):
     """Check the package data can be correctly loaded into the map"""
     m = Map.from_json(pkgutil.get_data('dropbot', 'data/map.json'))
     self.assertIsNotNone(m)
Example #9
0
 def setUp(self):
     self.map = Map.from_json(pkgutil.get_data('dropbot', 'data/map.json'))