当前位置: 首页>>代码示例>>Python>>正文


Python Profile.presence方法代码示例

本文整理汇总了Python中models.Profile.presence方法的典型用法代码示例。如果您正苦于以下问题:Python Profile.presence方法的具体用法?Python Profile.presence怎么用?Python Profile.presence使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在models.Profile的用法示例。


在下文中一共展示了Profile.presence方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: v1_profiles_json

# 需要导入模块: from models import Profile [as 别名]
# 或者: from models.Profile import presence [as 别名]
def v1_profiles_json(request):
    if request.method == "POST":
        action = request.POST["action"]
        current_device = cache.get('%s:preferred_device' % (request.session['username'],), None)
        current_presence = cache.get('%s:presence' % (request.session["username"],), 10)

        if action == "remember":
            if "id" in request.POST and request.POST["id"] != "":
                obj = get_object_or_404(Profile, id=request.POST["id"])
            else:
                obj = Profile()
            obj.owner = request.session["username"]
            obj.name = request.POST["name"]
            obj.latitude = request.POST["latitude"]
            obj.longitude = request.POST["longitude"]
            obj.accuracy = int(request.POST["accuracy"])
            obj.presence = current_presence if request.POST["presence_id"] == "current" else request.POST["presence_id"]
            obj.device = current_device if request.POST["device_id"] == "current" else request.POST["device_id"]
            obj.save()
        elif action == "delete":
            obj = get_object_or_404(Profile, id=request.POST["id"])
            obj.delete()

    PRESENCE_MAP = {
        1: "Do Not Disturb",
        2: "Be Right Back",
        3: "Unavailable",
        4: "Busy",
        5: "In A Meeting",
        10: "Available",
    }

    DEVICE_MAP = {
        'devices-device1': 'Home',
        'devices-device2': 'Work',
        'devices-device3': 'Meeting room',
        'devices-device4': 'Voicemail'
    }

    profiles = [{
        'id': p.id,
        'name': p.name,
        'latitude': float(p.latitude),
        'longitude': float(p.longitude),
        'accuracy': p.accuracy,
        'presence_id': p.presence,
        'presence_name': PRESENCE_MAP[int(p.presence)],
        'device_id': p.device,
        'device_name': DEVICE_MAP[p.device]
    } for p in Profile.objects.filter(owner=request.session["username"])]

    return {"success": True, "profiles": profiles}
开发者ID:philwo,项目名称:openscape-mobile,代码行数:54,代码来源:views.py


注:本文中的models.Profile.presence方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。