dever 5 anos atrás
pai
commit
65c84b17c4
4 arquivos alterados com 66 adições e 74 exclusões
  1. 0 70
      service/cron/pic.py
  2. 1 1
      service/cron/queuedrop.py
  3. 64 2
      service/cron/savepic.py
  4. 1 1
      service/cron/timing.py

+ 0 - 70
service/cron/pic.py

@@ -1,70 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-    demeter web
-    name:pub.py
-    author:rabin
-"""
-from demeter.core import *
-import oss2
-from itertools import islice
-from datetime import *
-
-key = 'xinnongbaohe'
-host = 'oss-cn-shanghai.aliyuncs.com'
-appId = 'LTAIsuklCbkXzpgt'
-appSecret = 'M4d7xLxY0bVE034rTL84MEasG8Q8YZ'
-
-url = 'http://'+key+'.'+host+'/'
-auth = oss2.Auth(appId, appSecret)
-endpoint = 'http://' + host
-bucket = oss2.Bucket(auth, endpoint, key)
-fix = '.jpg'
-
-def pic():
-	model = Demeter.model('device_info')
-	model.hardware_type = 6
-	data = model.select()
-	if data:
-		for value in data:
-			if url in value['value']:
-				prefix = value['value'].replace(url, '')
-				prefix = prefix.replace(fix, '')
-				ossLoad(value, prefix)
-
-def ossLoad(value, prefix, marker=''):
-	#data = oss2.ObjectIterator(bucket, prefix=prefix)
-	data = bucket.list_objects(prefix=prefix, marker=marker, max_keys=100)
-	
-	if data.is_truncated == True:
-		ossLoad(value, prefix, data.next_marker)
-	elif data.object_list:
-		pics = []
-		for v in data.object_list:
-			pics.append((v.key, v.last_modified))
-		for v in pics[-10:]:
-			savePic(value, v[0], v[1])
-	#oss2.resumable_download(bucket, 'remote.txt', 'local.txt')
-
-def savePic(value, file, cur):
-	spic = url + file
-	model = Demeter.model('device_pic')
-	model.spic = spic
-	data = model.select()
-	if not data:
-		day = str(date.today())
-		day = day.split('-')
-		file_name =  spic
-		file_path = day[0] + '/' + day[1] + '/' + day[2]
-		file_path = File.mkdirs(os.path.join(Demeter.path, 'runtime','camera', file_path)) + '/' + Demeter.md5(file_name) + '.jpg'
-
-		oss2.resumable_download(bucket, file, file_path)
-		model.pic = file_path.replace(Demeter.path + 'runtime', '')
-		model.spic = spic
-		model.farm_id = value['farm_id']
-		model.gateway_id = value['gateway_id']
-		model.device_id = value['id']
-		model.sdate = cur
-		id = model.insert()
-		if id:
-			bucket.delete_object(file)
-#pic()

+ 1 - 1
service/cron/queuedrop.py

@@ -20,5 +20,5 @@ class Queuedrop(object):
 		model = Demeter.model('device_mul_queue')
 		model.status = 4
 		cur = Demeter.time() - num
-		model.operdate.assgin(cur, '<=')
+		model.operdate.assign(cur, '<=')
 		model.delete()

+ 64 - 2
service/cron/savepic.py

@@ -6,9 +6,22 @@
 """
 import time
 from demeter.core import *
-from pic import pic
+import oss2
+from itertools import islice
+from datetime import *
 timeSleep = 1800
 
+key = 'xinnongbaohe'
+host = 'oss-cn-shanghai.aliyuncs.com'
+appId = 'LTAIsuklCbkXzpgt'
+appSecret = 'M4d7xLxY0bVE034rTL84MEasG8Q8YZ'
+
+url = 'http://'+key+'.'+host+'/'
+auth = oss2.Auth(appId, appSecret)
+endpoint = 'http://' + host
+bucket = oss2.Bucket(auth, endpoint, key)
+fix = '.jpg'
+
 # 更改控制设备的超时状态
 class Savepic(object):
 
@@ -17,4 +30,53 @@ class Savepic(object):
 		time.sleep(timeSleep)
 
 	def handle(self):
-		pic()
+		pic()
+
+def pic():
+	model = Demeter.model('device_info')
+	model.hardware_type = 6
+	data = model.select()
+	if data:
+		for value in data:
+			if url in value['value']:
+				prefix = value['value'].replace(url, '')
+				prefix = prefix.replace(fix, '')
+				ossLoad(value, prefix)
+
+def ossLoad(value, prefix, marker=''):
+	#data = oss2.ObjectIterator(bucket, prefix=prefix)
+	data = bucket.list_objects(prefix=prefix, marker=marker, max_keys=100)
+	
+	if data.is_truncated == True:
+		ossLoad(value, prefix, data.next_marker)
+	elif data.object_list:
+		pics = []
+		for v in data.object_list:
+			pics.append((v.key, v.last_modified))
+		for v in pics[-10:]:
+			savePic(value, v[0], v[1])
+	#oss2.resumable_download(bucket, 'remote.txt', 'local.txt')
+
+def savePic(value, file, cur):
+	spic = url + file
+	model = Demeter.model('device_pic')
+	model.spic = spic
+	data = model.select()
+	if not data:
+		day = str(date.today())
+		day = day.split('-')
+		file_name =  spic
+		file_path = day[0] + '/' + day[1] + '/' + day[2]
+		file_path = File.mkdirs(os.path.join(Demeter.path, 'runtime','camera', file_path)) + '/' + Demeter.md5(file_name) + '.jpg'
+
+		oss2.resumable_download(bucket, file, file_path)
+		model.pic = file_path.replace(Demeter.path + 'runtime', '')
+		model.spic = spic
+		model.farm_id = value['farm_id']
+		model.gateway_id = value['gateway_id']
+		model.device_id = value['id']
+		model.sdate = cur
+		id = model.insert()
+		if id:
+			bucket.delete_object(file)
+#pic()

+ 1 - 1
service/cron/timing.py

@@ -23,7 +23,7 @@ class Timing(object):
 		model = Demeter.model('device_set_timing')
 		model.status = 0
 		cur = Demeter.time()
-		model.zdate.assgin(cur, '<=')
+		model.zdate.assign(cur, '<=')
 		data = model.select()
 		if data:
 			for value in data: