示例#1
0
def list_contracts():
    """
    列举所有已订阅的合约代码
    :return:
    """
    service = instance.serviceManager.get('main')
    symbols = service.getSymbols()
    instance.getLogger().debug(' call list_contracts()..')
    return CR().assign(symbols).response
示例#2
0
def subscribe():
    """
    订阅指定的合约代码
    :return:
    """
    symbols = request.get_json()
    service = instance.serviceManager.get('main')
    service.subscribe(*symbols)
    instance.getLogger().debug(str(symbols))
    return CR().response
示例#3
0
def token_decode(token):
    auth = None
    try:
        data = base64.b64decode(token)
        data = json.loads(data)
        return data
        auth = AuthToken()
        object_assign(auth, data)

    except:
        instance.getLogger().warn('Request Token is invalid. Token: {}'.format(
            str(token)))
    return auth
示例#4
0
def init_plugins():
    cfgs = instance.getConfig().get('plugins', [])
    for name in cfgs:
        cfg = instance.getConfig().get(name)
        if not cfg:
            instance.getLogger().warning("plugin:{} not found!".format(name))
            continue
        plugin_type = cfg.get('type', 'undefined')
        classpath = 'mantis.fundamental.plugin.p_{}.MainClass'.format(
            plugin_type)
        classpath = cfg.get('class', classpath)
        CLS = import_class(classpath)
        plugin = CLS(name)
        plugin.init(cfg)
        instance.registerPlugin(plugin)
示例#5
0
    def __init__(self, name):
        BaseService.__init__(self, name)
        self.logger = instance.getLogger()
        self.servers = {}
        self.adapters = {}

        self.apps = {}  # app 软件连接进入
示例#6
0
    def init(self, **kwargs):
        self.cfgs.update(kwargs)
        self.redis = instance.datasourceManager.get('redis').conn
        self.logger = instance.getLogger()
        gevent.spawn(self.messageProcessTask)

        self.initBroker()
示例#7
0
 def __init__(self, name):
     TradeService.__init__(self, name)
     self.logger = instance.getLogger()
     self.servers = {}
     self.command_controllers = {}
     self.outerbox_list = {}  # id:ip
     self.innerbox_list = {}  # ip:{doorid,ip}
示例#8
0
 def initialize(self):
     # instance.setProps(quote_mall=self)
     self.logger = instance.getLogger()
     self.event = 'data'
     for ch_cfg in main.getConfig().get('gateway'):
         if self.ns_name == ch_cfg.get('name'):
             self.event = ch_cfg.get('event')
示例#9
0
	def recv(self):
		while True:
			try:
				d = self.sock.recv(1000)
				if not d:
					break
			except:
				# traceback.print_exc()
				break
			try:
				self.consumer.onData(d)
			except:
				instance.getLogger().error(traceback.format_exc())
				# traceback.print_exc()
		instance.getLogger().debug( 'socket disconnected!' )
		self.sock = None
示例#10
0
文件: api.py 项目: bowen-xu/SmartHome
def device_login():
    """设备主机登陆,服务器校验合法性,并返回接入服务器地址"""
    main = instance.serviceManager.get('main')
    id_ = request.values.get('id')
    type_ = request.values.get('type')
    ver = request.values.get('ver')
    time = request.values.get('time')
    sign = request.values.get('sign','').upper()


    if not id_ or not type_ or not ver or not time or not sign:
    # if not id_ or not type_ :
        return ErrorReturn(ErrorDefs.ParameterInvalid).response

    secret_key = main.getConfig().get('device_secret_key')

    value,_ = make_signature(secret_key,dict(id=id_,type=type_,ver=ver,time=time))
    if value != sign:
        instance.getLogger().error(u"数据签名计算错误")
        return ErrorReturn(ErrorDefs.ParameterInvalid).response

    device = model.SmartDevice.get(id = id_)
    if not device:
        return ErrorReturn(ErrorDefs.ObjectNotExist,u'设备不存在').response

    # 加入 认证处理时间
    data = dict(id=id_,type=type_,ver=ver,time=time,auth_time=timestamp_current())

    token = device_token_create(data,device.secret_key)

    main = instance.serviceManager.get('main')
    boxserver = main.getConfig().get('boxserver')
    host,port = boxserver.split(':')
    result = dict(token=token, server_ip=host, server_port=int(port),
                  server_time=timestamp_current()
                  )

    # server = model.DeviceServer.get(id=device.server_id)
    # if not server:
    #     return ErrorReturn(ErrorDefs.DeviceServerNotFound).response
    #
    # result = dict( token = token, server_ip = server.ip, server_port = server.port ,
    #     server_time = timestamp_current()
    # )

    return CR(result= result).response
示例#11
0
 def __init__(self, name):
     BaseService.__init__(self, name)
     self.active = False  # 工作状态
     self.queue = Queue()  # 队列
     # self.thread = Thread(target=self.threadDataFanout)  # 线程
     self.ee = None
     self.mainEngine = None
     self.logger = instance.getLogger()
     self.symbols = {}  # 已经订阅的合约
示例#12
0
    def __init__(self, name):
        BaseService.__init__(self, name)
        self.logger = instance.getLogger()
        self.servers = {}
        self.adapters = {}

        self.apps = {}  # app 软件连接进入

        self.iot_chan = None  # 接收绿城+的命令控制
        self.ctrl_chan = None  # 设备控制消息
示例#13
0
    def init(self,cfgs):
        self.cfgs = cfgs
        self.redis = instance.datasourceManager.get('redis').conn
        self.logger = instance.getLogger()
        self.seq_gen = RedisIdGenerator().init(self.cfgs.get('sequence_key'))

        cls = import_class(self.cfgs.get('command_controller'))
        self.command_controller = cls()
        gevent.spawn(self.messageTask)
        return self
