Example #1
0
def download(request):
    if 'file' in request.POST:
        path = os.path.dirname(os.path.abspath(__file__))
        userid = request.GET['userid']
        userpath = path + "/projects/" + userid + "/"
        filename = request.POST['file']

        # create the response header for the file download
        f = open(userpath + filename, 'r')
        content = f.read()
        f.close()
        response = HttpResponse(content)

        response['Content-Disposition'] = 'attachment; filename="' + filename + '"'
        if filename.endswith(".csv"):
            response.content_type = 'text/csv';
        else:
            response.content_type = 'text/html';
        return response
    else:
        items = request.POST['ontology'].split(";")
        response = HttpResponse(content_type='text/csv')
        response['Content-Disposition'] = 'attachment; filename="ontology.csv"'

        writer = csv.writer(response)
        header = ["gid", "general", "sid", "specific", "relation"]
        writer.writerow(header)
        
        # write the file rows to the response
        for item in items:
            if len(item) == 0:
                continue
            row = item.split(",")
            writer.writerow(row)
        return response
Example #2
0
def analyze(request):

    midi_file = request.FILES['midi-file']
    # Exclude first 3 letters, which are added by JS
    # e.g. '03 '
    track_name = request.POST['selectedTrackName'][3:]

    with TemporaryDirectory() as tdir:
        midi_file_path = os.path.join(tdir, midi_file.name)
        with open(midi_file_path, 'wb+') as file:
            for chunk in midi_file.chunks():
                file.write(chunk)

        result = midiutil.parse_midi(midi_file_path, track_name)
        if not result:
            return HttpResponseBadRequest('解析不能なMIDIファイルです')

        str_result = ''
        for line in result:
            for chord in line:
                str_result += chord + '   '
            str_result += '\n'

        with open(os.path.join(tdir, 'result.txt'), 'w') as result_file:
            result_file.write(str_result)

        with open(os.path.join(tdir, 'result.txt')) as result_file:
            res = HttpResponse()
            res.content = result_file
            res.content_type = 'text/plain'
            res['Content-Disposition'] = 'attachment;filename=result.txt'

    return res
Example #3
0
def rss_page(request, username=None):
    puser = get_object_or_404(User, username=username, is_active=True)
    notes = puser.notes.order_by('-date_created')[:10]
    rssurl = request.build_absolute_uri(
        reverse('blog_page', kwargs={'username': username}))
    last_build = None
    items = []
    for note in notes:
        if (last_build is None or last_build < note.date_created):
            last_build = note.date_created
        note_url = note.get_absolute_url()
        rssitem = PyRSS2Gen.RSSItem(title=note.title,
                                    link=note_url,
                                    description=note.get_html_content(),
                                    guid=PyRSS2Gen.Guid(note_url),
                                    pubDate=note.date_created)
        items.append(rssitem)

    if last_build is None:
        last_build = datetime.now()

    # render the rss
    rss = PyRSS2Gen.RSS2(title=u"%s's notes" % puser.username,
                         link=rssurl,
                         description='%s' % puser.username,
                         lastBuildDate=last_build,
                         items=items)

    resp = HttpResponse(rss.to_xml())
    resp.content_type = 'application/rss+xml'
    return resp
def pl_all_lights_off(request, protocol, group):
    if request.method != "PUT":
        return HttpResponseBadRequest(
            content=simplejson.dumps({"errors": ["Only PUT HTTP verb accepted for pl_all_lights_off command!!, arrived: %s" % request.method, ]}),
            content_type="application/json",)
    try:
        protocol = Protocol.objects.get(name=protocol)
    except Protocol.DoesNotExist:
        return HttpResponseBadRequest(
            content=simplejson.dumps({"errors": ["Protocol %s not found" % protocol, ]}),
            content_type="application/json",)
    except Exception as er:
        return HttpResponseBadRequest(
            content=simplejson.dumps({"errors": ["Error while fetching protocol %s: %s" % (protocol, er), ]}),
            content_type="application/json",)

    exec "from %s.cmds import pl_all_lights_off" % protocol.module

    try:
        ret = pl_all_lights_off(group)
    except ValueError as ex:
        return HttpResponseBadRequest(
            content=simplejson.dumps({"errors": [str(ex), ]}),
            content_type="application/json",)

    for device in Device.objects.filter(did__istartswith=group):
        device.status = 0
        device.save()
    response = HttpResponse(simplejson.dumps({"status": "ok"}))
    response.content_type = "application/json"
    return response
