コード例 #1
0
ファイル: views.py プロジェクト: raphaelrieuhelft/DigitalSelf
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
コード例 #2
0
ファイル: views.py プロジェクト: raphaelrieuhelft/DigitalSelf
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