def run(self): """ Run the parser. """ with mongo.Mongo() as database: current = self.next() while current: try: addr = self.get_ip(current) if not addr: LOGGER.info('Entry skipped because no specified IP.') current = self.next() continue if not utils.is_managed_ip(addr): LOGGER.debug('Not a managed IP [%s].', addr) current = self.next() continue doc_ts = int( time.mktime(self.get_date(current).timetuple())) if doc_ts < YESTERDAY: LOGGER.debug('This entry is too old [%s].', self.get_date(current)) current = self.next() continue document = { 'ip': addr, 'timestamp': doc_ts, 'weight': self.compute_weight(current), 'source': self.get_source(current), 'raw': self.get_raw(current) } database.push_ip_document(document) except Exception as exc: LOGGER.error('Unexpected error: %s [%s]', type(exc), exc.message) LOGGER.error(traceback.format_exc()) current = self.next() self.close()
def run(self): """ Run the parser. """ with mongo.Mongo() as database: current = self.next() while current: try: addr = self.get_ip(current) if not addr: LOGGER.info('Entry skipped because no specified IP.') current = self.next() continue if not utils.is_managed_ip(addr): LOGGER.debug('Not a managed IP [%s].', addr) current = self.next() continue doc_ts = int(time.mktime(self.get_date(current).timetuple())) if doc_ts < YESTERDAY: LOGGER.debug('This entry is too old [%s].', self.get_date(current)) current = self.next() continue document = { 'ip': addr, 'timestamp': doc_ts, 'weight': self.compute_weight(current), 'source': self.get_source(current), 'raw': self.get_raw(current) } database.push_ip_document(document) except Exception as exc: LOGGER.error('Unexpected error: %s [%s]', type(exc), exc.message) LOGGER.error(traceback.format_exc()) current = self.next() self.close()
def test_is_managed_ip(self): settings.MANAGED_IPS_LIST = "tests/ips.list" self.assertFalse(utils.is_managed_ip("5.146.1.1")) self.assertTrue(utils.is_managed_ip("1.1.0.145"))