cbd_save_photo.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import os
  2. import sys
  3. import time
  4. import django
  5. local_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
  6. print(local_path)
  7. if local_path not in sys.path:
  8. sys.path.append(local_path)
  9. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "kedong.settings")
  10. django.setup()
  11. from django.conf import settings
  12. from smartfarming.models.device import MongoDevice, MongoCBDData
  13. from smartfarming.models.worm_forecast import MongoCBDphoto
  14. import json
  15. import requests
  16. import pymongo
  17. from urllib import parse
  18. from kedong.settings import MEDIA_ROOT
  19. my_client = pymongo.MongoClient(host="8.136.98.49", port=27017, username="root", password="yfkj@6020")
  20. my_col = my_client['smartfarming']['sa_device']
  21. scd_device = {
  22. "866547058627400",
  23. "866547058637276",
  24. "866547058633663",
  25. "866547058613921"
  26. }
  27. def dsj_qxz_conf_info():
  28. cbd_photo = MongoCBDphoto.objects.all()
  29. for i in cbd_photo:
  30. device = MongoDevice.objects.get(id=i.device_id)
  31. device_id = device.device_id
  32. addr = "https://bigdata-image.oss-cn-hangzhou.aliyuncs.com/Basics/cbd/" + i.addr
  33. if i.addr == i.indentify_photo:
  34. cbd_path = os.path.join(MEDIA_ROOT, f"cbd/{device_id}")
  35. os.makedirs(cbd_path) if not os.path.exists(cbd_path) else None
  36. file_name = (i.addr).split("/")[-1]
  37. local_addr = os.path.join(cbd_path, file_name)
  38. response = requests.get(addr)
  39. try:
  40. if int(response.status_code) == 200:
  41. with open(local_addr, "wb") as f:
  42. f.write(response.content)
  43. except Exception as e:
  44. print(e)
  45. tb = f"/media/cbd/{device_id}/{file_name}"
  46. i.addr = tb
  47. i.indentify_photo = tb
  48. i.save()
  49. if __name__ == "__main__":
  50. dsj_qxz_conf_info()