Exemplo n.º 1
0
def update_campaign_data():
    """
    (PUT: /campaign/date/update)
    """
    from campaigns.campaign.model import Campaign
    from unifide_backend.action.mapping.action import get_brand_mapping, get_mapping
    from unifide_backend.action.social.facebook.model import FBEvent
    from unifide_backend.action.social.facebook.action import update_fb_event

    user_id = request.form.get("user_id")
    brand_name = request.form.get("brand_name")
    campaign_id = request.form.get('campaign_id')
    title = request.form.get('title')
    description = request.form.get('description')
    event_datetime_start = float(request.form.get("datetime_start")) if request.form.get("datetime_start") is not None else None
    event_datetime_end = float(request.form.get("datetime_end")) if request.form.get("datetime_end") is not None else None
    place = request.form.get("place")
    item_list = request.form.get("item_list")
    print title, description
    print campaign_id
    brand_obj = get_brand_mapping(user_id, brand_name)
    mapping_obj = get_mapping(campaign_id)
    print brand_obj
    print mapping_obj

    set_dic = {
        "title": title,
        "description": description,
        "happening_datetime_start": event_datetime_start,
        "happening_datetime_end": event_datetime_end,
    }
    if item_list is not None and len(item_list) > 0:
        set_dic["item_id_lis"] = item_list

    if mapping_obj.campaign is not None:
        Campaign.collection().update({"_id": mapping_obj.campaign},
                                     {"$set" : set_dic})
    if mapping_obj.blog is not None:
        Campaign.collection().update({"_id": mapping_obj.blog},
                                     {"$set" : set_dic})
    if mapping_obj.facebook is not None and mapping_obj.type == "event":
        event = FBEvent.collection().find_one({"_id": coerce_bson_id(mapping_obj.facebook)})
        update_fb_event(event["event_id"], brand_obj.facebook, mapping_obj.state, title, description, event_datetime_start, event_datetime_end)

    return jsonify({"status": "ok"})
Exemplo n.º 2
0
def get(campaign_obj_id):
    """
    Gets a campaign with the given id

    :param campaign_obj_id:
    :return:
    """
    collection = Campaign.collection()
    if campaign_obj_id is None:
        return None
    dic = collection.find_one({"_id": coerce_bson_id(campaign_obj_id)})
    return Campaign.unserialize(dic) if dic is not None else None
Exemplo n.º 3
0
                print id

        # delete foursquare page update
        if mapping_obj.foursquare is not None:
            id = mapping_obj.foursquare
            page_update = FSQPageUpdate.collection().find_one({"_id": coerce_bson_id(id)})
            try:
                del_fsq_update(page_update["update_id"] if page_update["update_id"] is not None else None, id, brand_obj.foursquare["access_token"])
            except Exception, err:
                print traceback.format_exc()
                print id

        # delete campaign
        if mapping_obj.campaign is not None:
            id = mapping_obj.campaign
            Campaign.collection().remove({"_id": coerce_bson_id(id)})

        # delete blog
        if mapping_obj.blog is not None:
            id = mapping_obj.blog
            Campaign.collection().remove({"_id": coerce_bson_id(id)})

        #delete mapping
        del_mapping(c)

    return jsonify({"status": "ok"})


def _register_api(app):
    """
    interface method so the app can register the API (routing) calls.
Exemplo n.º 4
0
def save(campaign_obj):
    col = Campaign.collection()
    id = col.insert(campaign_obj.serialize())
    return id