def _download_sql_dump(rel, log): target = Path('glottolog-{0}.sql.gz'.format(rel['version'])) log.info('retrieving {0}'.format(rel['sql_dump_url'])) urlretrieve(rel['sql_dump_url'], target.as_posix()) assert md5(target) == rel['sql_dump_md5'] unpacked = target.with_suffix('') with gzip.open(target.as_posix()) as f, unpacked.open('wb') as u: shutil.copyfileobj(f, u) target.unlink() log.info('SQL dump for Glottolog release {0} written to {1}'.format( rel['version'], unpacked))