From e611f4f88f96a8c2be0bebc251f25bde1dd59ca9 Mon Sep 17 00:00:00 2001 From: jgaff Date: Wed, 23 Oct 2019 11:57:41 -0500 Subject: [PATCH 1/2] Support native-login Toolbox --- mdf_forge/forge.py | 13 ++++++++----- setup.py | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/mdf_forge/forge.py b/mdf_forge/forge.py index 8f00e38..fc72f45 100644 --- a/mdf_forge/forge.py +++ b/mdf_forge/forge.py @@ -26,6 +26,7 @@ class Forge(mdf_toolbox.AggregateHelper, mdf_toolbox.SearchHelper): __auth_services = ["data_mdf", "transfer", "search", "petrel"] __anon_services = ["search"] __app_name = "MDF_Forge" + __client_id = "b2b437c4-17c1-4e4b-8f15-e9783e1312d7" __transfer_interval = 60 # 1 minute, in seconds __inactivity_time = 1 * 60 * 60 # 1 hour, in seconds @@ -78,11 +79,13 @@ def __init__(self, index=__default_index, local_ep=None, anonymous=False, clients = (mdf_toolbox.anonymous_login(services) if services else {}) else: services = kwargs.get('services', self.__auth_services) - clients = (mdf_toolbox.login( - credentials={ - "app_name": self.__app_name, - "services": services}, - clear_old_tokens=clear_old_tokens) if services else {}) + if services: + clients = mdf_toolbox.login(services=services, app_name=self.__app_name, + client_id=self.__client_id, + clear_old_tokens=clear_old_tokens) + else: + clients = {} + search_client = kwargs.pop("search_client", clients.get("search", None)) self.__transfer_client = kwargs.get("transfer_client", clients.get("transfer", None)) self.__data_mdf_authorizer = kwargs.get("data_mdf_authorizer", diff --git a/setup.py b/setup.py index 1f8d124..6efcdf4 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='mdf_forge', - version='0.7.4', + version='0.7.5', packages=['mdf_forge'], description='Materials Data Facility python package', long_description=("Forge is the Materials Data Facility Python package" @@ -10,7 +10,7 @@ "Forge allows users to perform simple queries and " "facilitiates moving and synthesizing results."), install_requires=[ - "mdf-toolbox>=0.4.10", + "mdf-toolbox>=0.5.0", "globus-sdk>=1.7.0", "requests>=2.18.4", "tqdm>=4.19.4" From 3966d9a6d49aae1a9af8e7566da657efaa31cf1b Mon Sep 17 00:00:00 2001 From: jgaff Date: Wed, 23 Oct 2019 13:26:51 -0500 Subject: [PATCH 2/2] Travis credentials --- .travis.yml | 3 +-- travis.tar.enc | Bin 20496 -> 10256 bytes 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3e565a0..94872f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,8 +15,7 @@ before_install: - openssl aes-256-cbc -K $encrypted_39a50b90a369_key -iv $encrypted_39a50b90a369_iv -in travis.tar.enc -out travis.tar -d - tar xvf travis.tar -- mkdir -p ~/.mdf/credentials/ -- mv MDF_Forge_tokens.json ~/.mdf/credentials/MDF_Forge_tokens.json +- mv .globus-native-apps.cfg ~/.globus-native-apps.cfg after_success: - coveralls notifications: diff --git a/travis.tar.enc b/travis.tar.enc index 3163d6f1abb27743e881987353f93581b0d138a3..1ad5c5e5c6971b668f03d5507078ec09e774bb01 100644 GIT binary patch literal 10256 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 Wqzk#n=59L?c|N_=hEe)_StGhT3)vL_ literal 20496 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%0ADeTSS*o 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