def handle(self, args): """Handles the command.""" try: logger().info('> Clearing the dataset...') DatabaseHelper.clear() SeedCommand(self.application).handle(args) except KeyboardInterrupt: logger().warning('Refreshing was canceled.')
def handle(self, args: argparse.Namespace): """ Handles the command. Args: args: The command arguments """ try: logger = logging.logger() logger.info('> Clearing datasets...') datasets.Database.clear() seed.SeedCommand(self.application).handle(args) except KeyboardInterrupt: self._parser.terminate('Refreshing was canceled.')
def handle(self, args: argparse.Namespace): """ Handles the command. Args: args: The command arguments """ if not args.format: self._parser.error( 'You need to give the output format you want to encode.') i18n.Translator.locale = args.locale logger = logging.logger() try: encoder = encoders.EncoderFactory.fromFormat(args.format) serializer = serializers.Serializer(**encoder.serializationOptions) entity_map = dict(zip(schema.TABLES, schema.ENTITIES)) logger.info('Encoding dataset to %s format...', encoder.format.friendlyName) dataset_dir = io.Directory(io.Path.DATA_DIR / args.locale) dataset_dir.create(parents=True) with dataset_dir: if encoder.format.isFlatFile: for table in args.tables: table_name = i18n._(table) entity = (entity_map.get(table),) encoder.encodeToFile( serializer.serialize(entity).get(table_name), '{dataset_name}-{table_name}{extension}'.format( dataset_name=i18n._('dataset_name'), table_name=table_name, extension=encoder.format.extension)) return encoder.encodeToFile( serializer.serialize(tuple(entity_map.get(table) for table in args.tables)), i18n._('dataset_name') + encoder.format.extension) except encoders.EncodeError: self._parser.error('Failed to encode dataset.') except KeyboardInterrupt: self._parser.terminate('Encoding was canceled.')
def handle(self, args): """Handles the command.""" try: DatabaseHelper.create() for entity in Entities: logger().info('> Seeding table "%s"...', entity.__table__.name) try: SeederFactory(entity).run() except NothingToSeedError: logger().warning('Nothing to seed.') except KeyboardInterrupt: logger().warning('Seeding was canceled.')
def handle(self, args: argparse.Namespace): """ Handles the command. Args: args: The command arguments """ try: logger = logging.logger() datasets.Database.create() for entity in schema.ENTITIES: logger.info('> Seeding dataset "%s"...', entity.__table__.name) try: seeders.SeederFactory.fromEntity(entity).run() except seeders.NothingToSeedError: logger.warning('Nothing to seed.') except KeyboardInterrupt: self._parser.terminate('Seeding was canceled.')
def handle(self, args: argparse.Namespace): """ Handles the command. Args: args: The command arguments """ try: encoder = encode.EncodeCommand(self.application) logger = logging.logger() for locale in args.locales: i18n.Translator.locale = locale logger.info('> Building locale: %s', locale) dataset_dir = io.Directory(io.Path.DATA_DIR / locale) dataset_dir.create(parents=True) with dataset_dir: for dataset_format in args.formats: encoder.configure() encoder.handle(encoder.parse([ '--format', dataset_format, '--locale', locale])) logger.info('Generating dataset README file...') documentation.DatasetReadme(dataset_dir).write() logger.info('Generating project README file...') documentation.ProjectReadme().write() except encoders.EncodeError: self._parser.error('Failed to build dataset.') except KeyboardInterrupt: self._parser.terminate('Building was canceled.')
def handle(self, args: Namespace): """Handles the command.""" if not args.format: self._parser.error( 'You need to give the output format you want to encode.') Translator.locale = args.locale try: encoder = EncoderFactory.fromFormat(args.format) logger().info('Encoding dataset to %s format...', encoder.format().friendlyName) serializer = encoder.serializer(**encoder.serializationOptions) encoder.encodeToFile(serializer.serialize(), args.filename) except EncodeError: logger().error('Failed to encode dataset.') except KeyboardInterrupt: logger().info('Encoding was canceled.')
def handle(self, args): """Handles the command.""" try: for locale in args.locales: Translator.locale = locale logger().info('> Building locale: %s', locale) dataset_dir = DATA_DIR / locale dataset_dir.create(parents=True) with dataset_dir: for dataset_format in args.formats: encoder = EncoderFactory.fromFormat(dataset_format) logger().info('Encoding dataset to %s format...', encoder.format().friendlyName) serializer = encoder.serializer( **encoder.serializationOptions) encoder.encodeToFile(serializer.serialize()) logger().info('Generating dataset README file...') DatasetReadme(dataset_dir).write() logger().info('Generating project README file...') ProjectReadme().write() except EncodeError: logger().error('Failed to encode dataset.') except KeyboardInterrupt: logger().info('Building was canceled.')