From af63f9c3c8f837da6a459463b999617da68a2553 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Tue, 23 Jul 2019 14:01:22 +0200 Subject: [PATCH] Allow setting Shaman JWT token in `SHAMAN_JWT_TOKEN` environment variable I also removed the unused `shaman/auth.py` file. --- CHANGELOG.md | 1 + blender_asset_tracer/pack/shaman/__init__.py | 8 +++++- blender_asset_tracer/pack/shaman/auth.py | 28 -------------------- 3 files changed, 8 insertions(+), 29 deletions(-) delete mode 100644 blender_asset_tracer/pack/shaman/auth.py diff --git a/CHANGELOG.md b/CHANGELOG.md index db5b9fd..d468bc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ changed functionality, fixed bugs). - Migrated from Pipenv to Poetry for managing Python package dependencies. - Windows compatibility fix when using mapped network storage. - Windows compatibility fix when using different assets with the same path but on different drives. +- Allow setting the Shaman JWT authentication token in the `SHAMAN_JWT_TOKEN` environment variable. ## Version 1.1.1 (2019-04-18) diff --git a/blender_asset_tracer/pack/shaman/__init__.py b/blender_asset_tracer/pack/shaman/__init__.py index a995115..21543a3 100644 --- a/blender_asset_tracer/pack/shaman/__init__.py +++ b/blender_asset_tracer/pack/shaman/__init__.py @@ -19,6 +19,7 @@ # (c) 2019, Blender Foundation - Sybren A. Stüvel """Shaman Client interface.""" import logging +import os import pathlib import typing import urllib.parse @@ -56,7 +57,12 @@ class ShamanPacker(bat_pack.Packer): def _get_auth_token(self) -> str: # TODO: get a token from the Flamenco Server. - log.warning('Using temporary hack to get auth token from Shaman') + token_from_env = os.environ.get('SHAMAN_JWT_TOKEN') + if token_from_env: + return token_from_env + + log.warning('Using temporary hack to get auth token from Shaman, ' + 'set SHAMAN_JTW_TOKEN to prevent') unauth_shaman = ShamanClient('', self.shaman_endpoint) resp = unauth_shaman.get('get-token', timeout=10) resp.raise_for_status() diff --git a/blender_asset_tracer/pack/shaman/auth.py b/blender_asset_tracer/pack/shaman/auth.py deleted file mode 100644 index 5878e7a..0000000 --- a/blender_asset_tracer/pack/shaman/auth.py +++ /dev/null @@ -1,28 +0,0 @@ -# ***** BEGIN GPL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# ***** END GPL LICENCE BLOCK ***** -# -# (c) 2019, Blender Foundation - Sybren A. Stüvel -import requests - -token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiIxMjM0NSIsImV4cCI6MTU1MDI0NDUxMiwiaWF0IjoxNTUwMTU4MTEyLCJzdWIiOiJ1c2VyLUlEIn0.oahZHIVBmULFz0JhOjv4-AEN8vdURjGBiIDdZbvW9A2FQWdi0RyrW2KpcHHpKS8KiG81p9pn2bVytMrRJ8Cjmw' - - -def session(): - sess = requests.session() - sess.headers['Authorization'] = 'Bearer ' + token - return sess