def del_campaign(): """ (DELETE: /campaign) """ from campaigns.campaign.model import Campaign from unifide_backend.action.social.facebook.model import FBPost, FBEvent from unifide_backend.action.social.twitter.model import TWTweet from unifide_backend.action.social.foursquare.model import FSQPageUpdate from unifide_backend.action.mapping.action import del_mapping, get_brand_mapping, get_mapping from unifide_backend.action.social.facebook.action import del_fb_post, del_fb_event from unifide_backend.action.social.twitter.action import del_tweet from unifide_backend.action.social.foursquare.action import del_fsq_update user_id = request.args.get("user_id") brand_name = request.args.get("brand_name") campaigns = request.args.get("campaign_list") brand_obj = get_brand_mapping(user_id, brand_name) campaign_list = campaigns.split(',') for c in campaign_list: mapping_obj = get_mapping(c) # delete facebook post / event if mapping_obj.facebook is not None: id = mapping_obj.facebook post = FBPost.collection().find_one({"_id": coerce_bson_id(id)}) try: if post is not None: del_fb_post(post["post_id"], id, brand_obj.facebook["access_token"]) event = FBEvent.collection().find_one({"_id": coerce_bson_id(id)}) if event is not None: del_fb_event(event["event_id"], id, brand_obj.facebook["access_token"]) except Exception, err: print traceback.format_exc() print id # delete twitter status if mapping_obj.twitter is not None: id = mapping_obj.twitter tweet = TWTweet.collection().find_one({"_id": coerce_bson_id(id)}) try: del_tweet(tweet["fields"]["id_str"] if tweet["fields"] is not None else None, id, brand_obj.twitter["access_token"]["key"], brand_obj.twitter["access_token"]["secret"]) except Exception, err: print traceback.format_exc() print id
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"})