def validate(request): logger.debug('lizard_portal.views.validate') retriever = create_configurations_retriever() configurations = retriever.retrieve_configurations_as_dict() json = simplejson.dumps( {'data': configurations, 'count': len(configurations)}) return HttpResponse(json)
def validate_all(taskname='validate_all', username=None): """Import all currently available configurations. This method is a spike to see whether the import of water balance configurations actually works. As such, it is clearly a work in progress: - there are no unit tests; - it only supports water balance configurations; - dbf files are extracted to a hard-coded directory; - dbf files are not removed after the import; - zip files are not removed after the import; - there is no error handling. """ logger = logging.getLogger(__name__) handler = get_handler(taskname=taskname, username=username) logger.addHandler(handler) retriever = create_configurations_retriever() for configuration in retriever.retrieve_configurations(): zip_file = ZipFile(configuration.zip_file_path) zip_file.extract('aanafvoer_waterbalans.dbf', '/tmp') zip_file.extract('grondwatergebieden.dbf', '/tmp') zip_file.extract('pumpingstations.dbf', '/tmp') dbfimporter = DBFImporter() dbfimporter.logger = logger dbfimporter.fews_meta_info = configuration.meta_info dbfimporter.areas_filepath = '/tmp/aanafvoer_waterbalans.dbf' dbfimporter.buckets_filepath = '/tmp/grondwatergebieden.dbf' dbfimporter.structures_filepath = '/tmp/pumpingstations.dbf' dbfimporter.import_dbf() logger.removeHandler(handler)