services.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. from django.db.models import Q
  2. import os
  3. import logging
  4. from adm.constants import CTS as cts
  5. from adm.models import *
  6. import sys
  7. from google.oauth2 import service_account
  8. logger = logging.getLogger('dsp')
  9. class CredentialService():
  10. def __init__(self, credentialType):
  11. self.credentialType = credentialType
  12. self.credentials = None
  13. if cts.STORAGE_TYPE == "GCP":
  14. baseDir = os.path.dirname(os.path.realpath(__file__))
  15. pathCredentials = baseDir + "/auth/%s.json" % (self.credentialType)
  16. self.credentials = service_account.Credentials.from_service_account_file(pathCredentials)
  17. def credentials_account(self):
  18. return self.credentials
  19. class ParameterService():
  20. def getParameterById(self, id_parameter):
  21. return Parameters.objects.get(pk=id_parameter)
  22. def getParameterByKey(self, key):
  23. params_set = Parameters.objects.filter(key=key)
  24. if params_set.exists() and params_set.count() > 0:
  25. return params_set[0]
  26. else:
  27. return None
  28. def getParameterValueByKey(self, key, defaultValue):
  29. params_set = Parameters.objects.filter(key=key)
  30. if params_set.exists() and params_set.count() > 0:
  31. parameter = params_set[0]
  32. value = parameter.value
  33. if str(parameter.key_type).upper() == 'INTEGER':
  34. return int(value)
  35. elif str(parameter.key_type).upper() == 'STRING':
  36. return str(value)
  37. elif str(parameter.key_type).upper() == 'DOUBLE' or str(parameter.key_type).upper() == 'FLOAT':
  38. return float(value)
  39. elif str(parameter.key_type).upper() == 'BOOLEAN' or str(parameter.key_type).upper() == 'BOOL':
  40. return bool(value)
  41. else:
  42. return value
  43. else:
  44. return defaultValue
  45. return None
  46. def setParameterValue(self, key, value):
  47. params_set = Parameters.objects.filter(key=key)
  48. if params_set.exists() and params_set.count() > 0:
  49. parameter = params_set[0]
  50. parameter.value = str(value)
  51. parameter.save()
  52. return None