From 54bbbb36a6022154720dd152114a22c69529586c Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Mon, 30 Dec 2019 13:58:56 -0800 Subject: [PATCH] Fix Geolite2 db extraction on Windows --- plexpy/helpers.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plexpy/helpers.py b/plexpy/helpers.py index f8256ce1..9f7c764c 100644 --- a/plexpy/helpers.py +++ b/plexpy/helpers.py @@ -644,14 +644,16 @@ def install_geoip_db(update=False): # Extract the GeoLite2 database file logger.debug(u"Tautulli Helpers :: Extracting GeoLite2 database...") try: + mmdb = None with tarfile.open(temp_gz, 'r:gz') as tar: - for tarinfo in tar: - if tarinfo.isdir(): - member = tar.getmember(os.path.join(tarinfo.name, geolite2_db)) + for member in tar.getmembers(): + if geolite2_db in member.name: mmdb = tar.extractfile(member) with open(geolite2_db_path, 'wb') as db: db.write(mmdb.read()) break + if not mmdb: + raise Exception("{} not found in gzip file.".format(geolite2_db)) except Exception as e: logger.error(u"Tautulli Helpers :: Failed to extract the GeoLite2 database: %s" % e) return False