def post(self):
        """
        验证打开病历填写页面的人的身份
        :return:
        """
        process_id = request.jsondata.get("process_id")
        patient_medical_id = request.jsondata.get("patient_medical_id")
        doctor_id = request.jsondata.get("doctor_id")
        patient_id = request.jsondata.get("patient_id")

        patient_medical = Query(PatientMedical).get(patient_medical_id)

        if doctor_id != -1:
            if patient_medical.get("receive_doctor_id") != doctor_id:
                abort(403, message=u"token和主治医生不是同一人")
        if patient_id != -1:
            if patient_medical.get("patient_id") != patient_id:
                abort(403, message=u"open_id和患者不是同一人")
        processes = json.loads(patient_medical.get("processes_json"))

        for process in processes:
            if process.get("process_id") == process_id:
                return {}
        else:
            abort(400, message=u"过程和病历不匹配")
 def get(self, process_id):
     """
     获取过程
     如果给了用户病历id,则获取填写过的那个最新的过程
     :param process_id:
     :return:
     """
     patient_medical_id = request.args.get("patient_medical_id")
     if not patient_medical_id:
         process = Query(MedicalProcess).get(process_id)
         return process
     else:
         patient_medical = Query(PatientMedical).get(patient_medical_id)
         processes = json.loads(patient_medical.get("processes_json"))
         for process in processes:
             if process.get("process_id") == process_id:
                 head = process.get("head")
                 if not head:
                     process = Query(MedicalProcess).get(process_id)
                     return process
                 else:
                     process = json.loads(Query(PatientMedicalProcess).get(head).get("result_json"))
                     return process
         else:
             abort(404)
Beispiel #3
0
def catit():
    request_cat_ids = request.form['cats'].split(',')
    photoid = request.form['photoid']
    
    photo = Query(Photo).get(photoid)
    print photo.get('name')
    cat_relation = photo.relation('category')
    previousCats = cat_relation.query().find()

    # Remove previous category
    for cat in previousCats:
        cat_relation.remove(cat)
    
    # Set new category
    for catid in request_cat_ids:
        cat = Query(Category).get(catid)
        print cat.get('name')
        if cat:
            cat_relation.add(cat)

    # photo.set('featured', True if (featured == 'true') else False)

    photo.save()

    alreadyCategorizedCount = Query.do_cloud_query('select count(*) from Photo where category != null').count
    
    return json.dumps({'status':'OK', 'count': alreadyCategorizedCount, 'photoid': photoid});
Beispiel #4
0
def generateCard(id):
    try:
        card = Query(Card).get(id)
        tid = card.get('temlate')
        if (card.get('photo') is None):
            msstream = BytesIO()
            if tid == 1:
                template(card, msstream)
            elif tid == 2:
                template2(card, msstream)
            elif tid == 3:
                template3(card, msstream)
            elif tid == 4:
                template4(card, msstream)
            else:
                template(card, msstream)
            url = os.environ["QINIU_ACCESS_URL"]
            access_key = os.environ["QINIU_ACCESS_KEY"]
            secret_key = os.environ["QINIU_SECRET_KEY"]
            #构建鉴权对象
            q = Auth(access_key, secret_key)
            #要上传的空间
            bucket_name = 'card'
            key = card.get('objectId')
            token = q.upload_token(bucket_name)
            ret, info = put_data(token, key, msstream.getvalue())
            if (info.ok()):
                metaData = {'owner': card.get('username')}
                photo = Photo()
                photo.set('mine_type', 'image/jpeg')
                photo.set('key', key)
                photo.set('name', key)
                photo.set('url', url + '/' + key)
                photo.set('provider', 'qiniu')
                photo.set('metaData', metaData)
                photo.set('bucket', bucket_name)
                photo.save()
                update = Card.create_without_data(id)
                user = _User.create_without_data('590be679ac502e006cdc63c0')
                update.set('user', user)
                update.set('username', '569dil3zuypnrpjqwe97l3qkw')
                update.set('photo', photo)
                update.save()
                return 'ok'
            else:
                return 'failed'
        else:
            return 'already'
    except LeanCloudError as e:
        if e.code == 101:  # 服务端对应的 Class 还没创建
            card = ''
            return 'no class'
        else:
            raise e
            return 'error'
