SONOS - rateItem - Не вызывает "Операция не удалась"

Нажатие на любую из кнопок оценки в моем приложении SONOS приводит к появлению ошибки "Ошибка операции", и я не знаю почему. Все остальное в приложении работает, как и ожидалось, за исключением этого.

Вот код для моей функции элемента оценки. Я использую модуль pysimplesoap.

def rateItem(id, rating, device, householdId, loginToken):
    # rating =
    # Unrated track -> rating = 1 (good) | rating = 0 (bad)
    # Track has thumbs up  -> rating = 3 (good) | rating = 2 (bad)
    # Track has thumbs down -> rating = 5 (good) | rating = 6 (bad)
    user_record = SonosUserRecord.collection.find_one({"loginToken": loginToken})
    user = get_user_from_username(username=user_record["username"])

    now = datetime.utcnow()
    SonosUserRecord.collection.update({"loginToken": loginToken}, {"$set": {"last_update": now}})
    #rateItemResponse = {"shouldSkip": "false"}
    if rating == 1 or rating == 5:
        print "Rated positive"
        # Rated positive
        rating_value = 5
        toid = id.split(":")[1]
        rating = MongoTrackRating(user, toid)
        rating.set_rating(int(rating_value))
        MongoTrackRatingAggregate.update_track_rating_aggregate(toid, int(rating_value))
    if rating == 0 or rating == 2:
        print "Rated negative"
        # Rated negative
        #rateItemResponse["shouldSkip"] = "true"
        rating_value = 1
        toid = id.split(":")[1]
        rating = MongoTrackRating(user, toid)
        rating.set_rating(int(rating_value))
        MongoTrackRatingAggregate.update_track_rating_aggregate(toid, int(rating_value))
    return rateItemResponse

И тогда я регистрирую это.

dispatcher.register_function('rateItem', rateItem,
    returns={"rateItemResult": list},
    args={"id": str, "rating": int, 'device':str, 'householdId':str, 'loginToken': str})

Что мне не хватает?

0 ответов

Другие вопросы по тегам