示例#1
0
文件: Models.py 项目: minkione/laf
 def find_previous_by_data_collector_and_dev_eui(cls,
                                                 date,
                                                 data_collector_id,
                                                 dev_eui=None):
     previous_date = session.query(func.max(
         Packet.date)).filter(Packet.date < date).filter(
             Packet.data_collector_id == data_collector_id).filter(
                 Packet.dev_eui == dev_eui).scalar()
     return session.query(Packet).filter(
         Packet.date == previous_date).filter(
             Packet.data_collector_id == data_collector_id).filter(
                 Packet.dev_eui == dev_eui).first()
示例#2
0
    def find_one(cls, id=None):
        query = session.query(cls)

        if id:
            query = query.filter(cls.id == id)

        return query.first()
示例#3
0
文件: Models.py 项目: jordantsap/laf
 def find_previous_by_data_collector_and_dev_eui(cls,
                                                 date,
                                                 data_collector_id,
                                                 dev_eui=None):
     return session.query(Packet).filter(Packet.date < date).filter(
         Packet.data_collector_id == data_collector_id).filter(
             Packet.dev_eui == dev_eui).order_by(desc(Packet.date)).first()
示例#4
0
文件: Models.py 项目: jordantsap/laf
 def find_one_by_dev_eui_and_join_eui_and_datacollector_id(
         cls, dev_eui, join_eui, data_collector_id):
     query = session.query(cls).filter(cls.dev_eui == dev_eui,
                                       cls.join_eui == join_eui)
     query = query.filter(cls.id == DataCollectorToDevice.device_id).filter(
         DataCollectorToDevice.data_collector_id == data_collector_id)
     return query.first()
示例#5
0
 def find(cls, dev_eui, data_collector_id):
     query = session.query(cls)
     if data_collector_id:
         query = query.filter(cls.id == DataCollectorToDevice.device_id).filter(DataCollectorToDevice.data_collector_id == data_collector_id)
     if dev_eui:
         query = query.filter(cls.dev_eui == dev_eui)
     return query.all()
示例#6
0
 def find_only_one_gateway_by_device_id(cls, device_id):
     result= session.query(cls).join(GatewayToDevice).filter(GatewayToDevice.device_id == device_id).all()
     
     if len(result)== 1:
         return result[0]
     
     return None
示例#7
0
文件: Models.py 项目: minkione/laf
    def find_one_by_dev_addr_and_datacollector_id(cls, dev_addr,
                                                  data_collector_id):
        query = session.query(cls).filter(cls.dev_addr == dev_addr)

        query = query.join(DataCollectorToDeviceSession).filter(
            DataCollectorToDeviceSession.data_collector_id ==
            data_collector_id)

        return query.first()
示例#8
0
 def find(cls, dev_eui, join_eui, organization_id):
     query = session.query(cls)
     if organization_id:
         query = query.filter(cls.organization_id == organization_id)
     if join_eui:
         query = query.filter(cls.device_id == Device.id).filter(Device.join_eui == join_eui)
     if dev_eui:
         query = query.filter(cls.device_id == Device.id).filter(Device.dev_eui == dev_eui)
     return query.all()
示例#9
0
 def saveIfNotExists(cls, dev_nonce, device_id, packet_id):
     existing_dev_nonces = session.query(DevNonce).filter(DevNonce.dev_nonce == dev_nonce).filter(DevNonce.device_id == device_id).all()
     if len(existing_dev_nonces):
         prev_packet_id = existing_dev_nonces[0].packet_id
         existing_dev_nonces[0].packet_id = packet_id
         return prev_packet_id
     else:
         DevNonce(
             dev_nonce = dev_nonce,
             device_id = device_id,
             packet_id = packet_id
         ).save()
         session.flush()
         return None
示例#10
0
 def find_by_organization_id_and_created_at(cls, organization_id, since, until):
     return session.query(cls).filter(cls.packet_id == Packet.id).filter(DataCollector.id == Packet.data_collector_id).filter(DataCollector.organization_id == organization_id).filter(cls.created_at > since, cls.created_at < until).all()
示例#11
0
 def find_one(cls, id):
     return session.query(cls).filter(cls.id == id).first()
示例#12
0
 def find_one_by_data_collector_id_and_device_session_id(cls, data_collector_id, device_session_id):
     return session.query(cls).filter(cls.data_collector_id == data_collector_id, cls.device_session_id == device_session_id).first()
示例#13
0
 def find_one_by_analyzer(cls, analyzer_id):
     return session.query(cls).filter(cls.analyzer == analyzer_id).first()
示例#14
0
 def find_all_by_device_auth_id(cls, dev_auth_data_id):
     return session.query(cls).filter(cls.device_auth_data_id == dev_auth_data_id).all()
示例#15
0
 def find_all_by_organization_id_after_datetime(cls, organization_id, since):
     return session.query(cls).filter(cls.organization_id == organization_id, cls.last_seen > since).order_by(desc(cls.last_seen)).all()
示例#16
0
 def find_region_by_id(cls, id):
     return session.query(cls).filter(cls.id == id).first().region
 def find_type_by_id(cls, id):
     return session.query(cls).filter(cls.id == id).first().type
 def find_one_by_ip_port_and_dctype_id(cls, dctype_id, ip, port):
     return session.query(cls).filter(cls.ip == ip).filter(
         cls.data_collector_type_id == dctype_id).filter(
             cls.port == port).first()
示例#19
0
 def find_one_by_gateway_id_and_device_session_id(cls, gateway_id, device_session_id):
     return session.query(cls).filter(cls.device_session_id == device_session_id, cls.gateway_id == gateway_id).first()
示例#20
0
 def find_one_by_code(cls, code):
     return session.query(cls).filter(cls.code == code).first()
示例#21
0
 def find_one_by_gw_hex_id_and_organization_id(cls, gw_hex_id, organization_id):
     return session.query(cls).filter(cls.gw_hex_id == gw_hex_id, cls.organization_id == organization_id).first()
示例#22
0
 def find_one_by_name_and_dctype_id(cls, dctype_id, name):
     return session.query(cls).filter(cls.data_collector_type_id == dctype_id, cls.name == name).first()
示例#23
0
 def find_by_organization_id_and_mtype_and_date(cls, organization_id, mtype, since, until):
     return session.query(cls).filter(cls.organization_id == organization_id).filter(cls.date > since, cls.date < until, cls.m_type == mtype).all()
示例#24
0
 def find_by_organization_id_and_last_up(cls, organization_id, since, until):
     return session.query(cls).filter(cls.organization_id == organization_id).filter(cls.last_up_timestamp > since, cls.last_up_timestamp < until).all()
 def find_one_by_type(cls, type):
     return session.query(cls).filter(cls.type == type).first()
示例#26
0
 def find_all_from(cls, id, size = 1000):
 	return session.query(Packet).filter(Packet.id >= id).order_by(asc(Packet.id)).limit(size).all()
示例#27
0
 def find_one_by_region(cls, region):
     return session.query(cls).filter(cls.region == region).first()
示例#28
0
 def rows_quantity(cls):
     return session.query(func.max(cls.id)).scalar() 
 def count(cls):
     return session.query(func.count(cls.id)).scalar()
示例#30
0
 def find_one_by_device_id(cls, device_id):
     return session.query(cls).filter(cls.device_id == device_id).first()