Beispiel #5
0
def manage_blog_edit(blog_id):
    blog = Query(Blog).get(blog_id)
    if blog is None:
        raise notfound()
    return render_template('manage_blog_edit.html',
                           id=blog.id,
                           name=blog.get('name'),
                           summary=blog.get('summary'),
                           content=blog.get('content'),
                           action='/blog/%s/update' % blog_id,
                           redirect='/manage/blogs',
                           user=None)
Beispiel #6
0
def generate(request, id):
    try:
        card = Query(Card).get(id)
        tid = card.get('template')
        if (card.get('photo') is None):
            msstream = BytesIO()
            if tid == 1:
                template(card, msstream)
            elif tid == 2:
                template2(card, msstream)
            elif tid == 3:
                template3(card, msstream)
            elif tid == 4:
                template4(card, msstream)
            else:
                template(card, msstream)
            url = os.environ["QINIU_ACCESS_URL"]
            access_key = os.environ["QINIU_ACCESS_KEY"]
            secret_key = os.environ["QINIU_SECRET_KEY"]
            #构建鉴权对象
            q = Auth(access_key, secret_key)
            #要上传的空间
            bucket_name = 'card'
            key = card.get('objectId')
            token = q.upload_token(bucket_name)
            ret, info = put_data(token, key, msstream.getvalue())
            if (info.ok()):
                metaData = {'owner': card.get('username')}
                photo = Photo()
                photo.set('mine_type', 'image/jpeg')
                photo.set('key', key)
                photo.set('name', key)
                photo.set('url', url + '/' + key)
                photo.set('provider', 'qiniu')
                photo.set('metaData', metaData)
                photo.set('bucket', bucket_name)
                photo.save()
                update = Card.create_without_data(id)
                update.set('photo', photo)
                update.save()
                return HttpResponse(json.dumps(ret), content_type="text/plain")
            else:
                return HttpResponse('failed', content_type="text/plain")
        else:
            return HttpResponse('already', content_type="text/plain")

    except LeanCloudError as e:
        if e.code == 101:  # 服务端对应的 Class 还没创建
            card = ''
            return HttpResponse(e, content_type="text/plain")
        else:
            raise e
            return HttpResponse(e, content_type="text/plain")
def solve(res_list):
    for each in res_list:
        print each.get('ID'), each.get('kind')
        kind = each.get('kind')
        post_id = each.id

        if is_exist(post_id):
            print 'skip, exist post_id', post_id

        if kind == 10:    # html
            try:
                ID = each.get('ID')
                post_id = each.id
                query = Query(Post)
                p = query.get(post_id)
                title = each.get('title')
                brief = each.get('brief')
                html_text = html2txt(each.get('html'))
                txt = brief + html_text

                author = each.get('author')
                if not author:
                    owner_id = each.get('owner').id
                    query = Query(User)
                    owner = query.get(owner_id)
                    author = owner.get('username')

                create_and_save(post_id, kind, p, ID, author, txt, title)
            except:
                print traceback.print_exc()
                return

        else:     # txt
            try:
                pid = each.get('post').id
                query = Query(Post)
                p = query.get(pid)
                #title = p.title
                ID = p.get('ID')
                owner_id = each.get('owner').id
                query = Query(User)
                owner = query.get(owner_id)
                author = owner.get('username')
                txt = each.get('txt')
                create_and_save(post_id, kind, each.get('post'), ID, author, txt)
            except:
                print traceback.print_exc()
                return
Beispiel #8
0
def delete(**params):
    if 'cid' not in params:
        return {'code': 301, 'message': '参数错误:卡片ID不存在'}
    if 'uid' not in params:
        return {'code': 302, 'message': '参数错误:用户ID不存在'}
    card_id = params['cid']
    user_id = params['uid']
    try:
        query = Query(Card)
        query.include('user')
        card = query.get(card_id)
        if card is not None:
            user = card.get('user')
            if user.get('objectId') == user_id:
                _card = Card.create_without_data(card_id)
                _card.set('hidden', True)
                _card.save()
                return {'code': 200, 'message': 'ok'}
            else:
                result = {'code': 401, 'message': '没有权限'}
                return result
        else:
            result = {'code': 400, 'message': '卡片不存在'}
            return result
    except LeanCloudError as e:
        result = {'code': e.code, 'message': e.error}
        return result