Example #5
0
def Options(request):
    res = HttpResponse()
    if request.method == "GET":
        option_type = request.GET.get('type') 
        if option_type is None:
            res.status_code = 400
            res.reason_phrase = "Missing option type"
        else:
            res.content_type = "application/json"
            if option_type == "Course":
                data = json.dumps({"options": [x.to_json() for x in Course.get_all_courses().all()] })
                res.write(data)
                res.status_code = 200
            elif option_type == "Faculty":
                data = json.dumps({"options": [x.to_json() for x in CUser.get_all_faculty().all()] })
                res.write(data)
                res.status_code = 200
            elif option_type == "Room":
                data = json.dumps({"options": [x.to_json() for x in Room.get_all_rooms().all()] })
                res.write(data)
                res.status_code = 200
            elif option_type == "Time":
                res.status_code = 400
                res.reason_phrase = "NYI"
            else:
                res.status_code = 400
                res.reason_phrase = "Missing option type"
    else:
        res.status_code = 400 
    return res
Example #6
0
def pullmessage(request):

    print 'Try to pull message...'

    # 获取全部待转发的用户消息
    messages = qrcode_models.RequestMessage.objects.all()

    msgarray = []
    for item in messages:
        dictitem = {}
        dictitem['msg_id'] = item.msg_id
        dictitem['msg_type'] = item.msg_type
        dictitem['msg_src'] = item.msg_src
        dictitem['msg_data'] = item.msg_data
        dictitem['msg_url'] = item.msg_url

        msgarray.append(dictitem)

    # 序列化json字符串
    jsonresp = json.dumps(msgarray, ensure_ascii=False)

    # 删除相关消息记录
    messages.delete()

    print 'Take Message:' + jsonresp

    response = HttpResponse(jsonresp)
    response.charset = 'UTF-8'
    response.content_type = 'application/json;charset=utf-8'

    return response
Example #7
0
def login(request):
    print('----login------')
    json_result = json.loads(request.body)
    email = json_result.get('email')
    passwd = json_result.get('passwd')
    if not email:
        raise APIValueError('email', 'Invalid email.')
    if not passwd:
        raise APIValueError('passwd', 'Invalid password.')
    users = User.objects.filter(email=email)
    if len(users) == 0:
        raise APIValueError('email', 'Email not exist.')
    user = users[0]
    # check passwd:
    sha1 = hashlib.sha1()
    sha1.update(user.id.encode('utf-8'))
    sha1.update(b':')
    sha1.update(passwd.encode('utf-8'))
    if user.passwd != sha1.hexdigest():
        raise APIValueError('passwd', 'Invalid password.')
    # authenticate ok, set cookie:
#     user.passwd = '*******'
    r = HttpResponse(json.dumps(user, cls=UserEncoder, ensure_ascii=False).encode('utf-8'))
    cookieString = user2cookie(user, 86400)
    r.set_cookie(COOKIE_NAME, cookieString, max_age=86400, httponly=True)
    r.content_type = 'application/json; charset=utf-8'
    return r
Example #8
0
def preview_figure(request, preview_code, *args, **kwargs):
    response = HttpResponse()
    preview_str = None
    tempdir_preview = None
    try:
        tempdir_base_path = tempfile.gettempdir()
        tempdir_preview = tempdir_base_path + "/" + "tmp" + preview_code
        preview_full_path = tempdir_preview + "/" + PREVIEW_NAME
        preview_fhandle = open(preview_full_path, 'rb')
        preview_str = str(preview_fhandle.read())
        preview_fhandle.close()
        if preview_str is None:
            raise
    except Exception as e:
        module_dir = os.path.dirname(__file__)
        error_location = os.path.join(module_dir,
                                      "static/ref_ts/img/warning.png")
        err_hdl = open(error_location, 'rb')
        preview_str = str(err_hdl.read())
        err_hdl.close()
    finally:
        if tempdir_preview is not None and os.path.isdir(tempdir_preview):
            shutil.rmtree(tempdir_preview)
        response.content_type = "image/png"
        response.write(preview_str)
        return response
