Skip to content

Commit

Permalink
update settings from sc when script runs locally
Browse files Browse the repository at this point in the history
  • Loading branch information
kalessin committed Sep 3, 2024
1 parent 5763e7b commit b8c3822
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions shub_workflow/script.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
from scrapinghub.client.jobs import Job, JobMeta
from scrapinghub.client.projects import Project

from shub_workflow.utils import get_project_settings
from shub_workflow.utils import get_project_settings, resolve_shub_jobkey
from shub_workflow.utils import (
resolve_project_id,
dash_retry_decorator,
Expand Down Expand Up @@ -224,6 +224,8 @@ def __init__(self):
self.project_settings = get_project_settings()
self.spider_loader = SpiderLoader(self.project_settings)
super().__init__()
if resolve_shub_jobkey() is None:
self.project_settings.setdict(self.get_sc_project_settings(), priority="project")
self.set_flow_id_name(self.args)

class PseudoCrawler:
Expand Down Expand Up @@ -584,10 +586,12 @@ def get_sc_project_settings(self) -> Dict[str, Any]:
"""
Reads real time settings from SC
"""
shkey = self.project_settings["SH_APIKEY"]
return requests.get(
f"https://app.zyte.com/api/settings/get.json?project={self.project_id}", auth=HTTPBasicAuth(shkey, "")
).json()["project_settings"]
shkey = self.project_settings["SH_APIKEY"] or os.environ.get("SH_APIKEY")
if shkey is not None:
return requests.get(
f"https://app.zyte.com/api/settings/get.json?project={self.project_id}", auth=HTTPBasicAuth(shkey, "")
).json()["project_settings"]
return {}


class BaseLoopScriptProtocol(BaseScriptProtocol, Protocol):
Expand Down

0 comments on commit b8c3822

Please sign in to comment.