Beispiel #9
0
def add():
	try:
		key_data = request.json['key']
		ch2o_data= request.json['ch2o']
		tem_data = request.json['tem']
		hum_data = request.json['hum']
		noi_data = request.json['noise']
		pm_data  = request.json['pm']
	except:
		return jsonify(error='json')
	query = Query(DeviceKey)
	try:
		device=query.get(key_data)
		index = device.get('index')
		name  = device.get('name')
		print 'Add Data',index,name
		control(index,pm_data)
		test_data = test_esp(ch2o=ch2o_data, t=tem_data, h=hum_data, noise=noi_data, pm=pm_data, key=key_data,name=name,index =index)
		try:
			test_data.save()
			
		except:
			return jsonify(error='save')
		upload_time =datetime.now().strftime('%Y-%m-%d %H:%M:%S')
		device.set('uploadtime',upload_time)
		try:
			device.save()
			print index,'save at',upload_time
		except:
			return jsonify(error ='staus save error')
		return jsonify(status ='succeed')
	except:
		return jsonify(error = 'key')
Beispiel #10
0
 def consume(self):
     queue = SQS()
     rs = queue.read()
     print 'Start consuming:'
     for record in rs:
         mailId = record.get_body()
         print mailId
         Timer = Object.extend('Timer')
         timerQuery = Query(Timer)
         timerQuery.equal_to('mailId', mailId)
         firstTimer = timerQuery.first()
         if firstTimer.get('status') != 'sent':
             Mail = Object.extend('Mail')
             query = Query(Mail)
             mailObj = query.get(mailId)
             sender = mailer()
             mailToSent = {
                 'to':mailObj.get('to'),
                 'html':mailObj.get('html'),
                 'subject':mailObj.get('subject')
             }
             sender.send(mailToSent)
             firstTimer.set('status','sent')
             firstTimer.save()
         queue.remove(record)
     return self;
    def post(self, process_id):
        patient_medical_id = request.jsondata.get("patient_medical_id")
        result_json = request.jsondata.get("result_json")
        creater_id = request.jsondata.get("creater_id")
        patient_medical = Query(PatientMedical).get(patient_medical_id)
        processes = json.loads(patient_medical.get("processes_json"))
        for index, process in enumerate(processes):
            if process.get("process_id") == process_id:
                medical_process = Query(MedicalProcess).get(process_id)
                patient_medical_process = PatientMedicalProcess()
                patient_medical_process.set("patient_medical", patient_medical)
                patient_medical_process.set("result_json", result_json)
                patient_medical_process.set("process", medical_process)
                patient_medical_process.set("creater_id", creater_id)
                patient_medical_process.save()

                process["head"] = patient_medical_process.id
                patient_medical.set("processes_json", json.dumps(processes))
                patient_medical.save()

                # 如果是第0个,说明是填写的第一个过程,要去除第一张卡片的第一项作为患者需求
                if index == 0:
                    patient_requirement = json.loads(result_json).get("cards")[0].get("items")[0].get("value")
                    patient_medical.set("patient_requirement", patient_requirement)
                    patient_medical.save()

                return {}
        else:
            abort(404, message="不匹配")
Beispiel #12
0
def test_basic_query():
    # find
    q = Query(GameScore)
    results = q.find()
    eq_(len(results), 10)

    # first
    q = Query(GameScore)
    game_score = q.first()
    assert game_score

    # get
    q = Query(GameScore)
    local_game_score = game_scores[0]
    q.get(local_game_score.id)

    # count
    q = Query(GameScore)
    eq_(q.count(), 10)

    # descending
    q = Query(GameScore).descending('score')
    eq_([x.get('score') for x in q.find()], range(9, -1, -1))

    # greater_than
    q = Query(GameScore).greater_than('score', 5).ascending('score')
    eq_([x.get('score') for x in q.find()], range(6, 10))

    q = Query(GameScore).greater_than_or_equal_to('score',
                                                  5).ascending('score')
    eq_([x.get('score') for x in q.find()], range(5, 10))

    q = Query(GameScore).less_than('score', 5).ascending('score')
    eq_([x.get('score') for x in q.find()], range(0, 5))

    q = Query(GameScore).less_than_or_equal_to('score', 5).ascending('score')
    eq_([x.get('score') for x in q.find()], range(0, 6))

    q = Query(GameScore).contained_in('score', [1, 2, 3]).ascending('score')
    eq_([x.get('score') for x in q.find()], range(1, 4))

    q = Query(GameScore).not_contained_in('score',
                                          [0, 1, 2, 3]).ascending('score')
    eq_([x.get('score') for x in q.find()], range(4, 10))

    q = Query(GameScore).select('score')
    assert not q.find()[0].has('playerName')
