コード例 #1
0
ファイル: ep_client_post.py プロジェクト: Z4P0/yellr-server
def get_local_posts(request):

    result = {'success': False}
    status_code = 200

    #try:
    if True:
        success, error_text, language_code, lat, lng, \
            client = client_utils.register_client(request)
        if success == False:
            raise Exception(error_text)

        try:
            start = 0
            if 'start' in request.GET:
                start = int(float(request.GET['start']))
            count = 75
            if 'count' in request.GET:
                count = int(float(request.GET['count']))
        except:
            status_code = 403
            raise Exception("Invalid input.")

        posts = client_utils.get_approved_posts(
            client_id=client.client_id,
            language_code=language_code,
            lat=lat,
            lng=lng,
            start=start,
            count=count,
        )

        result['posts'] = posts
        result['success'] = True

    #except Exception, e:
    #    status_code = 400
    #    result['error_text'] = str(e)

    client_utils.log_client_action(
        client=client,
        url='get_approved_posts.json',
        lat=lat,
        lng=lng,
        request=request,
        result=result,
        success=success,
    )

    return utils.make_response(result, status_code)
コード例 #2
0
ファイル: ep_client_post.py プロジェクト: Nolski/yellr-server
def get_local_posts(request):

    result = {'success': False}
    status_code = 200

    #try:
    if True:
        success, error_text, language_code, lat, lng, \
            client = client_utils.register_client(request)
        if success == False:
            raise Exception(error_text)

        try:
            start = 0
            if 'start' in request.GET:
                start = int(float(request.GET['start']))
            count = 75
            if 'count' in request.GET:
                count = int(float(request.GET['count']))
        except:
            status_code = 403
            raise Exception("Invalid input.")

        posts = client_utils.get_approved_posts(
            client_id = client.client_id,
            language_code = language_code,
            lat = lat,
            lng = lng,
            start = start,
            count = count,
        )

        result['posts'] = posts
        result['success'] = True

    #except Exception, e:
    #    status_code = 400
    #    result['error_text'] = str(e)

    client_utils.log_client_action(
        client = client,
        url = 'get_approved_posts.json',
        lat = lat,
        lng = lng,
        request = request,
        result = result,
        success = success,
    )

    return utils.make_response(result, status_code)
コード例 #3
0
        success, error_text, language_code, lat, lng, \
            client = client_utils.register_client(request)
        if success == False:
            raise Exception(error_text)

        assignments = client_utils.get_assignments(
            client_id=client.client_id,
            language_code=language_code,
            lat=lat,
            lng=lng,
        )

        result['assignments'] = assignments
        result['success'] = True

    except Exception, e:
        status_code = 400
        result['error_text'] = str(e)

    client_utils.log_client_action(
        client=client,
        url='get_assignments.json',
        lat=lat,
        lng=lng,
        request=request,
        result=result,
        success=success,
    )

    return utils.make_response(result, status_code)
コード例 #4
0
            client = client_utils.register_client(request)
        if success == False:
            raise Exception(error_text)

        notifications = client_utils.get_notifications(
            client_id = client.client_id,
            language_code = language_code,
            lat = lat,
            lng = lng,
        )

        result['notifications'] = notifications
        result['success'] = success

    except Exception, e:
        status_code = 400
        result['error_text'] = str(e)

    client_utils.log_client_action(
        client = client,
        url = 'get_notifications.json',
        lat = lat,
        lng = lng,
        request = request,
        result = result,
        success = success,
    )

    return utils.make_response(result, status_code)

コード例 #5
0
        post_count = client_utils.get_profile(client_id=client.client_id, )

        result['client_id'] = client.client_id
        result['first_name'] = client.first_name
        result['last_name'] = client.last_name
        result['organization'] = ''  #client.organization
        result['email'] = client.email
        result['verified'] = client.verified

        result['post_count'] = post_count
        result['post_view_count'] = client.post_view_count
        result['post_used_count'] = client.post_used_count

        result['success'] = True

    except Exception, e:
        status_code = 400
        result['error_text'] = str(e)

    client_utils.log_client_action(
        client=client,
        url='create_response_message.json',
        lat=lat,
        lng=lng,
        request=request,
        result=result,
        success=success,
    )

    return utils.make_response(result, status_code)