Example #9
0
def api_user(request):
    json_result = json.loads(request.body)
    email = json_result.get('email')
    name = json_result.get('name')
    passwd = json_result.get('passwd')
    print('-----email-------:',email)
    print('-----name-------:',name)
    print('-----passwd-------:',passwd)
    if not name or not name.strip():
        raise APIValueError('name')
    if not email or not _RE_EMAIL.match(email):
        raise APIValueError('email')
    if not passwd or not _RE_SHA1.match(passwd):
        raise APIValueError('passwd')
    users = User.objects.filter(email=email)
    if len(users) > 0:
        raise APIError('register:failed', 'email', 'Email is already in use.')
    uid = next_id()
    shal_passwd = '%s:%s' % (uid, passwd)
    print('type:',type(time.time()))
    user = User(id=uid, name=name.strip(), email=email, passwd=hashlib.sha1(shal_passwd.encode(encoding='utf_8')).hexdigest(),admin=1, image='http://www.gravatar.com/avatar/%s?d=mm&s=120' % hashlib.md5(email.encode('utf-8')).hexdigest())
    user.save()
    # make session cookie:
    r = HttpResponse(json.dumps(user, cls=UserEncoder, ensure_ascii=False).encode('utf-8'))
    r.set_cookie(COOKIE_NAME, user2cookie(user, 86400), max_age=86400, httponly=True)
    r.content_type = 'application/json; charset=utf-8'
    return r
Example #10
0
def get_media_response(request, data, permissions=None, headers=None):
    # For compatibility purpose
    content, url = None, None
    if isinstance(data, (File, )):
        content, url = data, data.url
    else:
        # https://docs.djangoproject.com/fr/2.1/ref/request-response/#passing-iterators # noqa
        content, url = open(data['path'], mode='rb'), data['url']

    filetype = magic.from_buffer(content.read(1024), mime=True)
    content.seek(0)

    if isinstance(permissions, list):
        if not set(permissions).intersection(
                request.user.get_all_permissions()):
            return HttpResponseForbidden()

    response = HttpResponse(content_type='application/octet-stream')
    if isinstance(headers, dict):
        for header, value in headers.items():
            response[header] = value

    if settings.MEDIA_ACCEL_REDIRECT:
        response['X-Accel-Redirect'] = f'{url}'
    else:
        response.content = content.read()
        response.content_type = filetype

    return response
Example #11
0
def GetSectionInfo(request):
    res = HttpResponse()
    if request.method == "POST":
        sectionName = json.loads(request.body)['section']
        section = Section.get_section_by_name(sectionName)
        section_types = SectionType.get_all_section_types()
        for obj in section_types:
            for attr in section_types.query.deferred_loading[0]:
                obj._meta.local_fields.append(
                    section_types.model._meta.get_field(attr))
        serialized_types = json.loads(
            serializers.serialize("json", section_types))
        section_info = {
            'options': {
                'type': [
                    serialized_types[i]["fields"]["name"]
                    for i in range(len(serialized_types))
                ],
                'faculty':
                [fac.to_json()['name'] for fac in CUser.get_all_faculty()],
                'room':
                [room.to_json()['name'] for room in Room.get_all_rooms()],
            },
            'info': section.to_json(),
            'conflicts': {
                'room': Section.get_conflicts('room', section),
                'faculty': Section.get_conflicts('faculty', section)
            }
        }
        res.content_type = "json"
        res.write(json.dumps(section_info))
        res.status_code = 200
    else:
        res.status_code = 400
    return res
Example #12
0
def save(request, element):
	response = HttpResponse()
	#print (element)
	#print (request.body)
	#print (request.META)
	if (request.user.is_authenticated()):
		#print "Save received!! from "
		try:
			#print request.body
			#Validate the element passed: Valid only tabs,bookmarks or history.
			validate_type(element)
			parsedData = json.loads(request.body)	#parse the incoming data to json type.
			alreadyExists = []
			for p in parsedData:
				p['user'] = request.user
				p['typeOf'] = element
				savedData = saveData(p)
				if (savedData['exists'] == True):
					alreadyExists.append(savedData['savedData'])
			if (len(alreadyExists) > 0):
				response['error'] = 'already_exists'
				response.content = json.dumps(parseData(alreadyExists))	
				response.content_type = 'application/json'
		except ValidationError:
			response = HttpResponseBadRequest()
			response['error'] = 'Bad Request'
			response.content = 'Bad Request. Only allowed: /save/tabs/ or /save/bookmarks or /save/history'	
	else:
		response.status_code = 401
		response['error'] = 'Unauthorized'
		response.content = 'Unauthorized'
	return response