Beispiel #13
0
def editobj(**params):
    from leancloud import Object
    TestObject = Object.extend('TestObject')
    from leancloud import Query
    query = Query(TestObject)
    testObject = query.get('557fd90ee4b0d02dc2e3e342')
    testObject.set('foo', 'edit')
    testObject.save()
Beispiel #14
0
def test_basic_query():
    # find
    q = Query(GameScore)
    results = q.find()
    eq_(len(results), 10)

    # first
    q = Query(GameScore)
    game_score = q.first()
    assert game_score

    # get
    q = Query(GameScore)
    local_game_score = game_scores[0]
    q.get(local_game_score.id)

    # count
    q = Query(GameScore)
    eq_(q.count(), 10)

    # descending
    q = Query(GameScore).descending('score')
    eq_([x.get('score') for x in q.find()], range(9, -1, -1))

    # greater_than
    q = Query(GameScore).greater_than('score', 5).ascending('score')
    eq_([x.get('score') for x in q.find()], range(6, 10))

    q = Query(GameScore).greater_than_or_equal_to('score', 5).ascending('score')
    eq_([x.get('score') for x in q.find()], range(5, 10))

    q = Query(GameScore).less_than('score', 5).ascending('score')
    eq_([x.get('score') for x in q.find()], range(0, 5))

    q = Query(GameScore).less_than_or_equal_to('score', 5).ascending('score')
    eq_([x.get('score') for x in q.find()], range(0, 6))

    q = Query(GameScore).contained_in('score', [1, 2, 3]).ascending('score')
    eq_([x.get('score') for x in q.find()], range(1, 4))

    q = Query(GameScore).not_contained_in('score', [0, 1, 2, 3]).ascending('score')
    eq_([x.get('score') for x in q.find()], range(4, 10))

    q = Query(GameScore).select('score')
    assert not q.find()[0].has('playerName')
Beispiel #15
0
def _get_user():
    user = session.get('user')
    if not user:
        return
    github_user = Query(GitHubUser).get(user.get('id'))

    if not github_user.get('qiniu_ok'):
        return
    return github_user
Beispiel #16
0
def _get_user():
    user = session.get('user')
    if not user:
        return
    github_user = Query(GitHubUser).get(user.get('id'))

    if not github_user.get('qiniu_ok'):
        return
    return github_user
Beispiel #17
0
def sub():
    try:
        v2url = Query(V2info).add_descending('createdAt').first()
    except LeanCloudError as e:
        print(e)
        context = None
    else:
        context = v2url.get('urls_vmess_paser')
    return context
 def get(self, patient_medical_id):
     """
     获取患者填写过的过程
     获取填写过的最新的过程
     :param process_id:
     :return:
     """
     patient_medical = Query(PatientMedical).get(patient_medical_id)
     processes = json.loads(patient_medical.get("processes_json"))
     _processes = []
     for process in processes:
         head = process.get("head")
         if not head:
             process = Query(MedicalProcess).get(process.get("process_id"))
             _processes.append(process)
         else:
             process = json.loads(Query(PatientMedicalProcess).get(head).get("result_json"))
             _processes.append(process)
     return {"patient_medical": patient_medical, "processes": _processes}
Beispiel #19
0
def event(id):
    try:
        query = Query('Event')
        query.include('createdBy')
        query.include('members')
        event = query.get(id)
    except LeanEngineError as e:
        print(e)
        raise e
    return render_template('events.html', event=event)
Beispiel #20
0
def test_file_field():  # type: () -> None
    user = User()
    user.login("user1_name", "password")
    user.set("xxxxx", File("xxx.txt", io.BytesIO(b"qqqqq")))
    user.save()

    q = Query(User)
    saved_user = q.get(user.id)
    assert isinstance(saved_user.get("xxxxx"), File)
    assert saved_user.get("xxxxx").name == "xxx.txt"
