Caching support for URLs with port numbers
authorJeremy Stanley <fungi@yuggoth.org>
Sun, 31 May 2020 14:39:34 +0000 (14:39 +0000)
committerJeremy Stanley <fungi@yuggoth.org>
Sun, 31 May 2020 15:11:32 +0000 (15:11 +0000)
When mangling URLs of fetched data to store in the local cache, only
split on the first colon so that URLs with port numbers in them are
properly differentiated. Previously, all URLs for the same domain
name landed in a single file if a port number was included, causing
incorrect results to be returned from the cache.

weather.py

index 1dfa081..71cf0ec 100644 (file)
@@ -212,7 +212,7 @@ def get_uri(
             except (IOError, OSError): pass
         dcache_fn = os.path.join(
             dcachedir,
             except (IOError, OSError): pass
         dcache_fn = os.path.join(
             dcachedir,
-            uri.split(":")[1].replace("/","_")
+            uri.split(":",1)[1].replace("/","_")
         )
     now = time.time()
     if cache_data and os.access(dcache_fn, os.R_OK) \
         )
     now = time.time()
     if cache_data and os.access(dcache_fn, os.R_OK) \