Exemple #1
0
    def get_modelled_list(self, posts):

        modelled_post_list = []
        for post in posts:
            try:
                modelled_post = Post()
                modelled_post.id = post['_id']

                date_obj = post['date']
                modelled_post.date = date_obj.isoformat()
                # print post['title']
                modelled_post.title = post['title']
                modelled_post.link = post['link']
                modelled_post.category = post['category']
                modelled_post.tags = post['tags']
                modelled_post.group = post['group']
                modelled_post.added_by = post['added_by']
                # print modelled_post.title
                modelled_post_list.append(modelled_post)
                # print "in", modelled_post_list

            except Exception as inst:
                print "error processing objects"
                print inst
                return None
        # print "out", modelled_post_list
        return modelled_post_list
def create_post():
    post = Post()
    try:
        data = request.get_data()
        data = json.loads(data)
        post.title = data['title']
        post.content = data['content']
        post.category_id = data['category_id']
        tags = data['tags']
        post.region = data['region']
        post.image_header_id = data['image_header_id']
    except Exception:
        raise ServiceException(ErrorCode.PARAM_ERROR, 'param error')
    tag_ids = []
    if tags is not None and tags != '':
        tags = tags.split(",")
        for tag_name in tags:
            try:
                tag = GroupService.get_tag_by_name(tag_name)
            except ServiceException:
                tag = GroupService.insert_tag(tag_name)
            tag_ids.append(str(tag.id))
    post.tag_ids = ",".join(tag_ids)
    post = PostService.insert_post(post)
    return jsonify(json_resp(data=model2dict(post)))
Exemple #3
0
def update_post():

    responseWrapper = ResponseWrapper()
    response = any_response(request)
    
    user = validate_cookie(request)
    
    if user != None:
        post = Post()

        try:
            # build post object from form data
            form_data = request.form['data']
            json_data = json.loads(form_data)

            post.id = json_data['_id']
            post.title = json_data['title']
            post.link = json_data['link']
            post.category = json_data['category']
            post.tags = json_data['tags']
            post.group = json_data['groups']
            post.added_by = user.name

        except Exception as inst:
            print "error reading form data"
            print inst
            responseWrapper = ResponseWrapper()
            responseWrapper.set_error(True)
            responseWrapper.set_data(["error reading form data. Retry posting"])

        if post.title != None and post.link != None and post.group != None and post.added_by != None:

            result = postDAO.update_post(post);
            responseWrapper = ResponseWrapper()

            if result != None or result != False:
                responseWrapper.set_error(False)
                responseWrapper.set_data([str(result)])
                response.status_code = 201

            else:
                responseWrapper.set_error(True)
                responseWrapper.set_data(["error writing post"])

        else:
            print "error in form data"
            responseWrapper = ResponseWrapper()
            responseWrapper.set_error(True)
            responseWrapper.set_data(["insufficient fields, try again"])
            response.status_code = 302
    else:
        responseWrapper.set_error(True)
        responseWrapper.set_data(["User not logged in. Please Login"])
        response.status_code = 302

    response.data = json.dumps(responseWrapper, default=ResponseWrapper.__str__)
    response.mimetype = "application/json"
    
    return response