Beispiel #21
0
def test_file_field():
    user = User()
    user.login('user1_name', 'password')
    user.set('xxxxx', File('xxx.txt', buffer_type(b'qqqqq')))
    user.save()

    q = Query(User)
    saved_user = q.get(user.id)
    assert isinstance(saved_user.get('xxxxx'), File)
    assert saved_user.get('xxxxx').name == 'xxx.txt'
Beispiel #22
0
def test_file_field():
    user = User()
    user.login('user1_name', 'password')
    user.set('xxxxx', File('xxx.txt', buffer('qqqqq')))
    user.save()

    q = Query(User)
    saved_user = q.get(user.id)
    assert isinstance(saved_user.get('xxxxx'), File)
    assert saved_user.get('xxxxx').name == 'xxx.txt'
Beispiel #23
0
def test_file_field():  # type: () -> None
    user = User()
    user.login('user1_name', 'password')
    user.set('xxxxx', File('xxx.txt', io.BytesIO(b'qqqqq')))
    user.save()

    q = Query(User)
    saved_user = q.get(user.id)
    assert isinstance(saved_user.get('xxxxx'), File)
    assert saved_user.get('xxxxx').name == 'xxx.txt'
Beispiel #24
0
def test(key):
    query = Query(DeviceKey)
    device = query.get(key)
    index = device.get('index')
    name = device.get('name')
    print 'Add Data', index, name
    upload_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    device.set('uploadtime', upload_time)
    device.save()
    print index, 'save at', upload_time
    return jsonify(status='ok')
Beispiel #25
0
def test(key):
	query = Query(DeviceKey)
	device=query.get(key)
	index = device.get('index')
	name  = device.get('name')
	print 'Add Data',index,name
	upload_time =datetime.now().strftime('%Y-%m-%d %H:%M:%S')
	device.set('uploadtime',upload_time)
	device.save()
	print index,'save at',upload_time
	return	jsonify(status='ok')
Beispiel #26
0
def updateOrder(oid,orderid,charge):
    try:
        orderc = Object.extend('order')
        query = Query(orderc)
        order = query.get(oid)
        print 'order=',order
        if order is not None:
                order.set("orderid",orderid)
                order.set("charge",charge)
                order.save()
        else:
            print 'order is none'        
    except Exception,e:
        print 'e=',e
Beispiel #27
0
def processOrder(orderno,ordertype):
    orderc = Object.extend('order')
    query = Query(orderc)
    order = query.get(orderno)
    print 'order=',order
    if order is not None:
        print 'not None'
        print 'odertype=',ordertype
        if ordertype == 'charge.succeeded':
            print 'charge.succeeded ok'
            order.set("status",1)
            order.save()
    else:
        print 'order is none'
Beispiel #28
0
def _receiversOffline(**params):
    print('_receiversOffline start')
    print(params)

    conversation_id = params['convId']
    query = Query("_Conversation")
    conversation = query.get(conversation_id)
    # if it is system notification skip
    if conversation.get('sys') == True:
        print "system notification, skip pushMessage"
        print('_receiversOffline end')
        return {'skip': True}
    else:
        from_peer = params['fromPeer']
        short_content = ""
        query = Query("_User")
        query.equal_to('username', from_peer)
        query_list = query.find()
        if len(query_list) > 0:
            short_content = query_list[0].get('nickname') + ": "

        content = params['content']
        mediaType = content[content.find('_lctype') +
                            9:content.find('_lctype') + 11]
        if mediaType == "-1":
            short_content += content[content.find('_lctext') +
                                     10:content.find('_lcattrs') - 3]
        elif mediaType == "-2":
            short_content += "[图片]"
        elif mediaType == "-3":
            short_content += "[语音信息]"
        elif mediaType == "-4":
            short_content += "[视频信息]"
        elif mediaType == "-5":
            short_content += "[位置]"
        elif mediaType == "-6":
            short_content += "[文件]"
        print('short_content:', short_content)
        payloads = {
            # 自增未读消息的数目,不想自增就设为数字
            'badge': 'Increment',
            'sound': 'default',
            # 使用开发证书
            '_profile': 'prod',
            'alert': short_content,
        }
        print('_receiversOffline end')
        return {
            'pushMessage': json.dumps(payloads),
        }
