fix recursion
This commit is contained in:
13
newpower2.py
13
newpower2.py
@@ -165,6 +165,12 @@ class KubraProvider(BaseProvider):
|
|||||||
meta_url = self.config.get('meta_url')
|
meta_url = self.config.get('meta_url')
|
||||||
if not meta_url: return []
|
if not meta_url: return []
|
||||||
|
|
||||||
|
# Fetch hexes ONCE per run, not in the recursive loop.
|
||||||
|
self.hex1, self.hex2 = self._get_hexes(meta_url)
|
||||||
|
if not self.hex1 or not self.hex2:
|
||||||
|
logger.error(f"[{self.name}] Could not get session hex keys. Aborting fetch for this provider.")
|
||||||
|
return []
|
||||||
|
|
||||||
quadkeys = self.config.get('quadkeys', [])
|
quadkeys = self.config.get('quadkeys', [])
|
||||||
|
|
||||||
self.results = []
|
self.results = []
|
||||||
@@ -181,11 +187,8 @@ class KubraProvider(BaseProvider):
|
|||||||
|
|
||||||
def _fetch_recursive(self, quadkeys, seen, zoom):
|
def _fetch_recursive(self, quadkeys, seen, zoom):
|
||||||
for q in quadkeys:
|
for q in quadkeys:
|
||||||
# --- CRITICAL FIX: Get fresh hexes on each recursive call ---
|
suffix = q[-3:][::-1]
|
||||||
hex1, hex2 = self._get_hexes(self.config.get('meta_url'))
|
url = f"{self.base_url_template}{suffix}/{self.hex1}/{self.hex2}/public/{self.config.get('layer')}/{q}.json"
|
||||||
if not hex1 or not hex2:
|
|
||||||
logger.error(f"[{self.name}] Failed to get current hex values. Aborting fetch for this branch.")
|
|
||||||
continue
|
|
||||||
try:
|
try:
|
||||||
resp = self.session.get(url)
|
resp = self.session.get(url)
|
||||||
if not resp.ok:
|
if not resp.ok:
|
||||||
|
|||||||
Reference in New Issue
Block a user