def test_medianet_format(self): filename = 'ED_841066_2_1.tst' dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', filename) self.provider['source'] = 'MNET' self.items = ZCZCParser().parse_file(fixture, self.provider) self.assertEqual(self.items.get('headline'), 'Australian Financial Security Authority')
def test_racing_format(self): filename = 'viflda004_7257.tst' dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', filename) self.provider['source'] = 'BRA' self.items = ZCZCParser().parse_file(fixture, self.provider) self.assertEqual(self.items.get('headline'), ' Racing.Com Park FIELDS Thursday') self.assertEqual(self.items.get('anpa_category')[0]['qcode'], 'r') self.assertEqual(self.items.get('subject')[0]['qcode'], '15030001')
def test_pagemasters_format(self): filename = 'Darwin GR - Greys - Sun 11 Oct, 2015.tst' dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', filename) self.provider['source'] = 'PMF' self.items = ZCZCParser().parse_file(fixture, self.provider) self.assertEqual(self.items.get('headline'), 'Darwin Greyhound Fields Sunday') self.assertEqual(self.items.get('slugline'), 'Darwin Grey') self.assertEqual(self.items.get('anpa_category')[0]['qcode'], 'r') self.assertEqual(self.items.get('subject')[0]['qcode'], '15082002')
def test_default_format(self): filename = 'Standings__2014_14_635535729050675896.tst' dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', filename) self.provider['source'] = 'SOMETHING' self.items = ZCZCParser().parse_file(fixture, self.provider) self.assertEqual( self.items.get('headline'), 'MOTOR: Collated results/standings after Sydney NRMA 500') self.assertEqual(self.items.get('anpa_category')[0]['qcode'], 'T') self.assertEqual(self.items.get('subject')[0]['qcode'], '15039001') self.assertIn('versioncreated', self.items)
class TeletypeIngestService(FileIngestService): PROVIDER = 'teletype' ERRORS = [ParserError.ZCZCParserError().get_error_description(), ProviderError.ingestError().get_error_description(), ParserError.parseFileError().get_error_description()] def __init__(self): self.parser = ZCZCParser() def _update(self, provider): self.provider = provider self.path = provider.get('config', {}).get('path', None) if not self.path: logger.info('No path') return [] for filename in get_sorted_files(self.path, sort_by=FileSortAttributes.created): try: filepath = os.path.join(self.path, filename) if os.path.isfile(filepath): stat = os.lstat(filepath) last_updated = datetime.fromtimestamp(stat.st_mtime, tz=utc) if self.is_latest_content(last_updated, provider.get('last_updated')): item = self.parser.parse_file(filepath, provider) self.move_file(self.path, filename, provider=provider, success=True) yield [item] else: self.move_file(self.path, filename, provider=provider, success=True) except Exception as ex: self.move_file(self.path, filename, provider=provider, success=False) raise ParserError.parseFileError('Teletype', filename, ex, provider) def parse_file(self, filename, provider): try: path = provider.get('config', {}).get('path', None) if not path: return [] item = self.parser.parse_file(os.path.join(path, filename), provider) return [item] except Exception as ex: self.move_file(self.path, filename, provider=provider, success=False) raise ParserError.parseFileError('Teletype', filename, ex, provider)
class ZCZCTestCase(unittest.TestCase): filename = 'Standings__2014_14_635535729050675896.tst' def setUp(self): dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', self.filename) self.items = ZCZCParser().parse_file(fixture, self) def test_headline(self): self.assertEqual(self.items.get('headline'), 'MOTOR: Collated results/standings after Sydney NRMA 500') def test_anpa_category(self): self.assertEqual(self.items.get('anpa_category')[0]['qcode'], 'T') def test_subject(self): self.assertEqual(self.items.get('subject')[0]['qcode'], '15039001') def test_version_created(self): self.assertIn('versioncreated', self.items)
def test_default_format(self): filename = 'Standings__2014_14_635535729050675896.tst' dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', filename) self.provider['source'] = 'SOMETHING' self.items = ZCZCParser().parse_file(fixture, self.provider) self.assertEqual(self.items.get('headline'), 'MOTOR: Collated results/standings after Sydney NRMA 500') self.assertEqual(self.items.get('anpa_category')[0]['qcode'], 'T') self.assertEqual(self.items.get('subject')[0]['qcode'], '15039001') self.assertIn('versioncreated', self.items)
class ZCZCTestCase(unittest.TestCase): provider = {'name': 'test provder', 'provider': {}} def test_default_format(self): filename = 'Standings__2014_14_635535729050675896.tst' dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', filename) self.provider['source'] = 'SOMETHING' self.items = ZCZCParser().parse_file(fixture, self.provider) self.assertEqual(self.items.get('headline'), 'MOTOR: Collated results/standings after Sydney NRMA 500') self.assertEqual(self.items.get('anpa_category')[0]['qcode'], 'T') self.assertEqual(self.items.get('subject')[0]['qcode'], '15039001') self.assertIn('versioncreated', self.items) def test_medianet_format(self): filename = 'ED_841066_2_1.tst' dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', filename) self.provider['source'] = 'MNET' self.items = ZCZCParser().parse_file(fixture, self.provider) self.assertEqual(self.items.get('headline'), 'Australian Financial Security Authority') def test_pagemasters_format(self): filename = 'Darwin GR - Greys - Sun 11 Oct, 2015.tst' dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', filename) self.provider['source'] = 'PMF' self.items = ZCZCParser().parse_file(fixture, self.provider) self.assertEqual(self.items.get('headline'), 'Darwin Greyhound Fields Sunday') self.assertEqual(self.items.get('slugline'), 'Darwin Grey') self.assertEqual(self.items.get('anpa_category')[0]['qcode'], 'r') self.assertEqual(self.items.get('subject')[0]['qcode'], '15082002') def test_racing_format(self): filename = 'viflda004_7257.tst' dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', filename) self.provider['source'] = 'BRA' self.items = ZCZCParser().parse_file(fixture, self.provider) self.assertEqual(self.items.get('headline'), ' Racing.Com Park FIELDS Thursday') self.assertEqual(self.items.get('anpa_category')[0]['qcode'], 'r') self.assertEqual(self.items.get('subject')[0]['qcode'], '15030001')
class ZCZCTestCase(unittest.TestCase): filename = 'Standings__2014_14_635535729050675896.tst' def setUp(self): dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', self.filename) self.items = ZCZCParser().parse_file(fixture, self) def test_headline(self): self.assertEqual( self.items.get('headline'), 'MOTOR: Collated results/standings after Sydney NRMA 500') def test_anpa_category(self): self.assertEqual(self.items.get('anpa-category')['qcode'], 'T') def test_subject(self): self.assertEqual(self.items.get('subject')[0]['qcode'], '15039001') def test_version_created(self): self.assertIn('versioncreated', self.items)
def __init__(self): self.parser = ZCZCParser()
def setUp(self): dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', self.filename) self.items = ZCZCParser().parse_file(fixture, self)
class TeletypeIngestService(FileIngestService): PROVIDER = 'teletype' ERRORS = [ ParserError.ZCZCParserError().get_error_description(), ProviderError.ingestError().get_error_description(), ParserError.parseFileError().get_error_description() ] def __init__(self): self.parser = ZCZCParser() def _update(self, provider): self.provider = provider self.path = provider.get('config', {}).get('path', None) if not self.path: logger.info('No path') return [] for filename in get_sorted_files(self.path, sort_by=FileSortAttributes.created): try: filepath = os.path.join(self.path, filename) if os.path.isfile(filepath): stat = os.lstat(filepath) last_updated = datetime.fromtimestamp(stat.st_mtime, tz=utc) if self.is_latest_content(last_updated, provider.get('last_updated')): item = self.parser.parse_file(filepath, provider) self.move_file(self.path, filename, provider=provider, success=True) yield [item] else: self.move_file(self.path, filename, provider=provider, success=True) except Exception as ex: self.move_file(self.path, filename, provider=provider, success=False) raise ParserError.parseFileError('Teletype', filename, ex, provider) def parse_file(self, filename, provider): try: path = provider.get('config', {}).get('path', None) if not path: return [] item = self.parser.parse_file(os.path.join(path, filename), provider) return [item] except Exception as ex: self.move_file(self.path, filename, provider=provider, success=False) raise ParserError.parseFileError('Teletype', filename, ex, provider)
class ZCZCTestCase(unittest.TestCase): provider = {'name': 'test provder', 'provider': {}} def test_default_format(self): filename = 'Standings__2014_14_635535729050675896.tst' dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', filename) self.provider['source'] = 'SOMETHING' self.items = ZCZCParser().parse_file(fixture, self.provider) self.assertEqual( self.items.get('headline'), 'MOTOR: Collated results/standings after Sydney NRMA 500') self.assertEqual(self.items.get('anpa_category')[0]['qcode'], 'T') self.assertEqual(self.items.get('subject')[0]['qcode'], '15039001') self.assertIn('versioncreated', self.items) def test_medianet_format(self): filename = 'ED_841066_2_1.tst' dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', filename) self.provider['source'] = 'MNET' self.items = ZCZCParser().parse_file(fixture, self.provider) self.assertEqual(self.items.get('headline'), 'Australian Financial Security Authority') def test_pagemasters_format(self): filename = 'Darwin GR - Greys - Sun 11 Oct, 2015.tst' dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', filename) self.provider['source'] = 'PMF' self.items = ZCZCParser().parse_file(fixture, self.provider) self.assertEqual(self.items.get('headline'), 'Darwin Greyhound Fields Sunday') self.assertEqual(self.items.get('slugline'), 'Darwin Grey') self.assertEqual(self.items.get('anpa_category')[0]['qcode'], 'r') self.assertEqual(self.items.get('subject')[0]['qcode'], '15082002') def test_racing_format(self): filename = 'viflda004_7257.tst' dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.join(dirname, 'fixtures', filename) self.provider['source'] = 'BRA' self.items = ZCZCParser().parse_file(fixture, self.provider) self.assertEqual(self.items.get('headline'), ' Racing.Com Park FIELDS Thursday') self.assertEqual(self.items.get('anpa_category')[0]['qcode'], 'r') self.assertEqual(self.items.get('subject')[0]['qcode'], '15030001')