Beispiel #29
0
def ping(key):
    ping_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    try:
        query = Query(DeviceKey)
        device = query.get(key)
        index = device.get('index')
        device.set('ping_time', ping_time)
    except:
        return jsonify(error='search error')
    try:
        device.save()
    except:
        return jsonify(error='save error')
    print 'device ', index, 'ping @', ping_time
    return jsonify(index=index, time=ping_time)
Beispiel #30
0
def ping(key):
	ping_time =datetime.now().strftime('%Y-%m-%d %H:%M:%S')
	try:
		query = Query(DeviceKey)
		device=query.get(key)
		index = device.get('index')
		device.set('ping_time',ping_time)
	except:
		return jsonify(error ='search error')
	try:
		device.save()
	except:
		return jsonify(error ='save error')
	print 'device ',index,'ping @',ping_time
	return jsonify(index=index,time =ping_time)
Beispiel #31
0
def answers():
    uid = request.cookies.get('uid')
    qid = request.cookies.get('qid')
    logger.debug('user id in cookie: ' + str(uid))
    wuser = None
    if uid:
        try:
            query = Query(WeUsers)
            wuser = query.get(uid)
        except leancloud.LeanCloudError:
            logger.warning("WeUser not found via uid %s", uid)
    logger.debug("request data: %s form: %s", request.data, request.form)
    if wuser and qid:
        query = Query(Answers)
        query.equal_to('qid', qid)
        query.equal_to('userid', uid)
        answer = None
        try:
            answer = query.first()
        except leancloud.LeanCloudError:
            logger.debug("Need to create table for answer first")
        if not answer:
            answer = Answers()
            answer.qid = qid
            answer.userid = uid
            answer.value = request.form.get('answer')
            answer.voter = wuser.nickname
            answer.headimg = wuser.headimgurl
            answer.save()
            logger.debug("answered as %s", answer)
        else:
            """
            check modify answer for question
            """
            logger.debug("already answered %s", answer)
        answers_query = Query(Answers)
        answers_query.equal_to('qid', qid)
        answers = answers_query.find()
        answer_count = len(answers)

        return render_template("answers.html", answers=answers, answers_count=answer_count)
    else:
        pass
        answers_query = Query(Answers)
        answers_query.equal_to('qid', "56def37b8ac2470056ece82d")
        answers = answers_query.find()
        answer_count = len(answers)
        return render_template("answers.html", answers=answers, answers_count=answer_count)
Beispiel #32
0
def upload():
	try:
		key_data = request.json['key']
		query = Query(DeviceKey)
		device=query.get(key_data)
		index = device.get('index')
		name  = device.get('name')
		print 'upload',index,name
	except:
		return jsonify(error = 'key')
	try:
		datas = request.json['data']
		for data in datas:
			print 'tem',data['tem']
			print 'time',data['time']
	except:
	   return jsonify(error = 'json')
	return jsonify(status ='succeed')
Beispiel #33
0
def upload():
    try:
        key_data = request.json['key']
        query = Query(DeviceKey)
        device = query.get(key_data)
        index = device.get('index')
        name = device.get('name')
        print 'upload', index, name
    except:
        return jsonify(error='key')
    try:
        datas = request.json['data']
        for data in datas:
            print 'tem', data['tem']
            print 'time', data['time']
    except:
        return jsonify(error='json')
    return jsonify(status='succeed')
def set_train_data_trained(object_ids):
    '''Set poiData column `isTrain` to true during to object_ids

    Parameters
    ----------
    object_ids: list
      elems of it are strings represent objectId

    Returns
    -------
    flag: boolean
    '''
    PoiData = Object.extend('poiData')
    query = Query(PoiData)

    for object_id in object_ids:
        poi_data = query.get(object_id)
        poi_data.set('isTrain', True)
        poi_data.save()

    return True
Beispiel #35
0
def set_train_data_trained(object_ids):
    '''Set poiData column `isTrain` to true during to object_ids

    Parameters
    ----------
    object_ids: list
      elems of it are strings represent objectId

    Returns
    -------
    flag: boolean
    '''
    PoiData = Object.extend('poiData')
    query = Query(PoiData)

    for object_id in object_ids:
        poi_data = query.get(object_id)
        poi_data.set('isTrain', True)
        poi_data.save()

    return True