Example #13
0
def get_json(request):
    # return render(request,'homepage/cartData.json')
    response = HttpResponse()
    a={
  "status":1,
  "result":{
    "totalMoney":109,
    "list":[
      {
        "productId":"201703010001",
        "productName":"贝康诺TM孕前夫妇基因筛检(大众套餐)",
        "productPrice":2400,
        "productQuantity":1,
        "productImage":"/static/static/img/product-1.jpg",
        "parts":[
          {
            "partsId":"10001",
            "partsName":"迪士尼门票"
          },
          {
            "partsId":"10002",
            "partsName":"耳聋分析"
          }
        ]
      },
      {
        "productId":"201703010002",
        "productName":"贝康诺TM孕前夫妇地中海贫血基因筛检",
        "productPrice":180,
        "productQuantity":3,
        "productImage":"/static/static/img/product-2.jpg",
        "parts":[
          {
            "partsId":"20001",
            "partsName":"烧水壶"
          }
        ]
      },
      {
        "productId":"201703010003",
        "productName":"贝康诺TM孕前夫妇耳聋基因筛检",
        "productPrice":180,
        "productQuantity":1,
        "productImage":"/static/static/img/product-3.jpg",
        "parts":[
          {
            "partsId":"10001",
            "partsName":"茶具"
          }
        ]
      }
    ]
  },
  "message":""
}
    response.content = json.dumps(a)
    response.content_type = "application/json"
    response["Access-Control-Allow-Origin"] = '*'
    return response
Example #14
0
def proxy_to(request, path, target_url):
    url = '%s%s?key=%s' % (target_url, path, settings.STATS_API_KEY)
    if request.META.has_key('QUERY_STRING'):
        url += '&' + request.META['QUERY_STRING']
    try:
        proxied_request = urllib2.urlopen(url)
        status_code = proxied_request.code
        mime_type = proxied_request.headers.typeheader or mimetypes.guess_type(
            url)
        content = proxied_request.read()
    except urllib2.HTTPError as error:
        response = HttpResponse(error.msg, status=error.code)
        response.content_type = 'text/plain'
    else:
        response = HttpResponse(content, status=status_code)
        response.content_type = mime_type
    return response
Example #15
0
def hello(request):
    # 1.返回一个字符串
    response = HttpResponse()
    response.content = '大家好,今天天不错'.encode('utf8')
    response.status_code = 200
    response.charset = 'utf-8'
    response.content_type = 'text/html'
    return response
Example #16
0
def http_response(content,
                  content_type="text/html",
                  code=200,
                  *args,
                  **kwargs):
    http = HttpResponse(content=content, *args, **kwargs)
    http.status_code = code
    http.content_type = content_type
    return http
Example #17
0
 def get_as_response(self):
     self.fill_workbook()
     response = HttpResponse()
     response.content_type = self.current_sheet.mime_type
     with open(self.file_path, 'rb') as content:
         response.write(content.read())
     self.cleanup()
     response['Content-Disposition'] = 'attachment; filename="{}"'.format(self.display_name)
     return response
Example #18
0
def download_zip(request, playlist_id):
    print 'DOWNLOADING!!!'
    playlist = Playlist.objects.get(id=playlist_id)
    with open('%s.zip' % playlist.title, 'rb') as zipf:
        chunk_size = 8192
        response = HttpResponse(FileWrapper(zipf), chunk_size)
        response.content_type = 'application/zip'
        response['Content-Length'] = os.path.getsize(zipf.name)
        response['Content-Disposition'] = "attachment; filename=%s" % zipf.name
        return response
Example #19
0
 def verify(self, request, base_model):
     if not base_model.state:
         response = HttpResponse()
         if "html" in request.META['HTTP_ACCEPT']:
             response.content_type = "text/html"
             response.content = "Content cannot be delivered"
         response.status_code = 503
         return response
     else:
         return None
Example #20
0
def Schedules(request):
    res = HttpResponse()
    if request.method == "GET":
        res.content_type = "application/json"
        data = json.dumps({"active": [x.to_json() for x in Schedule.get_all_schedules().all()] })     
        res.write(data)
        res.status_code = 200
    else:
        res.status_code = 400 
    return res
