コード例 #1
0
ファイル: web.py プロジェクト: haojiliu/honey-boba
def api_review_post():
    if request.method == 'POST':
        error_msg = ''
        review_text = utils.sanitize_user_input(request.form.get('reviewText'))
        uri = utils.sanitize_user_input(request.form.get('uri'))
        error_msg = l.create_a_review(uri, review_text)
        return jsonify({
            'status': 0 if not error_msg else 1,
            'error_msg': error_msg
        })
コード例 #2
0
ファイル: web.py プロジェクト: haojiliu/honey-boba
def api_auth_email():
    """
  This is the endpoint to delete the uploaded design
  """
    email = utils.sanitize_user_input(request.form.get('email'))
    uid = utils.sanitize_user_input(request.form.get('uid'))
    true_email = l.get_email_by_uid(uid=uid)
    logging.warning('true email: %s email: %s, uid: %s' %
                    (true_email, email, uid))
    return jsonify({
        'status': 0 if email == true_email else 1,
        'errors': 'Failed, please try again.'
    })
コード例 #3
0
ファイル: web.py プロジェクト: haojiliu/honey-boba
def api_design_info_update():
    """Handles design info update,
  """
    try:
        uri = utils.sanitize_user_input(request.form.get('uri'))
        name = utils.sanitize_user_input(request.form.get('name'))
        desc = utils.sanitize_user_input(request.form.get('desc'))
        logging.warning('uri is %s desc is %s and name is %s' %
                        (uri, desc, name))
        l.touch_review_object(uri, None, None, name, desc)
        return jsonify({'status': 0, 'errors': ''})
    except:
        return jsonify({
            'status': 1,
            'errors': 'Something wrong when updating design info'
        })
コード例 #4
0
ファイル: web.py プロジェクト: haojiliu/honey-boba
def api_report():
    """
  This is the endpoint to report an inappropriate design
  """
    uri = utils.sanitize_user_input(request.form.get('uri'))
    error_msg = l.report_review_objects(uris=[uri])
    return jsonify({
        'status': 0 if not error_msg else 1,
        'error_msg': error_msg
    })
コード例 #5
0
ファイル: web.py プロジェクト: haojiliu/honey-boba
def api_activate():
    """
  This is the endpoint to delete the uploaded design
  """
    uri = utils.sanitize_user_input(request.form.get('uri'))
    error_msg = l.activate_review_objects(uris=[uri])
    return jsonify({
        'status': 0 if not error_msg else 1,
        'error_msg': error_msg
    })
コード例 #6
0
ファイル: web.py プロジェクト: haojiliu/honey-boba
def api_dev():
    """
  This is the endpoint to leave a comment or report a bug
  """
    body = utils.sanitize_user_input(request.form.get('body'))
    error_msg = l.create_a_comment(body=body)
    logging.warning('comments: %s' % body)
    return jsonify({
        'status': 0 if not error_msg else 1,
        'error_msg': error_msg
    })
コード例 #7
0
ファイル: web.py プロジェクト: haojiliu/honey-boba
def api_upload():
    """Handles design submissions,
  if uri is specified, update the existing design,
  otherwise create a new entry for the review object and
  return the generated uri
  """
    try:
        uri = utils.sanitize_user_input(request.form.get('uri'))
        email = utils.sanitize_user_input(request.form.get('email'))
        name = utils.sanitize_user_input(request.form.get('name'))
        desc = utils.sanitize_user_input(request.form.get('desc'))
        if not uri and not recaptcha():
            error_msg = 'Are you a robot?'
        else:
            error_msg, uri = _touch_file(uri, email, name, desc)
            assert not (error_msg
                        and uri), 'Either error message or uri, not both'
            # if file successfully uploaded, send an email
            if not error_msg:
                logging.warning('no error message')
                if email:
                    logging.warning('going to send an email')
                    payload = {
                        'type': constants.JOB_TYPE_EMAIL_UPLOAD_SUCCESS,
                        'receivers': [email],
                        'uri': uri,
                        'name': name
                    }
                    socket.send_json(payload)
                else:
                    # either updating existing design, or uploader didn't provide an email
                    pass
        return jsonify({
            'status': 0 if not error_msg else 1,
            'errors': error_msg,
            'uri': uri
        })
    except Exception as e:
        return jsonify({'status': 1, 'errors': str(e)})