Beispiel #36
0
def add():
    try:
        key_data = request.json['key']
        ch2o_data = request.json['ch2o']
        tem_data = request.json['tem']
        hum_data = request.json['hum']
        noi_data = request.json['noise']
        pm_data = request.json['pm']
    except:
        return jsonify(error='json')
    query = Query(DeviceKey)
    try:
        device = query.get(key_data)
        index = device.get('index')
        name = device.get('name')
        print 'Add Data', index, name
        control(index, pm_data)
        test_data = test_esp(ch2o=ch2o_data,
                             t=tem_data,
                             h=hum_data,
                             noise=noi_data,
                             pm=pm_data,
                             key=key_data,
                             name=name,
                             index=index)
        try:
            test_data.save()

        except:
            return jsonify(error='save')
        upload_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        device.set('uploadtime', upload_time)
        try:
            device.save()
            print index, 'save at', upload_time
        except:
            return jsonify(error='staus save error')
        return jsonify(status='succeed')
    except:
        return jsonify(error='key')
Beispiel #37
0
def download(request, id):
    try:
        card = Query(Card).get(id)
        tid = card.get('template')
        msstream = BytesIO()
        if tid == 1:
            template(card, msstream)
        elif tid == 2:
            template2(card, msstream)
        elif tid == 3:
            template3(card, msstream)
        elif tid == 4:
            template4(card, msstream)
        else:
            template(card, msstream)
        return HttpResponse(msstream.getvalue(), content_type="image/png")
    except LeanCloudError as e:
        if e.code == 101:  # 服务端对应的 Class 还没创建
            card = ''
            return HttpResponse(e, content_type="text/plain")
        else:
            raise e
            return HttpResponse(e, content_type="text/plain")
Beispiel #38
0
def questions(qid):
    logger.debug(request.args)
    uid = request.cookies.get('uid')
    # uid = request.args.get("uid")
    logger.debug('user id in cookie: ' + str(uid))
    wuser = None
    # if uid:
    #     try:
    #         query = Query(WeUsers)
    #         wuser = query.get(uid)
    #     except leancloud.LeanCloudError:
    #         logger.warning("WeUser not found via uid %s", uid)
    if not wuser:
        wuser = validate_weuser()
    if wuser:
        logger.debug("questionnaire with id: %s and %s" % (qid, wuser.nickname))
        query = Query(Questionnaires)
        question = query.get(qid)
        if question:
            title = question.title
            logger.debug(question)
            answer_query = Query(Answers)
            answer_query.equal_to('qid', qid)
            answers = answer_query.find()
            resp = make_response(render_template('question.html',
                                   title=question.title, name=question.creator, qid=qid, question_heading=question.title,
                                   question_content=question.description, status=question.status, expired_at=question.expired_at,
                                   show_details=question.show_details, answers=answers, answers_count=len(answers)))
            # setcookie for user id
            resp.set_cookie('uid', wuser.id)
            resp.set_cookie('qid', qid)
            return resp
        else:
            return render_template('question.html', title="Unavailable questionnaire", name="No name", qid=qid)

    else:
        return render_template('question.html', title="Test", name="No name", qid=qid)
Beispiel #39
0
def download(request, id):
    try:
        card = Query(Card).get(id)
        tid = card.get('template')
        type = card.get('type')
        msstream = BytesIO()
        data = {
            'copyright': '天天码图',
            'author': card.get('author'),
            'id': card.id,
            'url': card.get('img_url'),
            'title': card.get('name'),
            'content': card.get('content')
        }
        if type == 'movie':
            Movie.movie(data, msstream)
        elif type == 'music':
            Music.music(data, msstream)
        elif type == 'book':
            Book.book(data, msstream)
        else:
            if tid == 1:
                template(card, msstream)
            elif tid == 2:
                template2(card, msstream)
            elif tid == 3:
                template3(card, msstream)
            elif tid == 4:
                template4(card, msstream)
            else:
                template(card, msstream)
        return HttpResponse(msstream.getvalue(), content_type="image/png")
    except LeanCloudError as e:
        if e.code == 101:  # 服务端对应的 Class 还没创建
            card = ''
            return HttpResponse(e, content_type="text/plain")
        else:
            raise e
            return HttpResponse(e, content_type="text/plain")
