def test_unicode_path(self): cfg = Configuration(os.path.join(os.path.dirname(__file__), 'Freezefile.yaml')) cfg.data['common']['database'] = self.db cfg.data['common']['prefix'] = os.path.join(self.d, u'über') cfg.data['common']['query'] = 'SELECT * FROM weather' cfg.data['exports'] = [{'filename': 'weather.csv', 'format': 'csv'}] freeze_with_config(cfg, db=self.db)
def test_exports_fail(self): from dataset.freeze.config import Configuration cfg = Configuration(os.path.join(os.path.dirname(__file__), 'Freezefile.yaml')) cfg.data = None self.assertRaises(FreezeException, list, cfg.exports) cfg.data = {} self.assertRaises(FreezeException, list, cfg.exports)
def test_with_config(self): cfg = Configuration(os.path.join(os.path.dirname(__file__), 'Freezefile.yaml')) cfg.data['common']['database'] = self.db cfg.data['common']['prefix'] = self.d cfg.data['common']['query'] = 'SELECT * FROM weather' cfg.data['exports'] = [ {'filename': '{{identity:count}}.json', 'mode': 'item', 'transform': {'bool': 'identity'}}, {'filename': 'weather.json', 'format': 'tabson'}, {'filename': 'weather.csv', 'fileobj': StringIO(), 'format': 'csv'}, {'filename': 'weather.json', 'fileobj': StringIO(), 'format': 'tabson'}, {'filename': 'weather.json', 'format': 'tabson', 'callback': 'read'}, {'skip': True}] freeze_with_config(cfg, db=self.db) self.assertRaises(FreezeException, freeze_export, Export(cfg.data['common'], {'query': 'SELECT * FROM notable'}))
def test_init(self): from dataset.freeze.config import Configuration self.assertRaises(FreezeException, Configuration, 'x.x') self.assertRaises(FreezeException, Configuration, __file__) cfg = Configuration(os.path.join(os.path.dirname(__file__), 'Freezefile.yaml')) assert cfg
def main(): # pragma: no cover # Set up default logger. logging.basicConfig(level=logging.INFO) try: parser = create_parser() args = parser.parse_args() freeze_with_config(Configuration(args.config), args.db) except FreezeException as fe: log.error(fe)
def test_exports(self): from dataset.freeze.config import Configuration cfg = Configuration(os.path.join(os.path.dirname(__file__), 'Freezefile.yaml')) exports = list(cfg.exports) self.assertEqual(len(exports), 4) self.assertFalse(exports[0].skip) self.assertTrue(exports[0].get_bool('bool')) self.assertEqual(exports[0].get_int('nan', 'default'), 'default') self.assertEqual(exports[0].get_int('number'), 5) self.assertTrue(exports[0].name)
def test_with_config(self): cfg = Configuration( os.path.join(os.path.dirname(__file__), 'Freezefile.yaml')) cfg.data['common']['database'] = self.db cfg.data['common']['prefix'] = self.d cfg.data['common']['query'] = 'SELECT * FROM weather' cfg.data['exports'] = [{ 'filename': '{{identity:count}}.json', 'mode': 'item', 'transform': { 'bool': 'identity' } }, { 'filename': 'weather.json', 'format': 'tabson' }, { 'filename': 'weather.csv', 'fileobj': StringIO(), 'format': 'csv' }, { 'filename': 'weather.json', 'fileobj': StringIO(), 'format': 'tabson' }, { 'filename': 'weather.json', 'format': 'tabson', 'callback': 'read' }, { 'skip': True }] freeze_with_config(cfg, db=self.db) self.assertRaises( FreezeException, freeze_export, Export(cfg.data['common'], {'query': 'SELECT * FROM notable'}))
def test_unicode_path(self): cfg = Configuration( os.path.join(os.path.dirname(__file__), 'Freezefile.yaml')) cfg.data['common']['database'] = self.db cfg.data['common']['prefix'] = os.path.join(self.d, u'über') cfg.data['common']['query'] = 'SELECT * FROM weather' cfg.data['exports'] = [{'filename': 'weather.csv', 'format': 'csv'}] freeze_with_config(cfg, db=self.db)
def main(): try: args = parser.parse_args() config = Configuration(args.config) for export in config.exports: if args.db is not None: export.data['database'] = args.db if export.skip: log.info("Skipping: %s", export.name) continue log.info("Running: %s", export.name) freeze_export(export) except FreezeException, fe: log.error(fe)
def main(): # Set up default logger. logging.basicConfig(level=logging.INFO) try: args = parser.parse_args() config = Configuration(args.config) for export in config.exports: if args.db is not None: export.data['database'] = args.db if export.skip: log.info("Skipping: %s", export.name) continue log.info("Running: %s", export.name) freeze_export(export) except FreezeException as fe: log.error(fe)