From 842b0ab3f7de28f52bf7548c8f29ff5df5304185 Mon Sep 17 00:00:00 2001 From: Haruue Icymoon Date: Thu, 22 Feb 2024 01:32:10 +0800 Subject: [PATCH] feat: load previous download when download fail --- app/internal/utils/geoloader.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/internal/utils/geoloader.go b/app/internal/utils/geoloader.go index 328be68a44..fa9775ba71 100644 --- a/app/internal/utils/geoloader.go +++ b/app/internal/utils/geoloader.go @@ -119,7 +119,10 @@ func (l *GeoLoader) LoadGeoIP() (map[string]*v2geo.GeoIP, error) { return err }) if err != nil { - return nil, err + // as long as the previous download exists, fallback to it + if _, serr := os.Stat(filename); os.IsNotExist(serr) { + return nil, err + } } } m, err := v2geo.LoadGeoIP(filename) @@ -154,7 +157,10 @@ func (l *GeoLoader) LoadGeoSite() (map[string]*v2geo.GeoSite, error) { return err }) if err != nil { - return nil, err + // as long as the previous download exists, fallback to it + if _, serr := os.Stat(filename); os.IsNotExist(serr) { + return nil, err + } } } m, err := v2geo.LoadGeoSite(filename)