trap_photo.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import os
  2. import django
  3. import sys
  4. BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目录
  5. sys.path.append(os.path.abspath(os.path.join(BASE_DIR, os.pardir)))
  6. os.environ.setdefault("DJANGO_SETTINGS_MODULE",
  7. "yfwlw_pro.settings") # project_name 项目名称
  8. django.setup()
  9. import json
  10. import time
  11. import requests
  12. import datetime
  13. from apps.ReportManage.all_dict import trap_list
  14. from apps.AppInfoManage.models import Equip, Equip_type, Trapstatus, Trapdata, Trapphoto
  15. print("--------trap_transpond start!-----------")
  16. url = 'http://telemo.org/pest/data/grid/picturedataview.do'
  17. # dat= {'username': 'jkTest','password': '123456','sign':'cf6345abb2ed948a534467d278a79190'} #将携带的参数传给params
  18. # r = requests.get(url, params=dat)
  19. # rec = r.text
  20. # data = json.loads(rec)
  21. # print(data['resultData'][-1])
  22. while True:
  23. time.sleep(3600)
  24. nowtime = datetime.datetime.now().strftime('%Y%m%d')
  25. origin = sys.stdout
  26. f = open('../logs/'+nowtime+'trapphoto.txt','a+')
  27. sys.stdout = f
  28. for i in trap_list:
  29. print("=========================================")
  30. r = requests.get(url, params=i)
  31. rec = r.text
  32. data = json.loads(rec)
  33. # print("data:",data)
  34. try:
  35. trapstatus = data['resultData'][0]
  36. except:
  37. print("-------------continue-------------")
  38. continue
  39. # print("设备位置为:",trapstatus)
  40. imei = trapstatus['dataviewId']
  41. detester = datetime.datetime.strptime(trapstatus['pictureTime'],"%Y-%m-%d %H:%M:%S")
  42. trap_exist = Equip.objects.filter(equip_id=imei)
  43. addr = "http://telemo.org/" + trapstatus['picturePath']
  44. print("time",detester)
  45. print("imei",imei)
  46. print("addr",addr)
  47. # 设备存在:
  48. if trap_exist.exists():
  49. imei = Equip.objects.get(equip_id=imei)
  50. if Trapphoto.objects.filter(addr=addr).exists():
  51. print("------------image exists----------------")
  52. else:
  53. Trapphoto.objects.create(equip_id=imei,addr=addr,upl_time=detester)
  54. print("----------------image upload success-------------------")
  55. else:
  56. print("---------equip not exists------------")
  57. sys.stdout = origin
  58. f.close()