Esempio n. 1
0
 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)
Esempio n. 2
0
    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)
Esempio n. 3
0
 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'}))
Esempio n. 4
0
    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
Esempio n. 5
0
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)
Esempio n. 6
0
    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)
Esempio n. 7
0
 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'}))
Esempio n. 8
0
 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)
Esempio n. 9
0
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)
Esempio n. 10
0
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)