Example #21
0
 def get(self, request, format=None):
     try:
         testing_params = TestingParameter.get_params()
         content = JSONRenderer().render(testing_params)
         resp = HttpResponse(content)
         resp.content_type = 'application/json'
         return resp
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
Example #22
0
def write_response(request, data):
    response = HttpResponse()
    response.content_type="application/json"

    cb = get_callback_from_request(request)
    if cb is not None:
        return_string = '%s(%s)' % (cb, data)
        response.write(return_string)
        return response
    response.write(data)
    return response
Example #23
0
def write_response(request, data):
    response = HttpResponse()
    response.content_type = "application/json"

    cb = get_callback_from_request(request)
    if cb is not None:
        return_string = '%s(%s)' % (cb, data)
        response.write(return_string)
        return response
    response.write(data)
    return response
Example #24
0
def normalize_address(request):
    if 'address' in request.REQUEST:
        address = request.REQUEST['address']   
        normaddy = Normalize(address)
        dat = normaddy.dict()
    else:
        dat = ['error', 'address is a required parameter']
    response = HttpResponse()
    response.content_type = 'text/json'
    response.write(json.dumps(dat))
    return response
Example #25
0
def get_short_url(request):
    status = {"status": 200}
    response = HttpResponse()
    long_url = request.REQUEST.get("long_url")
    ret = short_url(long_url)
    status['status'] = ret[0]
    status['short_url'] = ret[1]
    response["Access-Control-Allow-Origin"] = '*'
    response.content = json.dumps(status)
    response.content_type = "application/json"
    return response
Example #26
0
 def get(self, request, format=None):
     try:
         testing_params = TestingParameter.get_params()
         content = JSONRenderer().render(testing_params)
         resp = HttpResponse(content)
         resp.content_type = 'application/json'
         return resp
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
Example #27
0
def Schedules(request):
    res = HttpResponse()
    if request.method == "GET":
        res.content_type = "application/json"
        data = json.dumps({
            "active":
            [x.to_json() for x in Schedule.get_all_schedules().all()]
        })
        res.write(data)
        res.status_code = 200
    elif request.method == "POST" and "approve-schedule" in request.POST:
        try:
            academic_term = request.POST.get('academic-term')
            Schedule.get_schedule(term_name=academic_term).approve()
            return HttpResponseRedirect('/scheduling')
        except IntegrityError as e:
            if not e[0] == 1062:
                res.status_code = 500
                res.reason_phrase = "db error:" + e[0]
            else:
                res.status_code = 400
                res.reason_phrase = "Duplicate entry"
        except:
            res.status_code = 400
    elif request.method == "POST" and "add-schedule" in request.POST:
        form = AddScheduleForm(request.POST)
        if form.is_valid():
            try:
                form.save()
                return HttpResponseRedirect('/scheduling')
            except ObjectDoesNotExist:
                res.status_code = 404
                res.reason_phrase = "Schedule not found"
            except IntegrityError as e:
                res.status_code = 500
                res.reason_phrase = e[0]
        else:
            res.status_code = 400
            res.reason_phrase = "Invalid form entry"
    elif request.method == "POST" and "delete-schedule" in request.POST:
        try:
            academic_term = request.POST.get('academic-term')
            Schedule.get_schedule(term_name=academic_term).delete()
            return HttpResponseRedirect('/scheduling')
        except ObjectDoesNotExist:
            res.status_code = 404
            res.reason_phrase = "Schedule not found"
        except:
            res.status_code = 400
            res.reason_phrase = "Invalid form entry"
    else:
        res.status_code = 400
    return res
Example #28
0
 def get(self, request, *args, **kwargs):
     signature = request.GET.get('signature', '')
     timestamp = request.GET.get('timestamp', '')
     nonce = request.GET.get('nonce', '')
     echo_str = request.GET.get('echostr', '')
     try:
         check_signature(settings.COMPONENT_APP_TOKEN, signature, timestamp, nonce)
     except InvalidSignatureException:
         echo_str = '错误的请求'
     response = HttpResponse(echo_str)
     response.content_type = 'text/plain;charset=utf-8'
     return response