コード例 #6
0
ファイル: ep_client_post.py プロジェクト: Nolski/yellr-server
def upload_media(request):

    result = {'success': False}
    status_code = 200

    #try:
    if True:
        success, error_text, language_code, lat, lng, \
            client = client_utils.register_client(request)
        if success == False:
            raise Exception(error_text)

        try:
            media_type = request.POST['media_type']
        except:
            raise Exception("Missing media_type field.")

        media_caption = ''
        media_text = ''
        media_object_filename = ''
        media_object_preview_filename = ''

        if media_type == 'image' or media_type == 'video' \
                or media_type == 'audio':

            # Since there is a file being uploaded, we'll need to
            # decode some additional POST params
            try:
                media_file_name = request.POST['media_file'].filename
                input_file = request.POST['media_file'].file
            except:
                raise Exception('Missing of invalid file field.')

            # this is to support legacy android versions.  Should be removed soon.
            try:
                media_caption = request.POST['caption']
            except:
                try:
                    media_caption = request.POST['media_caption']
                except:
                    pass

            base_filename = client_utils.save_input_file(
                input_file = input_file,
            )

            #decode media type of file
            if media_type == 'image':

                image_filename, preview_filename = client_utils.process_image(
                    base_filename = base_filename,
                )

                media_object_filename = image_filename 
                media_object_preview_filename = preview_filename

            #process video files
            elif media_type == 'video':

                video_filename, preview_filename = client_utils.process_video(
                    base_filename = base_filename,
                )

                media_object_filename = video_filename
                media_object_preview_filename = preview_filename

            #process audio files
            elif media_type == 'audio':
                
                audio_filename, preview_filename = client_utils.process_audio(
                    base_filename = base_filename,
                )

                media_object_filename = audio_filename
                media_object_preview_filename = preview_filename

            # cleanup our temp file
            #os.remove(base_filename)

        elif media_type == 'text':

            # text isn't an uploaded file, it is within the media_text POST
            # param.
                
            try:
                media_text = request.POST['media_text']
            except:
                 raise Exception('Invalid/missing field')
        else:
            raise Exception('Invalid media type: {0}'.format(media_type))

        media_object = client_utils.add_media_object(
            client_id = client.client_id,
            media_type_text = media_type,
            file_name = os.path.basename(media_object_filename),
            caption = media_caption,
            media_text = media_text,
        )

        result['media_id'] = media_object.media_id
        result['success'] = True

    #except Exception, e:
    #    status_code = 400
    #    result['error_text'] = str(e)

    client_utils.log_client_action(
        client = client,
        url = 'upload_media.json',
        lat = lat,
        lng = lng,
        request = request,
        result = result,
        success = success,
    )

    return utils.make_response(result, status_code)
コード例 #7
0
ファイル: ep_client_post.py プロジェクト: Nolski/yellr-server
        )

        result['vote_id'] = vote.vote_id
        result['post_id'] = vote.post_id
        result['is_up_vote'] = vote.is_up_vote
        result['success'] = True

    except Exception, e:
        status_code = 400
        result['error_text'] = str(e)

    client_utils.log_client_action(
        client = client,
        url = 'register_vote.json',
        lat = lat,
        lng = lng,
        request = request,
        result = result,
        success = success,
    )

    return utils.make_response(result, status_code)


@view_config(route_name='upload_media.json')
def upload_media(request):

    result = {'success': False}
    status_code = 200

    #try:
コード例 #8
0
        result['client_id'] = client.client_id
        result['first_name'] = client.first_name
        result['last_name'] = client.last_name
        result['organization'] = '' #client.organization
        result['email'] = client.email
        result['verified']  = client.verified

        result['post_count'] = post_count
        result['post_view_count'] = client.post_view_count
        result['post_used_count'] = client.post_used_count

        result['success'] = True

    except Exception, e:
        status_code = 400
        result['error_text'] = str(e)

    client_utils.log_client_action(
        client = client,
        url = 'create_response_message.json',
        lat = lat,
        lng = lng,
        request = request,
        result = result,
        success = success,
    )

    return utils.make_response(result, status_code)

コード例 #9
0
ファイル: ep_client_post.py プロジェクト: Z4P0/yellr-server
def upload_media(request):

    result = {'success': False}
    status_code = 200

    #try:
    if True:
        success, error_text, language_code, lat, lng, \
            client = client_utils.register_client(request)
        if success == False:
            raise Exception(error_text)

        try:
            media_type = request.POST['media_type']
        except:
            raise Exception("Missing media_type field.")

        media_caption = ''
        media_text = ''
        media_object_filename = ''
        media_object_preview_filename = ''

        if media_type == 'image' or media_type == 'video' \
                or media_type == 'audio':

            # Since there is a file being uploaded, we'll need to
            # decode some additional POST params
            try:
                media_file_name = request.POST['media_file'].filename
                input_file = request.POST['media_file'].file
            except:
                raise Exception('Missing of invalid file field.')

            # this is to support legacy android versions.  Should be removed soon.
            try:
                media_caption = request.POST['caption']
            except:
                try:
                    media_caption = request.POST['media_caption']
                except:
                    pass

            base_filename = client_utils.save_input_file(
                input_file=input_file, )

            #decode media type of file
            if media_type == 'image':

                image_filename, preview_filename = client_utils.process_image(
                    base_filename=base_filename, )

                media_object_filename = image_filename
                media_object_preview_filename = preview_filename

            #process video files
            elif media_type == 'video':

                video_filename, preview_filename = client_utils.process_video(
                    base_filename=base_filename, )

                media_object_filename = video_filename
                media_object_preview_filename = preview_filename

            #process audio files
            elif media_type == 'audio':

                audio_filename, preview_filename = client_utils.process_audio(
                    base_filename=base_filename, )

                media_object_filename = audio_filename
                media_object_preview_filename = preview_filename

            # cleanup our temp file
            #os.remove(base_filename)

        elif media_type == 'text':

            # text isn't an uploaded file, it is within the media_text POST
            # param.

            try:
                media_text = request.POST['media_text']
            except:
                raise Exception('Invalid/missing field')
        else:
            raise Exception('Invalid media type: {0}'.format(media_type))

        media_object = client_utils.add_media_object(
            client_id=client.client_id,
            media_type_text=media_type,
            file_name=os.path.basename(media_object_filename),
            caption=media_caption,
            media_text=media_text,
        )

        result['media_id'] = media_object.media_id
        result['success'] = True

    #except Exception, e:
    #    status_code = 400
    #    result['error_text'] = str(e)

    client_utils.log_client_action(
        client=client,
        url='upload_media.json',
        lat=lat,
        lng=lng,
        request=request,
        result=result,
        success=success,
    )

    return utils.make_response(result, status_code)
コード例 #10
0
ファイル: ep_client_post.py プロジェクト: Z4P0/yellr-server
        )

        result['vote_id'] = vote.vote_id
        result['post_id'] = vote.post_id
        result['is_up_vote'] = vote.is_up_vote
        result['success'] = True

    except Exception, e:
        status_code = 400
        result['error_text'] = str(e)

    client_utils.log_client_action(
        client=client,
        url='register_vote.json',
        lat=lat,
        lng=lng,
        request=request,
        result=result,
        success=success,
    )

    return utils.make_response(result, status_code)


@view_config(route_name='upload_media.json')
def upload_media(request):

    result = {'success': False}
    status_code = 200

    #try: