void-packages/srcpkgs/weather/patches/10-py3-decode.patch

76 lines
2.8 KiB
Diff

From 2a84a53f4aac0175f75b77e3a73d5a68b6e20ac6 Mon Sep 17 00:00:00 2001
From: Jeremy Stanley <fungi@yuggoth.org>
Date: Fri, 10 Mar 2017 15:13:31 +0000
Subject: [PATCH] Fix Py3K compatibility for compressed correlation
When run under Python 3.x, explicitly decode decompressed
bytestreams if reading pre-compressed correlation data files.
---
weather.py | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/weather.py b/weather.py
index b5b71a1..af43de4 100644
--- weather.py
+++ weather.py
@@ -744,7 +744,10 @@ def guess(
datafile = datafiles[dataname][0]
if datafile.endswith(".gz"):
import gzip
- stations.readfp( gzip.open(datafile) )
+ if pyversion("3"):
+ stations.read_string(
+ gzip.open(datafile).read().decode("utf-8") )
+ else: stations.readfp( gzip.open(datafile) )
else:
stations.read(datafile)
else:
@@ -760,7 +763,9 @@ def guess(
datafile = datafiles[dataname][0]
if datafile.endswith(".gz"):
import gzip
- zones.readfp( gzip.open(datafile) )
+ if pyversion("3"):
+ zones.read_string( gzip.open(datafile).read().decode("utf-8") )
+ else: zones.readfp( gzip.open(datafile) )
else:
zones.read(datafile)
else:
@@ -784,7 +789,10 @@ def guess(
datafile = datafiles[dataname][0]
if datafile.endswith(".gz"):
import gzip
- airports.readfp( gzip.open(datafile) )
+ if pyversion("3"):
+ airports.read_string(
+ gzip.open(datafile).read().decode("utf-8") )
+ else: airports.readfp( gzip.open(datafile) )
else:
airports.read(datafile)
else:
@@ -870,7 +878,10 @@ def guess(
datafile = datafiles[dataname][0]
if datafile.endswith(".gz"):
import gzip
- zctas.readfp( gzip.open(datafile) )
+ if pyversion("3"):
+ zctas.read_string(
+ gzip.open(datafile).read().decode("utf-8") )
+ else: zctas.readfp( gzip.open(datafile) )
else:
zctas.read(datafile)
else:
@@ -925,7 +936,10 @@ def guess(
datafile = datafiles[dataname][0]
if datafile.endswith(".gz"):
import gzip
- places.readfp( gzip.open(datafile) )
+ if pyversion("3"):
+ places.read_string(
+ gzip.open(datafile).read().decode("utf-8") )
+ else: places.readfp( gzip.open(datafile) )
else:
places.read(datafile)
else: