def add_fb_event(request, template='add_fb_event.html'): if request.method == 'POST': form = FBEventCreateForm(request.POST) if form.is_valid(): service_user = getFacebookProfile(request=request) currentuser = User.objects.get(username=request.user.username) data = form.cleaned_data if data['eventId']: eventId = data['eventId'] else: eventId = ''.join(random.choice(string.digits) for _ in range(10)) idr = 'event:%s@facebook/events#DUMMY%s' % (service_user.userid, eventId) try: fbprofile=FacebookData.objects.get(data_type='PROFILE', neemi_user=currentuser.id,idr = 'profile:%s@facebook'%(service_user.userid)) me = fbprofile.data['name'] except FacebookData.DoesNotExist: me = "me" if data['owner'] != "Me": ownername = data['owner'] else: ownername = me owner = dict([('id', 'DUMMY'), ('name', ownername)]) attendingdata = [] if data['attending']: for guest in data['attending'].split(','): if guest=="Me": guestdict = dict([('id', "DUMMY"),('name', me)]) else: guestdict = dict([('id', "DUMMY") ,('name', guest)]) attendingdata.append(guestdict) attending=dict([('data', attendingdata)]) startTime = data['startTime'].strftime("%Y-%m-%dT%H:%M:%S+0000") endTime = data['endTime'].strftime("%Y-%m-%dT%H:%M:%S+0000") rsvpStatus = data['rsvpStatus'] name = data['eventName'] description = data['description'] location_fields = ("name", "street", "zip", "city", "state", "country", "latitude", "longitude") location = dict() for field in location_fields: if data[field]: location[field]=data[field] if 'name' in location: place = dict([('id', "DUMMY"), ('name', location['name']), ('location', location)]) else: place = dict([('id', "DUMMY"), ('location', location)]) eventdata=dict([('attending', attending),('owner', owner), ('start_time', startTime), ('end_time', endTime), ('rsvp_status',rsvpStatus),('id', ("DUMMY" + eventId)), ('name', name), ('description', description)]) if location: eventdata['place']=place newevent = FacebookData(idr=idr, data = eventdata, neemi_user = currentuser, facebook_user = service_user, data_type='EVENT', time=datetime.datetime.today()).save() dform = form else: print "invalid form" dform = FBEventCreateForm() else: dform = FBEventCreateForm() response = render_to_response(template, locals(), context_instance=RequestContext(request,{'form':dform}) ) return response
def add_fb_photo(request, template='add_fb_photo.html'): user = request.user if request.method == 'POST': form = FBPhotoCreateForm(request.POST, user=user) if form.is_valid(): service_user = getFacebookProfile(request=request) currentuser = User.objects.get(username=request.user.username) data = form.cleaned_data if data['photoId']: photoId = data['photoId'] else: photoId = ''.join(random.choice(string.digits) for _ in range(10)) idr = 'photo:%s@facebook/photos#DUMMY%s' % (service_user.userid, photoId) backdated_time = data['backdatedDateTime'].strftime("%Y-%m-%dT%H:%M:%S+0000") granularity = data['backdatedDateTimeGranularity'] if data['createdDateTime']: created_time=data['createdDateTime'].strftime("%Y-%m-%dT%H:%M:%S+0000") else: created_time=backdated_time caption = data['caption'] try: fbprofile=FacebookData.objects.get(data_type='PROFILE', neemi_user=currentuser.id,idr = 'profile:%s@facebook'%(service_user.userid)) me = fbprofile.data['name'] except FacebookData.DoesNotExist: me = "me" if data['uploadedBy'] and data['uploadedBy'] != "Me": uploaded_by = data['uploadedBy'] else: uploaded_by = me from_dict = dict([('id', "DUMMY"), ('name', uploaded_by)]) tagsdata = [] if data['tags']: for tag in data['tags'].split(','): if tag=="Me": tagdict = dict([('id', "DUMMY"),('name', me)]) else: tagdict = dict([('id', "DUMMY") ,('name', tag)]) tagsdata.append(tagdict) tags=dict([('data', tagsdata)]) event=None if data['event']: event = dict([('data', data['event'].data)]) location_fields = ("name", "street", "zip", "city", "state", "country", "latitude", "longitude") location = dict() for field in location_fields: if data[field]: location[field]=data[field] if 'name' in location: place = dict([('id', "DUMMY"), ('name', location['name']), ('location', location)]) else: place = dict([('id', "DUMMY"), ('location', location)]) photodata = dict([('backdated_time', backdated_time), ('backdated_time_granularity', granularity), ('created_time', created_time), ('from', from_dict),('id', ("DUMMY" + photoId)),('tags', tags), ('name', caption)]) if location: photodata['place']=place newphoto = FacebookData(idr=idr, data=photodata, neemi_user=currentuser, facebook_user=service_user, data_type='PHOTO', time=datetime.datetime.today()).save() dform = form else: print "invalid form" dform = FBPhotoCreateForm() else: dform = FBPhotoCreateForm(user=user) response = render_to_response(template, locals(), context_instance=RequestContext(request,{'form':dform}) ) return response