1234567891011121314151617181920212223242526272829303132333435363738 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- """
- demeter service
- name:record.py 用于记录设备过来的数据
- author:rabin
- """
- from demeter.core import *
- import json
- import time
- class Record(object):
- def topic(self, key):
- array = key.split('/')
- slen = len(array)
- if len >= 4:
- return {'method':array[0], 'type':array[1], 'parent':array[2], 'child':array[3]}
- else:
- return {'method':array[0], 'type':array[1], 'parent':array[2], 'child':array[2]}
- def push(self, key, value):
- config = self.topic(key)
- method = 'record_' + config['method']
- cls = Demeter.getClass(method, 'service.')
- state = False
- if config['method'] != 'pic':
- if '{' in value:
- value = Demeter.isJson(value)
- if value:
- state = True
- for k,v in value.items():
- config['child'] = k
- cls().handle(self, config, v)
- if state == False:
- cls().handle(self, config, value)
- def save(self, config, value, name='', device_type=None):
- Demeter.service('device').save(config,value, name, device_type)
|