client.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # -*- coding: utf-8 -*-
  2. import dm
  3. import dm.models
  4. import os
  5. import logging
  6. import logging.config
  7. from xml.etree import ElementTree
  8. logging.config.fileConfig("log.ini")
  9. logging.getLogger('urllib3').setLevel(logging.WARN)
  10. client = dm.Client(token="TjMgcEtjGyL2qXZ4", token_secret="xBJS0Oq9j5Hjc8Kq")
  11. def main():
  12. user = client.get_user(8)
  13. logging.info("{} token={} secret={}".format(user, user.credentials.key, user.credentials.secret))
  14. for ingest in client.get_ingests():
  15. logging.info("Found {}".format(ingest))
  16. for obj in client.get_objects():
  17. logging.info("Found {}".format(obj))
  18. ap = client.get_accesspoints('file://')[0]
  19. downloads = {d.object_uuid: d for d in client.get_downloads()}
  20. objects = {obj: obj.uuid for obj in client.get_objects() if obj.label == 'raw'}
  21. for obj, uuid in objects.items():
  22. if uuid in downloads:
  23. download = downloads[uuid]
  24. logging.info("Using download={} for object={}".format(download, obj))
  25. else:
  26. logging.warn("No download for {}".format(obj))
  27. download = obj.create_download(ap)
  28. logging.info("Created {}".format(download))
  29. def delete_objects():
  30. for obj in client.get_objects(predicate=lambda o: o.label == 'foo2'):
  31. try:
  32. client.delete_object(obj)
  33. except dm.exceptions.ArbitraryError as e:
  34. logging.error("Could not delete {}".format(obj))
  35. if __name__ == '__main__':
  36. main()