Beispiel #40
0
from leancloud import Object
from leancloud import Query
leancloud.init('73b6c6p6lgs8s07m6yaq5jeu7e19j3i3x7fdt234ufxw9ity', 'h5lu7ils6mutvirgrxeodo6xfuqcgxh4ny0bdar3utl076cu')

queue = SQS()
rs = queue.read()

for record in rs:
    print record.get_body()
    mailId = record.get_body()
    Timer = Object.extend('Timer')
    timerQuery = Query(Timer)
    timerQuery.equal_to('mailId', mailId)
    firstTimer = timerQuery.first()
    print firstTimer
    if firstTimer.get('status') != 'sent':
        Mail = Object.extend('Mail')
        query = Query(Mail)
        mailObj = query.get(mailId)
        print mailObj
        sender = mailer()
        mailToSent = {
            'to':mailObj.get('to'),
            'html':mailObj.get('html'),
            'subject':mailObj.get('subject')
        }
        sender.send(mailToSent)
        firstTimer.set('status','sent')
        firstTimer.save()
    queue.remove(record)
Beispiel #41
0
 def take(cls, id):
     query = Query(cls)
     return query.get(id)
Beispiel #42
0
def queryOneData(dataId):
    query = Query(allPictures)
    pictureItem = query.get(dataId)
    print pictureItem.get('image_src')
Beispiel #43
0
def manage_blog_edit(blog_id):
    blog = Query(Blog).get(blog_id)
    if blog is None:
        raise notfound()
    return render_template('manage_blog_edit.html', id=blog.id, name=blog.get('name'), summary=blog.get('summary'), content=blog.get('content'), action='/blog/%s/update' % blog_id, redirect='/manage/blogs', user=None)
Beispiel #44
0
from flask import Flask, render_template, Blueprint
from leancloud import Object, Query, LeanCloudError

app = Flask(__name__)


@app.route('/')
def index():
	return render_template(
		'index.html', 
		content=blogpost.content, 
		title= blogpost.title, 
		post_date=(blogpost.created_at).strftime('%Y.%m.%d')
		)

#if __name__ == '__main__':
#    app.debug = True
#    app.run()

class BlogPost(Object):
	@property
	def content(self):
		return self.get('main_body')
	@property
	def title(self):
	    return self.get('title')


query = Query(BlogPost)
blogpost = query.get('562c41f960b2804578347f97')
print blogpost.created_at
Beispiel #45
0
leancloud.init('9mDg7pW6a3OeJdtafnUvz5a5-gzGzoHsz', 'ca2bfiU3krn4j5WxeS3UEfYC')


class GameScore(Object):
    def is_cheated(self):
        # 可以像正常 Python 类一样定义方法
        return self.get('cheatMode')

    @property
    def score(self):
        # 可以使用property装饰器,方便获取属性
        return self.get('score')

    @score.setter
    def score(self, value):
        # 同样的,可以给对象的score增加setter
        return self.set('score', value)

'''
game_score = GameScore()
game_score.set('score', 222)  # or game_score.score = 42
game_score.set('cheatMode', True)
game_score.set('playerName', 'wwwww2w')
game_score.save()
'''
query = Query(GameScore)
game_score = query.get('569f7c667db2a200521e063a')
game_score.increment('score', 1)
game_score.save()

print game_score.get('playerName')
def queryOneData(dataId):
    query = Query(allPictures)
    pictureItem = query.get(dataId)
    print pictureItem.get('image_src')
Beispiel #47
0
	def bushou(self, value):
		return self.set('bushou', value)

	@bihua.setter
	def bihua(self, value):
		return self.set('bihua', value)

	@pinyin.setter
	def pinyin(self, value):
		return self.set('pinyin', value)

	@jiben.setter
	def jiben(self, value):
		return self.set('jiben', value)

	@xiangxi.setter
	def xiangxi(self, value):
		return self.set('xiangxi', value)

	@py.setter
	def py(self, value):
		return self.set('py', value)

	@ucode.setter
	def ucode(self, value):
		return self.set('ucode', value)

from leancloud import Query
query = Query(Detail)
detail = query.get('55cf129100b042cb01b8a4cc')
print detail.get('xiangxi')