Skip to content

Commit

Permalink
Avoid using a redirecting URL (#181)
Browse files Browse the repository at this point in the history
  • Loading branch information
omus committed Jan 23, 2019
1 parent bb2c6ce commit e092a46
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
11 changes: 6 additions & 5 deletions src/tzdata/download.jl
Original file line number Diff line number Diff line change
Expand Up @@ -49,22 +49,23 @@ end
tzdata_url(version="latest") -> AbstractString
Generates a HTTPS URL for the specified tzdata version. Typical version strings are
formatted as 4-digit year followed by a lowercase ASCII letter. Available versions can be
are listed on "ftp://ftp.iana.org/tz/releases/" which start with "tzdata".
formatted as 4-digit year followed by a lowercase ASCII letter. Available versions start
with "tzdata" and are listed on "https://data.iana.org/time-zones/releases/" or
"ftp://ftp.iana.org/tz/releases/".
# Examples
```julia
julia> tzdata_url("2017a")
"https://www.iana.org/time-zones/repository/releases/tzdata2017a.tar.gz"
"https://data.iana.org/time-zones/releases/tzdata2017a.tar.gz"
```
"""
function tzdata_url(version::AbstractString="latest")
# Note: We could also support FTP but the IANA server is unreliable and likely
# to break if working from behind a firewall.
if version == "latest"
"https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz"
"https://data.iana.org/time-zones/tzdata-latest.tar.gz"
else
"https://www.iana.org/time-zones/repository/releases/tzdata$version.tar.gz"
"https://data.iana.org/time-zones/releases/tzdata$version.tar.gz"
end
end

Expand Down
4 changes: 2 additions & 2 deletions test/tzdata/download.jl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using TimeZones.TZData: tzdata_url, tzdata_download, isarchive, LATEST_FILE, read_latest

@test tzdata_url("2016j") == "https://www.iana.org/time-zones/repository/releases/tzdata2016j.tar.gz"
@test tzdata_url("latest") == "https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz"
@test tzdata_url("2016j") == "https://data.iana.org/time-zones/releases/tzdata2016j.tar.gz"
@test tzdata_url("latest") == "https://data.iana.org/time-zones/tzdata-latest.tar.gz"

# Note: Try to keep the number of `tzdata_download` calls low to avoid unnecessary network traffic
mktempdir() do temp_dir
Expand Down

0 comments on commit e092a46

Please sign in to comment.