示例#14
0
    def init(self,**kwargs):
        self.cfgs.update(kwargs)
        # self.redis = instance.datasourceManager.get('redis').conn
        self.logger = instance.getLogger()

        # cls = import_class(self.cfgs.get('command_controller'))
        # self.command_controller = cls()

        self.broker = instance.messageBrokerManager.get('redis')

        gevent.spawn(self.messageProcessTask)
示例#15
0
    def checkLogin(self, message):
        from mantis.fanbei.smarthome.token import device_token_check

        device = model.SmartDevice.get(id=message.device_id)
        if not device:
            return False
        secret = device.secret_key
        data = device_token_check(message.token, secret)
        if not data:
            return False
        auth_time = data.get('auth_time', 0)
        self.device_id = data.get('id')
        self.device_type = data.get('type')
        TOKEN_VALID_TIME = self.service.getConfig().get(
            'token_valid_time', 300)
        # 校验token是否已过期
        if timestamp_current() - auth_time > TOKEN_VALID_TIME:
            instance.getLogger().error(u'过期无效token: ', message.token)
            return False

        return True
示例#16
0
文件: main.py 项目: liguifan/Tibet
    def __init__(self, name):
        super(PAService, self).__init__(name)

        self.active = False  # 工作状态
        self.queue = Queue()  # 队列
        self.thread = Thread(target=self._processData)  # 线程
        self.logger = instance.getLogger()
        self.symbols = set()  # 已经订阅的合约
        # self.latest_ticks = {}
        self.contracts = {ProductClass.Future: {}, ProductClass.Stock: {}}
        self.generate_bars = []
        self.kline_symbols = []  # 实时计算k线的合约名称
        self.all_calc_mins = {}
示例#17
0
文件: main.py 项目: liguifan/Tibet
    def __init__(self, name):
        TradeService.__init__(self, name)

        self.active = False  # 工作状态
        self.queue = Queue()  # 队列
        # self.thread = Thread(target=self.threadDataFanout)  # 线程
        self.ee = None
        self.mainEngine = None
        self.logger = instance.getLogger()
        self.symbols = {}  # 已经订阅的合约
        self.contracts = OrderedDict()
        self.ticks_counter = 0
        self.ticks_samples = []
        self.tick_filters = []
示例#18
0
    def __init__(self, mgr):
        ConnectionIncoming.__init__(self)
        self.line_status = LineStatusType.OFFLINE
        self.online_time = 0
        self.join_time = 0
        self.status_time = 0
        self.live_time = 0

        self.conn = None  # socket 连接
        self.mgr = mgr
        self.inspect = None
        self.logger = instance.getLogger()
        self.running = False
        self.name = ''
        self.audiostream_url = ''

        self.call_wait = None
        self.call_peer = None  # 对点呼叫信息
示例#19
0
    def convertLbsLocation(self,pos):
        """lbs: MessageLbsStationExtension
            查询pos
            lbs_cell 表务必要建索引:
            use constant_reference
            db.lbs_cell.createIndex({'mcc':1,'mnc':1,'lac':1,'cell':1});
        """
        from mantis.BlueEarth.tools.lbs import gd_convert_lbs_location

        ak = self.service.getConfig().get('lbs_ak')
        imei = self.device_id
        # bts = (pos.mcc,pos.mnc,pos.lac,pos.cell_id,pos.signal)
        bts = self.makeLbsBts(pos)
        bts = bts[:1]
        try:
            data = gd_convert_lbs_location(ak,imei,bts,debug=instance.getLogger().debug)
            object_assign(pos,data)
            pos.position_source = PositionSource.LBS
        except:
            self.logger.error('lbs query fail.' )
示例#20
0
    def convertWifiLocation(self,pos,message):
        """lbs: MessageLbsStationExtension
            查询pos
            lbs_cell 表务必要建索引:
            use constant_reference
            db.lbs_cell.createIndex({'mcc':1,'mnc':1,'lac':1,'cell':1});
        """
        from mantis.BlueEarth.tools.lbs import gd_convert_wifi_location
        import traceback

        ak = self.service.getConfig().get('lbs_ak')
        imei = self.device_id
        # bts = (pos.mcc,pos.mnc,pos.lac,pos.cell_id,pos.signal)
        macs = map(lambda wifi: (wifi['mac'],wifi['signal']),message.wifi_data)
        try:
            data = gd_convert_wifi_location(ak,imei,macs,debug=instance.getLogger().debug)
            object_assign(pos,data)

            # pos.position_source = PositionSource.LBS
        except:
            traceback.print_exc()
            self.logger.error('wifi query fail.' )
示例#21
0
 def __init__(self,name):
     TradeService.__init__(self,name)
     self.logger = instance.getLogger()
     self.servers = {}
     self.command_controllers ={}
示例#22
0
def do_request():
    instance.getLogger().debug('xxx')
示例#23
0
def cat():
    import time
    time.sleep(.2)
    instance.getLogger().debug('miao~')
    return 'i am cat!'
示例#24
0
 def __init__(self, name):
     BaseService.__init__(self, name)
     self.logger = instance.getLogger()
示例#25
0
	def sendData(self,data):
		self.sock.sendall(data)
		# instance.getLogger().debug( 'sent >> ' + self.hex_dump(data) )
		instance.getLogger().debug( 'sent >> ' + data)
示例#26
0
def car():
    instance.getLogger().debug('abccc')
    instance.getLogger().addTag('TRANS:A001')
    # print request.values
    do_request()
    return 'i am car!'