Skip to content

Commit

Permalink
try catch
Browse files Browse the repository at this point in the history
  • Loading branch information
BinamB committed Aug 4, 2020
1 parent b316c3f commit 4e308dd
Showing 1 changed file with 22 additions and 21 deletions.
43 changes: 22 additions & 21 deletions fence/resources/openid/ras_oauth2.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,26 +98,27 @@ def get_user_id(self, code):
return {"username": username}

def update_visa(self, user, token, userinfo_endpoint):
# use the get userinfo endpoint to get visa
userinfo = self.get_userinfo(token, userinfo_endpoint)
encoded_visas = userinfo.get("ga4gh_passport_v1", [])
# remove old one from db
user.ga4gh_visas_v1 = []

for encoded_visa in encoded_visas:
decoded_visa = jwt2.decode(encoded_visa, verify=False)
# add it to db
visa = GA4GHVisaV1(
user=user,
source=decoded_visa["ga4gh_visa_v1"]["source"],
type=decoded_visa["ga4gh_visa_v1"]["type"],
asserted=int(decoded_visa["ga4gh_visa_v1"]["asserted"]),
expires=int(decoded_visa["exp"]),
ga4gh_visa=encoded_visa,
)

current_db_session = current_session.object_session(visa)
try:
userinfo = self.get_userinfo(token, userinfo_endpoint)
encoded_visas = userinfo.get("ga4gh_passport_v1", [])
user.ga4gh_visas_v1 = []

for encoded_visa in encoded_visas:
decoded_visa = jwt2.decode(encoded_visa, verify=False)
visa = GA4GHVisaV1(
user=user,
source=decoded_visa["ga4gh_visa_v1"]["source"],
type=decoded_visa["ga4gh_visa_v1"]["type"],
asserted=int(decoded_visa["ga4gh_visa_v1"]["asserted"]),
expires=int(decoded_visa["exp"]),
ga4gh_visa=encoded_visa,
)

current_db_session = current_session.object_session(visa)

current_db_session.add(visa)
current_session.commit()
# update it to fence's userinfo endpoint
current_db_session.add(visa)
current_session.commit()
except Exception as e:
err_msg = "Could not update visa"
self.logger.exception("{}: {}".format(err_msg, e))

0 comments on commit 4e308dd

Please sign in to comment.