def command(self): from ckanext.dgu.ons.downloader import OnsData, ONS_DEFAULT_CACHE_PATH from ckanext.dgu.ons.importer import OnsImporter from ckanext.dgu.ons.loader import OnsLoader ApiCommand.command(self) log = logging.getLogger(__name__) try: if self.options.days: self.options.days = int(self.options.days) if self.options.start_date: self.options.start_date = self.parse_date(self.options.start_date) if self.options.end_date: self.options.end_date = self.parse_date(self.options.end_date) if self.options.month: self.options.month = self.parse_month(self.options.month) if self.options.months_since: self.options.months_since = self.parse_month(self.options.months_since) if not self.options.ons_cache_dir: self.options.ons_cache_dir = ONS_DEFAULT_CACHE_PATH if self.options.days or \ self.options.start_date or \ self.options.end_date: data_filepaths = OnsData.download_flexible( days=self.options.days, start_date=self.options.start_date, end_date=self.options.end_date, ons_cache_dir=self.options.ons_cache_dir) elif self.options.month: data_filepaths = OnsData.download_month(year=self.options.month.year, month=self.options.month.month) elif self.options.months_since: data_filepaths = OnsData.download_months_since( year=self.options.months_since.year, month=self.options.months_since.month, force_download=self.options.force_download) elif self.options.all_time: data_filepaths = OnsData.download_all(force_download=self.options.force_download) else: self.parser.error('Please specify a time period') filter_ = {} if self.options.publisher: filter_['publisher'] = self.options.publisher stats = StatsList() importer = OnsImporter(filepaths=data_filepaths, ckanclient=self.client, stats=stats, filter_=filter_) loader = OnsLoader(self.client, stats) loader.load_packages(importer.pkg_dict()) log.info('Summary:\n' + stats.report()) except: # Any problem, make sure it gets logged log.exception('ONS Loader exception') raise
def command(self): ApiCommand.command(self) XmlRpcCommand.command(self) if self.options.days: self.options.days = int(self.options.days) if self.options.start_date: self.options.start_date = self.parse_date(self.options.start_date) if self.options.end_date: self.options.end_date = self.parse_date(self.options.end_date) if not self.options.ons_cache_dir: self.options.ons_cache_dir = ONS_DEFAULT_CACHE_PATH if self.options.days or \ self.options.start_date or \ self.options.end_date: data_filepaths = OnsData.download_flexible( days=self.options.days, start_date=self.options.start_date, end_date=self.options.end_date, ons_cache_dir=self.options.ons_cache_dir) elif self.options.all_time: data_filepaths = OnsData.download_all() else: self.parser.error('Please specify a time period') importer = OnsImporter(filepaths=data_filepaths, xmlrpc_settings=self.xmlrpc_settings) loader = OnsLoader(self.client) loader.load_packages(importer.pkg_dict())
def command(self): ApiCommand.command(self) XmlRpcCommand.command(self) if self.options.days: self.options.days = int(self.options.days) if self.options.start_date: self.options.start_date = self.parse_date(self.options.start_date) if self.options.end_date: self.options.end_date = self.parse_date(self.options.end_date) if self.options.days or self.options.start_date or self.options.end_date: data_filepaths = OnsData.download_flexible( days=self.options.days, start_date=self.options.start_date, end_date=self.options.end_date, ons_cache_dir=self.options.ons_cache_dir, ) elif self.options.all_time: data_filepaths = OnsData.download_all() else: self.parser.error("Please specify a time period") importer = OnsImporter(filepaths=data_filepaths, xmlrpc_settings=self.xmlrpc_settings) loader = OnsLoader(self.client) loader.load_packages(importer.pkg_dict())
def command(self): from ckanext.dgu.ons.downloader import OnsData, ONS_DEFAULT_CACHE_PATH from ckanext.dgu.ons.importer import OnsImporter from ckanext.dgu.ons.loader import OnsLoader ApiCommand.command(self) if self.options.days: self.options.days = int(self.options.days) if self.options.start_date: self.options.start_date = self.parse_date(self.options.start_date) if self.options.end_date: self.options.end_date = self.parse_date(self.options.end_date) if self.options.month: self.options.month = self.parse_month(self.options.month) if self.options.months_since: self.options.months_since = self.parse_month(self.options.months_since) if not self.options.ons_cache_dir: self.options.ons_cache_dir = ONS_DEFAULT_CACHE_PATH if self.options.days or \ self.options.start_date or \ self.options.end_date: data_filepaths = OnsData.download_flexible( days=self.options.days, start_date=self.options.start_date, end_date=self.options.end_date, ons_cache_dir=self.options.ons_cache_dir) elif self.options.month: data_filepaths = OnsData.download_month(year=self.options.month.year, month=self.options.month.month) elif self.options.months_since: data_filepaths = OnsData.download_months_since( year=self.options.months_since.year, month=self.options.months_since.month, force_download=self.options.force_download) elif self.options.all_time: data_filepaths = OnsData.download_all(force_download=self.options.force_download) else: self.parser.error('Please specify a time period') importer = OnsImporter(filepaths=data_filepaths, ckanclient=self.client) loader = OnsLoader(self.client) loader.load_packages(importer.pkg_dict())
def command(self): from ckanext.dgu.ons.downloader import OnsData, ONS_DEFAULT_CACHE_PATH from ckanext.dgu.ons.importer import OnsImporter from ckanext.dgu.ons.loader import OnsLoader ApiCommand.command(self) XmlRpcCommand.command(self) if self.options.days: self.options.days = int(self.options.days) if self.options.start_date: self.options.start_date = self.parse_date(self.options.start_date) if self.options.end_date: self.options.end_date = self.parse_date(self.options.end_date) if not self.options.ons_cache_dir: self.options.ons_cache_dir = ONS_DEFAULT_CACHE_PATH if self.options.days or \ self.options.start_date or \ self.options.end_date: data_filepaths = OnsData.download_flexible( days=self.options.days, start_date=self.options.start_date, end_date=self.options.end_date, ons_cache_dir=self.options.ons_cache_dir) elif self.options.all_time: data_filepaths = OnsData.download_all() else: self.parser.error('Please specify a time period') importer = OnsImporter(filepaths=data_filepaths, xmlrpc_settings=self.xmlrpc_settings) loader = OnsLoader(self.client) loader.load_packages(importer.pkg_dict())
def command(self): from ckanext.dgu.ons.downloader import OnsData, ONS_DEFAULT_CACHE_PATH from ckanext.dgu.ons.importer import OnsImporter from ckanext.dgu.ons.loader import OnsLoader ApiCommand.command(self) log = logging.getLogger(__name__) try: if self.options.days: self.options.days = int(self.options.days) if self.options.start_date: self.options.start_date = self.parse_date( self.options.start_date) if self.options.end_date: self.options.end_date = self.parse_date(self.options.end_date) if self.options.month: self.options.month = self.parse_month(self.options.month) if self.options.months_since: self.options.months_since = self.parse_month( self.options.months_since) if not self.options.ons_cache_dir: self.options.ons_cache_dir = ONS_DEFAULT_CACHE_PATH if self.options.days or \ self.options.start_date or \ self.options.end_date: data_filepaths = OnsData.download_flexible( days=self.options.days, start_date=self.options.start_date, end_date=self.options.end_date, ons_cache_dir=self.options.ons_cache_dir) elif self.options.month: data_filepaths = OnsData.download_month( year=self.options.month.year, month=self.options.month.month) elif self.options.months_since: data_filepaths = OnsData.download_months_since( year=self.options.months_since.year, month=self.options.months_since.month, force_download=self.options.force_download) elif self.options.all_time: data_filepaths = OnsData.download_all( force_download=self.options.force_download) else: self.parser.error('Please specify a time period') filter_ = {} if self.options.publisher: filter_['publisher'] = self.options.publisher stats = StatsList() importer = OnsImporter(filepaths=data_filepaths, ckanclient=self.client, stats=stats, filter_=filter_) loader = OnsLoader(self.client, stats) loader.load_packages(importer.pkg_dict()) log.info('Summary:\n' + stats.report()) except: # Any problem, make sure it gets logged log.exception('ONS Loader exception') raise