Example #29
0
def handle_readrecord_request(request):
    resultCode = '0'
    returnXmlData = ''

    if request.method == 'GET':
        print("readrecord view handle_readrecord_request get!!!!!!")
        requestAction = request.META.get('HTTP_ACTION', '')
        print('readrord view handle_readrecord_request requestAction= %s' %
              requestAction)
        if requestAction == 'getRecentList':
            resultCode, returnXmlData = recentbookhandle.Hand_Recentbook_Get(
                request)
        elif requestAction == 'getAllReadBookList':
            resultCode, returnXmlData = recentbookhandle.Hand_Allbooklist_Get(
                request)
        elif requestAction == 'getAnnotationList':
            resultCode, returnXmlData = annotationreqhandle.Hand_Annotation_Get(
                request)
        elif requestAction == 'getReadDateBookList':
            resultCode, returnXmlData = readdatareqhandle.Handle_ReadDateList_Get(
                request)
        elif requestAction == 'getPeriodReadWordTime':
            resultCode, returnXmlData = readdatareqhandle.Handle_ReadWordTime_Get(
                request)
        elif requestAction == 'getBookDataList':
            resultCode, returnXmlData = readdatareqhandle.Hand_EveryBookData_Get(
                request)

        response = HttpResponse()
        response.setdefault('result-code', resultCode)
        response.content_type = 'application/xml'
        response.content = returnXmlData

        return response

    elif request.method == 'POST':
        print("readrord view handle_readrecord_request post!!!!!!")
        requestAction = request.META.get('HTTP_ACTION', '')
        print('readrord view handle_readrecord_request requestAction= %s' %
              requestAction)

        if requestAction == 'postReadProgressList':
            resultCode = readprogressreqhandle.Handle_Readprogress_Post(
                request)
        elif requestAction == 'postAnnotationList':
            resultCode = annotationreqhandle.Handle_Annotation_Post(request)
        elif requestAction == 'postRecentList':
            resultCode = recentbookhandle.Handle_Recentbook_Post(request)

        response = HttpResponse()
        response.setdefault('result-code', resultCode)
        return response
Example #30
0
def DeleteSection(request):
    res = HttpResponse()
    if request.method == "POST":
        sectionName = json.loads(request.body)["section"]
        sectionObjects = Section.get_sections_by_name(sectionName)
        for obj in sectionObjects:
            obj.delete()
        res.content_type = "json"
        res.write(json.dumps({"response": "Success!"}))
        res.status_code = 200
    else:
        res.status_code = 400
    return res
Example #31
0
def ConflictCheck(request):
    res = HttpResponse()
    if request.method == "POST":
        sectionData = json.loads(request.body)
        conflicts = Confirmation(sectionData['start-time'],
                                 sectionData['end-time'], sectionData['room'],
                                 sectionData['faculty'],
                                 sectionData['schedule'], sectionData['days'])
        res.content_type = 'json'
        res.write(json.dumps(conflicts))
        res.status_code = 200
    else:
        res.status_code = 400
    return res
Example #32
0
def jewel_loader(request):
    """
    Retrieve jewels, according the specified filters.
    Display jewels in JSON format.
    """
    json_jewels = []
    request.GET = request.GET.copy()
    if control_search(request.GET) is False:
        raise Http404("Invalid filters")
    for jewel in retrieve_searched_jewel(request.GET):
        json_jewels.append(jewel.to_json())
    response = HttpResponse(json.dumps(json_jewels))
    response.content_type = "text/plain; charset=utf-8"
    return response
def generic_api_call(request):
  get_params = {}
  for i in request.GET.keys():
    get_params[i.encode("UTF-8")] = request.GET[i].encode("UTF-8")

  post_params = {}
  for i in request.POST.keys():
    post_params[i.encode("UTF-8")] = request.POST[i].encode("UTF-8")

  res = core.generic_api_core(get_params, post_params)

  rsp = HttpResponse(res["response"])
  rsp.content_type=res["content_type"]
  rsp.status_code =res["status"]
  return rsp
def _response(data, code = 200, serialize = True):
  ''' 
  Return a successful, normal HttpResponse (code 200). 
  Serializes by default any object passed.
  '''
  r = HttpResponse()
  r.status_code = code
  if serialize:
    is_object = isinstance(data, models.query.QuerySet)
    if isinstance(data, models.query.QuerySet) or (isinstance(data, list) and (isinstance(data[0], models.query.QuerySet))):
      data = serializers.serialize('json', data)
    else:
      data = json.dumps(data)
  r.content = data
  r.content_type = 'application/json;charset=utf-8'
  return r
Example #35
0
def _response(data, code=200, serialize=True):
    ''' 
  Return a successful normal HttpResponse (code 200). 
  Serializes by default any object passed.
  '''
    r = HttpResponse()
    r.status_code = code
    if serialize:
        is_object = isinstance(data, models.query.QuerySet)
        if isinstance(data, models.query.QuerySet) or (isinstance(
                data, list) and (isinstance(data[0], models.query.QuerySet))):
            data = serializers.serialize('json', data)
        else:
            data = json.dumps(data)
    r.content = data
    r.content_type = 'application/json;charset=utf-8'
    return r
