| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- #!/usr/bin/env python
 
- # -*- 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
 
- 		model.insert()
 
- #pic()
 
 
  |