Beispiel #1
0
 def getByProductNameSerialNumberModuleIdSensorId(cls, product_name_data,
                                                  serial_number_data,
                                                  module_id_data,
                                                  sensor_id_data):
     assert isinstance(product_name_data, Data) and isinstance(
         serial_number_data, Data) and isinstance(
             module_id_data, Data) and isinstance(sensor_id_data, Data)
     query = ndb.Query(kind="Sensor")
     query = query.filter(cls.productName == product_name_data.dataId)
     query = query.filter(cls.serialNumber == serial_number_data.dataId)
     query = query.filter(cls.moduleId == module_id_data.dataId)
     query = query.filter(cls.sensorId == sensor_id_data.dataId)
     keys = query.fetch(keys_only=True, limit=2)
     if len(keys) == 0:
         raise EntityNotFound(
             "Sensor", {
                 "product_name_data": product_name_data,
                 "serial_number_data": serial_number_data,
                 "module_id_data": module_id_data,
                 "sensor_id_name": sensor_id_data
             })
     if len(keys) == 2:
         raise EntityDuplicated({
             "product_name_data": product_name_data,
             "serial_number_data": serial_number_data,
             "module_id_name": module_id_data,
             "sensor_id_data": sensor_id_data
         })
     return keys[0].get()
Beispiel #2
0
 def keyByOdenkiId(cls, odenki_id):
     query = cls.queryByOdenkiId(odenki_id)
     keys = query.fetch(keys_only=True, limit=2)
     if len(keys) == 0:
         raise EntityNotFound(cls, {"odenkiId": odenki_id})
     if len(keys) == 2:
         raise EntityDuplicated(cls, {"odenkiId": odenki_id})
     return keys[0]
Beispiel #3
0
 def getByFieldAndString(cls, field, string):
     query = cls.queryByFieldAndString(field, string)
     keys = query.fetch(keys_only=True, limit=2)
     if len(keys) == 2:
         raise EntityDuplicated()
     if len(keys) == 0:
         raise EntityNotFound("Data", {"field": field, "string": string})
     return keys[0].get()
Beispiel #4
0
 def keyByOdenkiId(cls, odenki_id):
     assert isinstance(odenki_id, int)
     query = cls.queryByOdenkiId(odenki_id)
     keys = query.fetch(keys_only=True, limit=2)
     if len(keys) == 0:
         raise EntityNotFound({"odenkiId": odenki_id}, "OdenkiUser.keyByOdenkiId")
     if len(keys) == 2:
         raise EntityDuplicated({"odenkiId":odenki_id}, "OdenkiUser.keyByOdenkiId")
     return keys[0]
Beispiel #5
0
 def getByUniqueSensorId(cls, unique_sensor_id):
     query = ndb.Query(kind="Sensor")
     query = query.filter(Sensor.uniqueSensorId == unique_sensor_id)
     keys = query.get(keys_only=True, limit=2)
     if len(keys >= 2):
         raise EntityDuplicated({"equipmentId": unique_sensor_id})
     if len(keys == 0):
         raise EntityNotFound({"equipmentId": unique_sensor_id})
     return keys[0].get()
Beispiel #6
0
 def getByCard(cls, card_type, card_id):
     q = Outlet.query()
     q = q.filter(cls.cardId == card_id)
     q = q.filter(cls.cardType == card_type)
     keys = q.fetch(keys_only=True, limit=2)
     if len(keys) == 0:
         raise EntityNotFound({"cardId": card_id, "cardType": card_type})
     if len(keys) >= 2:
         raise EntityDuplicated({"cardId": card_id, "cardType": card_type})
     return keys[0].get()
Beispiel #7
0
 def getByEmailUserId(cls, email_user_id):
     assert isinstance(email_user_id, int)
     query = ndb.Query(kind="EmailUser")
     query = query.filter(cls.emailUserId == email_user_id)
     query = query.filter(cls.invalidatedDateTime == None)
     keys = query.fetch(limit=2, keys_only=True)
     if len(keys) == 0:
         raise EntityNotFound(cls, {"emailUserId": email_user_id})
     if len(keys) == 2:
         raise EntityDuplicated(cls, {"emailUserId": email_user_id})
     return keys[0].get()
Beispiel #8
0
 def getByNonce(cls, nonce):
     assert isinstance(nonce, unicode)
     query = ndb.Query(kind="EmailUser")
     query = query.filter(cls.nonce == nonce)
     query = query.filter(cls.invalidatedDateTime == None)
     keys = query.fetch(limit=2, keys_only=True)
     if len(keys) == 2:
         raise EntityDuplicated({"nonce": nonce},
                                "EmailUser.getByNonce failed")
     if len(keys) == 0:
         raise EntityNotFound({"nonce": nonce},
                              "EmailUser.getByNonce failed")
     return keys[0].get()
Beispiel #9
0
 def keyByTwitterId(cls, twitter_id):
     assert isinstance(twitter_id, int)
     query = cls.queryByTwitterId(twitter_id)
     keys = query.fetch(keys_only=True, limit=2)
     if len(keys) == 0:
         raise EntityNotFound(cls, {"twitterId":twitter_id})
     if len(keys) == 2:
         twitter_user_1 = keys[0].get()
         assert isinstance(twitter_user_1, TwitterUser)
         twitter_user_2 = keys[1].get()
         assert isinstance(twitter_user_2, TwitterUser)
         if twitter_user_1.odenkiId == twitter_user_2.odenkiId:
             twitter_user_2.key.delete()
             return twitter_user_1.key
         raise EntityDuplicated({"twitter_user_1": twitter_user_1,
                                 "twitter_user_2": twitter_user_2})
     return keys[0]
Beispiel #10
0
 def keyByOdenkiId(cls, odenki_id):
     query = cls.queryByOdenkiId(odenki_id)
     keys = query.fetch(keys_only=True, limit=2)
     if len(keys) == 0:
         raise EntityNotFound({"kind": cls.__name__,
                               "odenkiId": odenki_id})
     if len(keys) == 2:
         gmail_user_1 = keys[0].get()
         assert isinstance(gmail_user_1, GmailUser)
         gmail_user_2 = keys[1].get()
         assert isinstance(gmail_user_2, GmailUser)
         if gmail_user_1.gmailId == gmail_user_2.gmailId:
             gmail_user_2.key.delete_async()
             return gmail_user_1.key
         raise EntityDuplicated({"odenkiId": odenki_id,
                                 "gmail_user_1": gmail_user_1,
                                 "gmail_user_2": gmail_user_2})
     return keys[0]
Beispiel #11
0
 def keyByGmailId(cls, gmail_id):
     assert isinstance(gmail_id, str) #user_id() returns str, not unicode
     query = cls.queryByGmailId(gmail_id)
     keys = query.fetch(keys_only=True, limit=2)
     assert isinstance(keys, list)
     if len(keys) == 0:
         raise EntityNotFound({"kind": cls.__name__ , "gmailId":gmail_id})
     if len(keys) == 2:
         gmail_user_1 = keys[0].get()
         assert isinstance(gmail_user_1, GmailUser)
         gmail_user_2 = keys[1].get()
         assert isinstance(gmail_user_2, GmailUser)
         if gmail_user_1.odenkiId == gmail_user_2.odenkiId:
             gmail_user_2.key.delete_async()
             return gmail_user_1.key
         raise EntityDuplicated({"gmail_user_1": gmail_user_1, "gmail_user_2": gmail_user_2,
                                 "gmailId":gmail_id})
     return keys[0]