Example #36
0
	def download_photos( modeladmin, request, queryset):
		with tempfile.SpooledTemporaryFile() as tmp:
			with zipfile.ZipFile(tmp, 'w', zipfile.ZIP_DEFLATED) as archive:
				for photo in queryset:
					#projectUrl = str(item.cv) + ''
					date_time = photo.date_added.astimezone( 
									timezone.get_default_timezone( ) 
									).strftime( "%y%m%d-%H%M%S" )
					fileNameInZip = '{2}_{1}_{0}.jpg'.format(
									photo.slug, photo.department_item.name, 
									date_time )
					archive.write(photo.image.path,fileNameInZip)
				tmp.seek(0)
				response = HttpResponse(tmp.read())
				response.content_type = 'application/x-zip-compressed'
				response['Content-Disposition'] = 'attachment; filename="reportbot.zip"'
				return response	
Example #37
0
def CheckVersion(request):
    print("apps update views.py checkversion!!!")

    resultCode = '0'
    returnData = ''

    if request.method == 'GET':
        requestAction = request.META.get('HTTP_ACTION', '')

        if requestAction == "softwareupgrade":
            resultCode,returnData = softwarecheck.checkUpdate(request,softwarepackage)


        response = HttpResponse()
        response.setdefault('result-code', resultCode)
        response.content_type = 'application/json'
        response.content = json.dumps(returnData)

        return response
Example #38
0
def SectionDetailConflicts(request):
    res = HttpResponse()
    if request.method == "POST":
        sectionDetails = json.loads(request.body)['section_details']
        conflict_dict = {}
        for s in sectionDetails:
            section = Section.get_section_by_name(s['name'])
            faculty_conflicts = Section.get_conflicts('faculty', section)
            room_conflicts = Section.get_conflicts('room', section)
            conflict_dict[s['name']] = {
                'faculty': faculty_conflicts,
                'room': room_conflicts
            }
        res.content_type = 'json'
        res.write(json.dumps(conflict_dict))
        res.status_code = 200
    else:
        res.status_code = 400
    return res
Example #39
0
def index_json(request):
    """
    info about files uploaded to the geonode used by 
    the javascript ame list view.
    """
    
    info = []
    for file in AMEFile.objects.all():
        file_info = {}
        file_info['name'] = file.name
        file_info['scenario'] = file.scenario
        file_info['country'] = file.country
        file_info['filename'] = file.filename
        file_info['download_url'] = file.download_url
        file_info['edit_url'] = reverse('capra.files.views.dispatch', args=[file.id])
        info.append(file_info)

    res = HttpResponse(json.dumps(info))
    res.content_type = 'application/json'
    return res
Example #40
0
def rss_page(request, username=None):
    puser = get_object_or_404(User,
                             username=username,
                             is_active=True)
    notes = puser.notes.order_by('-date_created')[:10]
    rssurl = request.build_absolute_uri(reverse('blog_page',
                                                kwargs={'username': username}))
    last_build = None
    items = []
    for note in notes:
        if (last_build is None or 
            last_build < note.date_created):
            last_build = note.date_created
        note_url = note.get_absolute_url()
        rssitem = PyRSS2Gen.RSSItem(
            title=note.title,
            link=note_url,
            description=note.get_html_content(),
            guid=PyRSS2Gen.Guid(note_url),
            pubDate=note.date_created
            )
        items.append(rssitem)

    if last_build is None:
        last_build = datetime.now()
    
    # render the rss
    rss = PyRSS2Gen.RSS2(
        title=u"%s's notes" % puser.username,
        link=rssurl,
        description='%s' % puser.username,
        lastBuildDate=last_build,
        items=items
        )

    resp = HttpResponse(rss.to_xml())
    resp.content_type = 'application/rss+xml'
    return resp
