From fb4afca24367f29a8e8e84e9bcd08be7337c3eb9 Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Sun, 1 Jan 2017 01:19:47 -0500 Subject: [PATCH] Add assets to campaigns' scopes if required. --- README.md | 4 ++-- calefaction/modules/campaigns/__init__.py | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index eb4e7de..40c8c2b 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,9 @@ Guide cp config/config.yml.sample config/config.yml vim config/config.yml # follow instructions cat data/schema.sql | sqlite3 data/db.sqlite3 - mkdir logs + mkdir logs templates/.cache sudo chmod 0600 config/config.yml data/db.sqlite3 - sudo chown www-data:www-data config/config.yml data data/db.sqlite3 logs + sudo chown www-data:www-data config/config.yml data data/db.sqlite3 logs templates/.cache ... # TODO: convert these into scripts, add SDE instructions, add module instructions ### Test diff --git a/calefaction/modules/campaigns/__init__.py b/calefaction/modules/campaigns/__init__.py index 60f1066..41acd6e 100644 --- a/calefaction/modules/campaigns/__init__.py +++ b/calefaction/modules/campaigns/__init__.py @@ -3,3 +3,15 @@ from .getters import get_current, get_overview, get_summary, get_unit from .routes import home, navitem from .._provided import config + +def _get_scopes(): + """Determine the required scopes, depending on enabled operations.""" + for cname in config["enabled"]: + campaign = config["campaigns"][cname] + for opname in campaign["enabled"]: + optype = campaign["operations"][opname]["type"] + if optype == "collection": + return {"esi-assets.read_assets.v1"} + return {} + +SCOPES = _get_scopes()