Example #41
0
def get_location_data_view(request, aff_id):
 # longitude: {{point.x}}
 # latitude: {{point.y}}

	#check that the group exists
	try:
		group = Group.objects.get(code=aff_id)
	except Exception as e:
		json_response = [{"success":"false", "message":"ERROR: Group does not exist"}]
		cb = get_callback_from_request(request)
		if cb is not None:
			return_string = "%s(%s)" % (cb, json.dumps(json_response))
			response = HttpResponse(return_string)
			response.content_type = "application/json"
			return response
		return HttpResponse(json.dumps(json_response), content_type="application/json")

	#get all the rider locations associated with the group
	rider_mapping_set = Affinity_Group_Mapping.objects.filter(affinity_group_id=group.id)
	json_data = []
	json_data.append({"success":"true","message":"success"})
	for row in rider_mapping_set:
		rider_id = row.rider_id
		try:
			point = Location.objects.filter(rider__id=rider_id).order_by('-id')[0]
			long_coord = point.coords.x
			lat_coord = point.coords.y
			json_data.append({'riderId': rider_id, 'latitude':lat_coord,'longitude':long_coord})
		except Exception as e:
			x = 1
			# handle error if a rider has no location data

	#return the location data to the client
	cb = get_callback_from_request(request)
	if cb is not None:
		return_string = '%s(%s)' % (cb, json.dumps(json_data))
		return HttpResponse(return_string, content_type="application/json")
	return HttpResponse(json.dumps(json_data), content_type="application/json")
def R(data, request = None, **kwargs):
  ''' 
  Return a successful, normal HttpResponse (code 200). 
  Serializes by default any object passed.
  '''
  if not request is None:
    if 'pretty' in request.REQUEST:
      kwargs['pretty'] = (request.REQUEST['pretty'].lower() in [ '1', 'true'])
  r = HttpResponse()
  defaults = { 'code' : 200, 'serialize' : True, 'pretty' : False }
  kwargs = dict(defaults.items() + kwargs.items())
  r.status_code = kwargs['code']
  if kwargs['pretty']:
    indent = 4
    separators = (',', ': ')
  else:
    indent = None
    separators = (',', ':')
  if kwargs['serialize']:
    data = json.dumps(data, cls=Serializer, indent = indent, separators = separators)
  r.content = data
  r.content_type = 'application/json;charset=utf-8'
  return r
Example #43
0
  def update(self, request, expression):
    response = HttpResponse()
    response.content_type = 'application/json'

    # Get the id of the person we are modifying
    userId = TryParseInt(expression)
    if userId is None:
      response.write(self.__ModifyUserFailureJSON("ERROR_BAD_USER_ID"))
      return response

    # Get the field that we wish to change, should be the column name
    field = request.data.get('field')
    if field is None:
      response.write(self.__ModifyUserFailureJSON("ERROR_BAD_FIELD"))
      return response

    # Get the value we want the column to be
    value = request.data.get('value')
    if value is None:
      response.write(self.__ModifyUserFailureJSON("ERROR_BAD_VALUE"))
      return response
    
    ## Connect to our database and call the sproc
    if field == "first":
      CallSprocFetchOne("kixeye.ModifyUserFirstName", [userId, value,])
    elif field == "last":
      CallSprocFetchOne("kixeye.ModifyUserLastName", [userId, value,])
    elif field == "nickname":
      CallSprocFetchOne("kixeye.ModifyUserNickname", [userId, value,])
    else:
      # If none of those are the fields, then the user input is bad
      response.write(self.__ModifyUserFailureJSON("ERROR_BAD_FIELD"))
      return response

    # Set response.content to the json
    response.write(self.__ModifyUserSuccessJSON())
    return response
Example #44
0
 def get_response_for_url(self, url):
     r = HttpResponse("Service Down")
     r["test rendered"] = "headers"
     r.status_code = 503
     r.content_type = "text/html"
Example #45
0
 def get(self, request):
     response = HttpResponse('{"response": "Esto es my home"}', content_type='application/json')
     response.content_type = 'application/json'
     return response
Example #46
0
 def get_response_for_url(self, url):
     r = HttpResponse("Test")
     r["test rendered"] = "headers"
     r.status_code = 200
     r.content_type = "text/html"
     return r
Example #47
0
 def get(self, request, *args, **kwargs):
     response = HttpResponse(self.certificate.data)
     response.content_type = 'text/plain'
     response['Content-Disposition'] = 'attachment; certificate.pem'
     return response
Example #48
0
def http_response(content, content_type="text/html", code=200, *args, **kwargs):
    from django.http import HttpResponse
    http = HttpResponse(content=content, *args, **kwargs)
    http.status_code = code
    http.content_type = content_type
    return http