예제 #1
0
파일: download.py 프로젝트: csd0429/mywork
def deleteCover(request):
    news_id=request.GET.get('news_id')
    print 'news_id:'+news_id
    # 创建Session:
    session=db.db_createSession()
    
    # 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
    img = session.query(Image).filter(Image.news_id==news_id).one()
    if img:
        rm='/usr/workspace/news/static/images/'+img.news_cover
        os.remove(rm)
        imgs = img.news_img[1:-1].split(',')
        imgs.remove(img.news_cover)
        img.news_img=imgs
        img.news_cover=''
        session.add(img)
        session.commit()
        session.close()
        resJSON='{"result":"succeed"}'
    else:
        resJSON='{"result":"failed"}'
    
    response = HttpResponse(json.dumps(resJSON))
    response.__setitem__("Content-type", "application/json")
    response.__setitem__("Access-Control-Allow-Origin", "*")

    return response
예제 #2
0
파일: user.py 프로젝트: csd0429/mywork
def check(request):
    user_id = request.POST.get('user_id')
    token_id = request.POST.get('token_id')
    invite_code = request.POST.get('invite_code')
    print invite_code
    print token_id
    newToken = ''
    if not checkToken(token_id):
        deleteToken(token_id)
        newToken = updateToken('create', None, None)
        print newToken
    if len(user_id) == 11:
        session = db.db_createSession()
        user = session.query(User).filter(User.user_id == user_id).all()
        if user:
            return HttpResponse(json.dumps({"result": 'registered', "newToken": newToken}),
                                content_type="application/json")
        else:
            invite = session.query(Invite).filter(Invite.user_id == user_id, Invite.invite_code == invite_code).all()
            if len(invite) == 1:
                return HttpResponse(json.dumps({"result": 'unregistered', "newToken": newToken}),
                                    content_type="application/json")
            else:
                return HttpResponse(json.dumps({"result": 'error', "newToken": newToken}),
                                    content_type="application/json")
예제 #3
0
파일: addNews.py 프로젝트: csd0429/mywork
def addNews(request):
    news_id=request.GET.get('news_id')
    news_title=urllib.unquote(request.GET.get('news_title'))
    news_info=urllib.unquote(request.GET.get('news_info'))
    news_img=request.GET.get('news_img')
    news_date=request.GET.get('news_date')
    news_source=urllib.unquote(request.GET.get('news_source'))
    news_url=request.GET.get('news_url')
    type_id=request.GET.get('type_id')
    session=db.db_createSession()
    
    news = session.query(News).filter(News.news_id==news_id).all()
    if len(news)==0 and len(news_id)==8:
        
        newNews=News()
        newNews.news_id=news_id
        newNews.news_title=news_title
        newNews.news_info=news_info
        newNews.news_content=news_url
        newNews.news_img='{'+news_img+'}'
        newNews.news_date=news_date
        newNews.news_source=news_source
        newNews.news_url=news_url
        newNews.news_status=0
        newNews.type_id=type_id
        session.add(newNews)
        session.commit()
        session.close()
        response=HttpResponse('succeed')
        response.__setitem__('Access-Control-Allow-Origin','http://54.223.148.123:8070')
        return response
    else:
        response=HttpResponse('failed')
        response.__setitem__('Access-Control-Allow-Origin','http://54.223.148.123:8070')
        return response
예제 #4
0
파일: resNews.py 프로젝트: csd0429/mywork
def headinfo(request):

    type_id = request.GET.get("type_id")

    session = db.db_createSession()

    # 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
    newses = session.query(News).filter(News.news_status == "3").all()
    results = []
    for news in newses:
        # 打印类型和对象的name属性:
        if type_id in news.type_id.split(","):
            image = session.query(Image).filter(Image.news_id == news.news_id).one()
            result = [
                {
                    "news_id": news.news_id,
                    "news_title": news.news_title,
                    "news_info": news.news_info,
                    "news_content": news.news_content,
                    "news_img": "http://54.223.148.123:8090/static/images/" + image.news_cover,
                    "type_id": type_id,
                }
            ]
            print result
            results += result
    # 关闭Session:

    session.close()
    response = HttpResponse('{"news":' + json.dumps(results) + "}", content_type="application/json")
    response.__setitem__("Access-Control-Allow-Origin", "*")
    return response
예제 #5
0
파일: user.py 프로젝트: csd0429/mywork
def resetPwd(request):
    pwd_1 = request.POST.get('pwd_1')
    pwd_2 = request.POST.get('pwd_2')
    user_id = request.POST.get('user_id')
    print pwd_1
    print pwd_2
    print user_id
    if pwd_1 == pwd_2:
        if 6 <= len(pwd_1) <= 16 and 6 <= len(pwd_2) <= 16:
            session = db.db_createSession()
            user = session.query(User).filter(User.user_id == user_id).all()
            if len(user) == 1:
                user[0].user_pwd = pwd_1
                session.add(user[0])
                telcode = session.query(TelCode).filter(TelCode.user_id == user_id).all()
                session.delete(telcode)
                session.commit()
                session.close()
                return render_to_response('pwd-succeed.html', {"user_id": user_id})
            else:
                return render_to_response('pwd-failed.html')
        else:
            return render_to_response('resetPwd.html', {"user_id": user_id, "error": "密码长度应在6~16位之间"})
    else:
        return render_to_response('resetPwd.html', {"user_id": user_id, "error": "两次密码输入不一致,请重新输入!"})
예제 #6
0
파일: user.py 프로젝트: csd0429/mywork
def resIdCode(request):
    token_id = request.GET.get('token_id')
    im = Image.open('/usr/workspace/news/static/test.png')
    draw = ImageDraw.Draw(im)
    mp = hashlib.md5()
    mp.update(str(datetime.datetime.now()))
    mp_src = mp.hexdigest()
    rand_str = mp_src[0:4]
    draw.text((30, 0), rand_str[0],
              font=ImageFont.truetype("/usr/workspace/news/static/DejaVuSans-Bold.ttf",
                                      random.randrange(70, 110)))
    draw.text((78, 0), rand_str[1],
              font=ImageFont.truetype("/usr/workspace/news/static/DejaVuSans-Bold.ttf",
                                      random.randrange(70, 110)))
    draw.text((135, 0), rand_str[2],
              font=ImageFont.truetype("/usr/workspace/news/static/DejaVuSans-Bold.ttf",
                                      random.randrange(70, 110)))
    draw.text((185, 0), rand_str[3],
              font=ImageFont.truetype("/usr/workspace/news/static/DejaVuSans-Bold.ttf",
                                      random.randrange(70, 110)))
    del draw
    request.session['checkcode'] = rand_str
    buf = cStringIO.StringIO()
    im.save(buf, 'png')
    session = db.db_createSession()
    print token_id
    token = session.query(Token).filter(Token.token_id == token_id).all()
    if len(token) == 1:
        print rand_str
        token[0].code_id = rand_str
        session.add(token[0])
        session.commit()
        session.close()
    return HttpResponse(buf.getvalue(), 'image/png')
예제 #7
0
파일: token.py 프로젝트: csd0429/mywork
def checkUserToken(user_id,token_id):
    session=db.db_createSession()
    token=session.query(User).filter(User.user_id==user_id,User.token_id==token_id).all()
    if len(token)==1:
        return True
    else:
        return False
예제 #8
0
파일: token.py 프로젝트: csd0429/mywork
def getToken(request):
    # user_id=request.GET.get('user_id')
    # print user_id
    session=db.db_createSession()
    # now=datetime.datetime.now()
    # tokens=session.query(Token).all()
    # if len(tokens)>0:
    #     for token in tokens:
    #         if datetime.datetime.strptime(token.token_time,"%Y-%m-%d %H:%M:%S")<now:
    #             session.delete(token)
    #             session.commit()
    chars=string.ascii_letters+string.digits
    token_rand=''.join([random.choice(chars) for i in range(8)])
    time=datetime.datetime.now()+datetime.timedelta(hours=1)
    newtoken=Token()
    newtoken.token_id=token_rand
    newtoken.token_time=str(time)[:19]
    session.add(newtoken)

    # if len(user_id)>0:
    #     user=session.query(User).filter(User.user_id==user_id).all()
    #     if len(user)==1:
    #         user[0].token_id=token_rand
    #         session.add(user[0])
    session.commit()
    session.close()
    # return HttpResponse('{"token":"'+token_rand+'","time":"'+str(time)[:19]+'"}', content_type="application/json")
    return HttpResponse('{"token_id":"'+token_rand+'"}', content_type="application/json")
예제 #9
0
파일: user.py 프로젝트: csd0429/mywork
def sendEmail(request):
    user_id = request.POST.get('user_id')
    user_email = request.POST.get('user_email')

    session = db.db_createSession()
    user = session.query(User).filter(User.user_email == user_email).all()
    session.close()
    if len(user) == 0:
        mailto_list = [user_email]
        mail_host = "smtp.163.com"
        mail_user = "******"
        mail_pass = "******"
        mail_postfix = "163.com"
        content = "Please click this url:" + "http://54.223.148.123:8090/user/checkEmail/?user_id=" + user_id + "&user_email=" + user_email + "&time=" + str(
            datetime.datetime.now())[:-7].replace(' ', 'T')
        me = mail_user + "<" + mail_user + "@" + mail_postfix + ">"
        msg = MIMEText(content, _charset='gbk')
        msg['Subject'] = "mark邮箱验证"
        msg['From'] = "*****@*****.**"
        msg['To'] = ";".join(mailto_list)
        try:
            s = smtplib.SMTP()
            s.connect(mail_host)
            s.login(mail_user, mail_pass)
            s.sendmail(me, mailto_list, msg.as_string())
            s.close()
            return HttpResponse('{"result":"succeed"}', content_type="application/json")
        except Exception, e:
            return HttpResponse('{"result":"' + str(e) + '"}', content_type="application/json")
예제 #10
0
파일: user.py 프로젝트: csd0429/mywork
def changePwd(request):
    user_id = request.POST.get('user_id')
    new_pwd = request.POST.get('new_pwd')
    old_pwd = request.POST.get('old_pwd')
    user_type = request.POST.get('user_type')
    token_id = request.POST.get('token_id')
    print user_id,new_pwd,old_pwd,user_type,token_id
    newToken = ''
    session = db.db_createSession()
    user = session.query(User).filter(User.user_id == user_id, User.user_type == user_type,
                                      User.user_pwd == old_pwd, User.token_id == token_id).all()
    if user and 6 <= len(new_pwd) <= 16:
        if not checkToken(token_id):
            deleteToken(token_id)
            newToken = updateToken('create', None, None)
            user[0].token_id = newToken
        user[0].user_pwd = new_pwd
        session.add(user[0])
        session.commit()
        session.close()
        return HttpResponse(json.dumps({"result": 'succeed', "newToken": newToken}),
                            content_type="application/json")
    else:
        return HttpResponse(json.dumps({"result": 'failed', "newToken": newToken}),
                            content_type="application/json")
예제 #11
0
파일: download.py 프로젝트: csd0429/mywork
def setCover(request):
    print 'a'
    news_id=request.GET.get('news_id')
    image_id=request.GET.get('image_id')
    news_img=request.GET.get('news_img')
    print 'news_id:'+news_id
    print 'image_id:'+image_id
    print 'news_img:'+news_img
    file_name=news_id+'_'+image_id+'.'+news_img.split('.').pop().lower()
    # file_name=news_id+'_'+image_id+'.jpg'
    print 'here:'+file_name
    # 创建Session:
    session=db.db_createSession()

    # 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
    img = session.query(Image).filter(Image.news_id==news_id).all()
    if img:
        img[0].news_cover=file_name
        session.add(img[0])
        session.commit()
        session.close()
    else:
        img=Image()
        img.news_id=news_id
        img.news_cover=file_name
        session.add(img)
        session.commit()
        session.close()
    response = HttpResponse(file_name)
    response.__setitem__("Access-Control-Allow-Origin", "*")

    return response
예제 #12
0
파일: download.py 프로젝트: csd0429/mywork
def addImg(request):
    news_id=request.GET.get('news_id')
    image_id=request.GET.get('image_id')
    news_img=request.GET.get('news_img')
    print 'news_id:'+news_id
    print 'image_id:'+image_id
    print 'news_img:'+news_img

    path=r'/usr/workspace/news/static/images/'
    file_name=news_id+'_'+image_id+'.'+news_img.split('.').pop().lower()
    # file_name=news_id+'_'+image_id+'.jpg'
    print file_name

    dest_dir=os.path.join(path,file_name)

    url=news_img
    try:
        urllib.urlretrieve(url,dest_dir)
    except:
        print '\tError retrieving the URL:',dest_dir

    # 创建Session:
    session=db.db_createSession()

    # 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
    img = session.query(Image).filter(Image.news_id==news_id).all()
    if img:
        if img[0].news_img:
            imgs = img[0].news_img[1:-1].split(',')
        else:
            imgs =[]
        file_name=news_id+'_'+image_id+'.'+news_img.split('.').pop().lower()
        # file_name=news_id+'_'+image_id+'.jpg'
        # if imgs:
        imgs.append(file_name)
        img[0].news_img=imgs
        # else:
        session.add(img[0])
        session.commit()
        session.close()

        # return HttpResponse("192.168.1.104:8080/static/images/"+file_name)
    else:
        img=Image()
        img.image_id=news_id
        img.news_img=[file_name]
        session.add(img)
        session.commit()
        session.close()

    resJSON='{"newUrl":"http://54.223.148.123:8090/static/images/'+file_name+'","image_id":"'+image_id+'"}'
    # response = HttpResponse("http://192.168.1.104:8080/static/images/"+file_name)
    response = HttpResponse(json.dumps(resJSON))
    response.__setitem__("Content-type", "application/json")
    response.__setitem__("Access-Control-Allow-Origin", "*")

    return response
예제 #13
0
파일: user.py 프로젝트: csd0429/mywork
def addBlog(request):
    print 's'
    blog_title = request.POST.get('blog_title')
    blog_content = request.POST.get('blog_content')
    blog_tel = request.POST.get('blog_tel')
    blog_name = request.POST.get('blog_name')
    blog_role = request.POST.get('blog_role')
    print blog_title,blog_content,blog_tel,blog_name
    blog_time=str(datetime.datetime.now())
    session = db.db_createSession()
    chars=string.ascii_letters+string.digits
    ss=''.join([random.choice(chars) for i in range(4)])
    print 'a'
    blog_id=blog_tel.encode('utf-8')+ss
    status=True
    print 'b'
    while status:
        print 'a'
        chars=string.ascii_letters+string.digits
        ss=''.join([random.choice(chars) for i in range(4)])
        blog_id=blog_tel.encode('utf-8')+ss
        print 's'
        if checkBlog(session,blog_id):
            print 'sdfsdfewf---'
            status=False
    print 'sds'
    blog=Blog()
    blog.blog_id=blog_id
    blog.blog_tel=blog_tel
    if blog_name:
        blog.blog_name=blog_name
    blog.blog_title=blog_title
    blog.blog_content=blog_content
    blog.blog_role=blog_role
    blog.blog_time=blog_time
    blog.blog_status='0'
    print 's'

    f=request.FILES["blog_img"]
    # f=request.GET.get('blog_img')
    file_name=blog_id+'.jpg'
    print 'sd'
    with open('/usr/workspace/news/static/images/'+file_name,'wb+') as destination:
    # with open('/Users/Csd/PycharmProjects/lokimo/static/images/'+file_name,'wb+') as destination:
        for chunk in f.chunks():
            destination.write(chunk)

    print 'sdfsdf'
    session.add(blog)
    session.commit()
    session.close()
    response=HttpResponse("succeed")
    response.__setitem__("Access-Control-Allow-Origin","*")
    return response
예제 #14
0
파일: user.py 프로젝트: csd0429/mywork
def login(request):
    user_id = request.POST.get('user_id')
    user_pwd = request.POST.get('user_pwd')
    user_type = request.POST.get('user_type')
    token_id = request.POST.get('token_id')
    newToken = ''
    print user_id, user_pwd, user_type, token_id
    session = db.db_createSession()
    user = session.query(User).filter(User.user_id == user_id, User.user_type == user_type).all()
    print 'a'
    if user:
        print 'sdf'
        if user[0].user_pwd == user_pwd:
            print 'df'
            if checkToken(token_id):
                user[0].token_id = token_id
            else:
                print 'ab'
                deleteToken(token_id)
                print 'bc'
                newToken = updateToken('create', None, None)
                print 'sss'
                user[0].token_id = newToken
            print 'sdfdsf'
            session.add(user[0])
            session.commit()
            print 'ss'
            if user[0].user_name:
                if user[0].user_email:
                    print 'sdfd'
                    return HttpResponse('{"user":'******',"result":"succeed","newToken":"' + newToken + '"}',
                                        content_type="application/json")
                else:
                    return HttpResponse('{"user":'******''}) + ',"result":"succeed","newToken":"' + newToken + '"}',
                                        content_type="application/json")
            else:
                if user[0].user_email:
                    return HttpResponse('{"user":'******'',
                          "user_email": user[0].user_email}) + ',"result":"succeed","newToken":"' + newToken + '"}',
                                        content_type="application/json")
                else:
                    return HttpResponse(
                        '{"user":'******'', "user_email": ''}) + ',"result":"succeed","newToken":"' + newToken + '"}',
                        content_type="application/json")
        else:
            return HttpResponse('{"result":"failed","newToken":"' + newToken + '"}', content_type="application/json")
    else:
        return HttpResponse('{"result":"failed","newToken":"' + newToken + '"}', content_type="application/json")
예제 #15
0
파일: token.py 프로젝트: csd0429/mywork
def updateToken(type,user_id,token_id):
    if type=='create':
        session=db.db_createSession()
        chars=string.ascii_letters+string.digits
        token_rand=''.join([random.choice(chars) for i in range(8)])
        time=datetime.datetime.now()+datetime.timedelta(hours=1)
        newtoken=Token()
        newtoken.token_id=token_rand
        newtoken.token_time=str(time)[:19]
        session.add(newtoken)
        session.commit()
        session.close()
        return token_rand
    if type=='instead':
        session=db.db_createSession()
        user=session.query(User).filter(User.user_id==user_id).all()
        if len(user)==1:
            user[0].token_id=token_id
            session.add(user[0])
            session.commit()
            session.close()
예제 #16
0
파일: editImage.py 프로젝트: csd0429/mywork
def upload(request):
    file=request.FILES['Filedata']
    
    session=db.db_createSession()
    
    # 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
    img = session.query(Image_).filter(Image_.news_id==file.name[:-6]).all()
    if img:
        img[0].news_cover=file.name
        session.add(img[0])
        session.commit()
        session.close()
    
    ext_allowed=['gif','jpg','jpeg','png']
    max_size=2621440
    save_dir='/usr/workspace/news/static/images/'
    save_path=save_dir
    if not file.name:
        print '文件不存在!'
    ext=file.name.split('.').pop()
    print file.name
    if ext not in ext_allowed:
        print '不是所要求的图片格式!'
    if file.size>max_size:
        print '文件太大!'
    if not os.path.isdir(save_path):
        os.makedirs(save_path)
        new_file='%s.%s'%(int(time.time()),ext)
    t=save_path+str(file)
    # k=t[-46:]
    im=Image.open(file)
    # im.thumbnail((132,132))
    im.save(t)
    print 'save ok!'


    from boto.s3.connection import S3Connection,OrdinaryCallingFormat,Location
    from boto.s3.key import Key

    from filechunkio import FileChunkIO
    print 'a'
    conn=S3Connection('AKIAPAH5ZK4LC32GKVKA','TR3unyBnwuv577UYYPXGOXGkcY7OEFSsBuwpjFlx')
    print 'b'
    print conn.bucket_class

    bucket=conn.get_bucket('markbucket')
    print bucket
    print bucket.get_all_keys()
    k=Key(bucket,'a1')
    print 'a'
    k.set_contents_from_filename('/usr/workspace/news/static/images/'+file.name)
    print 'b'
예제 #17
0
파일: user.py 프로젝트: csd0429/mywork
def forgetSMS(request):
    user_id = request.POST.get('user_id')
    code_id = request.POST.get('code_id')
    token_id = request.POST.get('token_id')
    print user_id
    print code_id
    print token_id
    newToken = ''

    session = db.db_createSession()
    token = session.query(Token).filter(Token.token_id == token_id).all()
    if len(token) == 1:
        print 'a'
        if token[0].code_id == code_id:
            telcode=session.query(TelCode).filter(TelCode.user_id==user_id).all()
            if len(telcode)==0:
                print 'b'
                mp = hashlib.md5()
                mp.update(str(datetime.datetime.now()))
                mp_src = mp.hexdigest()
                telcode = mp_src[:10]
                newTelCode = TelCode()
                newTelCode.user_id = user_id
                newTelCode.tel_code = telcode
                session.add(newTelCode)
                session.commit()
            else:
                print 'c'
                telcode=telcode[0].tel_code
            if not checkToken(token_id):
                deleteToken(token_id)
                newToken = updateToken('create', None, None)
            return HttpResponse('{"result":"' + telcode + '","newToken":"' + newToken + '"}',
                                content_type="application/json")
        else:
            print 'c'
            token[0].code_id = None
            session.add(token[0])
            session.commit()
            session.close()
            if not checkToken(token_id):
                deleteToken(token_id)
                newToken = updateToken('create', None, None)
            return HttpResponse('{"result":"error","newToken":"' + newToken + '"}', content_type="application/json")
    else:
        print 'sd'
        newToken = updateToken('create', None, None)
        return HttpResponse('{"result":"error","newToken":"' + newToken + '"}', content_type="application/json")
예제 #18
0
파일: token.py 프로젝트: csd0429/mywork
def checkToken(token_id):
    session=db.db_createSession()
    token=session.query(Token).filter(Token.token_id==token_id).all()
    now=datetime.datetime.now()
    print 'check a'
    if len(token)==1:
        print 'check b'
        if datetime.datetime.strptime(token[0].token_time,"%Y-%m-%d %H:%M:%S")>now:
            print 'check aaa'
            return True
        else:
            print 'check ada'
            return False
    else:
        print 'check aqa'
        return False
예제 #19
0
파일: user.py 프로젝트: csd0429/mywork
def forgetPwd(request):
    tel_code = request.GET.get('tel_code')
    time = request.GET.get('time')
    print tel_code
    print time
    now = datetime.datetime.now()
    time = datetime.datetime.strptime(time, "%Y-%m-%dT%H:%M:%S")
    if time > now - datetime.timedelta(minutes=1000):
        session = db.db_createSession()
        telcode = session.query(TelCode).filter(TelCode.tel_code == tel_code).all()
        if len(telcode) == 1:
            user_id = telcode[0].user_id
            return render_to_response('resetPwd.html', {"user_id": user_id})
        else:
            return render_to_response('pwd-failed.html')
    else:
        return render_to_response('pwd-failed.html')
예제 #20
0
파일: user.py 프로젝트: csd0429/mywork
def register(request):
    print 'a'
    user_id = request.POST.get('user_id')
    user_pwd = request.POST.get('user_pwd')
    user_type = request.POST.get('user_type')
    token_id = request.POST.get('token_id')
    print user_id, user_pwd, user_type, token_id
    newToken = ''
    session = db.db_createSession()
    user = session.query(User).filter(User.user_id == user_id).all()
    invite = session.query(Invite).filter(Invite.user_id == user_id).all()

    # 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
    if user:
        print user[0].user_id
        return HttpResponse(json.dumps([{"result": 'failed', }, ]) + '}',
                            content_type="application/json")
    else:
        if len(user_id) == 11 and 6 <= len(user_pwd) <= 16:
            user = User()
            user.user_id = user_id
            user.user_pwd = user_pwd
            user.user_type = user_type

            if checkToken(token_id):
                user.token_id = token_id
            else:
                deleteToken(token_id)
                newToken = updateToken('create', None, None)
                user.token_id = newToken
            now = datetime.datetime.now().date()
            user.user_date = now
            print invite[0].user_email
            user.user_email = invite[0].user_email
            print 'a'
            session.add(user)
            print 'b'
            session.commit()
            print 'c'
            session.close()
            return HttpResponse(json.dumps({"result": 'succeed', "newToken": newToken}),
                                content_type="application/json")
        else:
            return HttpResponse(json.dumps({"result": 'failed', "newToken": newToken}),
                                content_type="application/json")
예제 #21
0
파일: download.py 프로젝트: csd0429/mywork
def showCover(request):
    news_id=request.GET.get('news_id')
    print 'news_id:'+news_id
    # 创建Session:
    session=db.db_createSession()
    
    # 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
    img = session.query(Image).filter(Image.news_id==news_id).one()
    if img:
        resJSON='{"cover":"http://54.223.148.123:8090/static/images/'+img.news_cover+'"}'
    else:
        resJSON='{"cover":"none"}'
    
    response = HttpResponse(json.dumps(resJSON))
    response.__setitem__("Content-type", "application/json")
    response.__setitem__("Access-Control-Allow-Origin", "*")
    session.close()
    return response
예제 #22
0
파일: homepage.py 프로젝트: csd0429/mywork
def fresh(request):
    
    type_id=request.POST.get('type_id')
    user_id=request.POST.get('user_id')
    token_id=request.POST.get('token_id')
    if checkUserToken(user_id,token_id):
        newToken=''
        if not checkToken(token_id):
            deleteToken(token_id)
            newToken=updateToken('create',None,None)
            updateToken('instead',user_id,newToken)
        session=db.db_createSession()
        # 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
        sends=session.query(Send).filter(Send.send_user_id==user_id,Send.send_type_id==type_id).one()
        num=0
        results=[]
        newses = session.query(News).filter(News.news_status=='3', News.type_id==type_id,News.news_date>sends.send_latest).order_by(desc(News.news_date)).all()

        if 0<len(newses):
            status='get'
            for news in newses:
                if num==0:
                    sends.send_latest=news.news_date
                image=session.query(Image).filter(Image.news_id==news.news_id).one()
                result=[
                        {
                        "news_id":news.news_id,
                        "news_title":news.news_title,
                        "news_info":news.news_info,
                        "news_content":news.news_content,
                        "news_img":"http://54.223.148.123:8090/static/images/"+image.news_cover,
                        },
                        ]
                results+=result
                num+=1
                session.add(sends)
                session.commit()

        else:
            status='none'
        session.close()
        # results=results+[{"status":status}]
        return HttpResponse('{"news":'+json.dumps(results)+',"status":"'+status+'","newToken":"'+newToken+'"}', content_type="application/json")
예제 #23
0
파일: user.py 프로젝트: csd0429/mywork
def getInviteCode(request):
    user_id = request.GET.get('user_id')
    user_email = request.GET.get('user_email')
    print user_id
    print user_email
    if len(user_id) == 11 and user_email:
        session = db.db_createSession()
        invite = session.query(Invite).filter(Invite.user_id == user_id).all()
        if len(invite) == 1:
            if not invite[0].invite_code:
                chars = string.ascii_letters + string.digits
                inviteCode = ''.join([random.choice(chars) for i in range(11)])
                print inviteCode
                invite[0].invite_code = inviteCode
                invite[0].user_email = user_email
                session.add(invite[0])
                session.commit()
                session.close()
            elif invite[0].user_email == user_email:
                inviteCode = invite[0].invite_code
            else:
                response = HttpResponse(json.dumps('{"result":"invalid"}'))
                response.__setitem__("Content-type", "application/json")
                response.__setitem__("Access-Control-Allow-Origin", "*")
                return response

            response = HttpResponse(json.dumps('{"result":"' + inviteCode + '"}'))
            response.__setitem__("Content-type", "application/json")
            response.__setitem__("Access-Control-Allow-Origin", "*")
            return response
        else:

            response = HttpResponse(json.dumps('{"result":"invalid"}'))
            response.__setitem__("Content-type", "application/json")
            response.__setitem__("Access-Control-Allow-Origin", "*")
            return response

    else:
        response = HttpResponse(json.dumps('{"result":"invalid"}'))
        response.__setitem__("Content-type", "application/json")
        response.__setitem__("Access-Control-Allow-Origin", "*")
        return response
예제 #24
0
파일: user.py 프로젝트: csd0429/mywork
def checkEmail(request):
    user_id = request.GET.get('user_id')
    user_email = request.GET.get('user_email')
    time = request.GET.get('time')
    now = datetime.datetime.now()
    time = datetime.datetime.strptime(time, "%Y-%m-%dT%H:%M:%S")
    if time > now - datetime.timedelta(minutes=1000):
        session = db.db_createSession()
        user = session.query(User).filter(User.user_id == user_id).all()
        if len(user) == 1 and not user[0].user_email:
            user[0].user_email = user_email
            session.add(user[0])
            session.commit()
            session.close()
            print user_id
            print user_email
            return render_to_response('email-succeed.html', {"user_id": user_id, "user_email": user_email})
        else:
            return render_to_response('email-failed.html')
    else:
        return render_to_response('email-failed.html')
예제 #25
0
파일: homepage.py 프로젝트: csd0429/mywork
def delete(request):
    
    type_id=request.POST.get('type_id')
    user_id=request.POST.get('user_id')
    token_id=request.POST.get('token_id')
    if checkUserToken(user_id,token_id):
        newToken=''
        if not checkToken(token_id):
            deleteToken(token_id)
            newToken=updateToken('create',None,None)
            updateToken('instead',user_id,newToken)


        session=db.db_createSession()
        # 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
        send=session.query(Send).filter(Send.send_user_id==user_id,Send.send_type_id==type_id)
        if send:
            send.delete()
            session.commit()
            session.close()
            return HttpResponse('{"result":"succeed","newToken":"'+newToken+'"}', content_type="application/json")
        else:
            return HttpResponse('{"result":"failed","newToken":"'+newToken+'"}', content_type="application/json")
예제 #26
0
파일: token.py 프로젝트: csd0429/mywork
def deleteToken(token_id):
    session=db.db_createSession()
    token=session.query(Token).filter(Token.token_id==token_id).all()
    session.delete(token[0])
    session.commit()
    session.close()
예제 #27
0
파일: homepage.py 프로젝트: csd0429/mywork
def init(request):
    
    type_id=request.POST.get('type_id')
    user_id=request.POST.get('user_id')
    count=request.POST.get('count')
    token_id=request.POST.get('token_id')
    print type_id,user_id,count,token_id
    if checkUserToken(user_id,token_id):
        print 'a'
        newToken=''
        if not checkToken(token_id):
            print 'sb'
            deleteToken(token_id)
            newToken=updateToken('create',None,None)
            updateToken('instead',user_id,newToken)
            print 'd'
        session=db.db_createSession()
        # 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
        num=0
        results=[]
        send=session.query(Send).filter(Send.send_user_id==user_id,Send.send_type_id==type_id).all()
        print 'ss'
        if len(send)==0:
            send=Send()
            send.send_user_id=user_id
            send.send_type_id=type_id
        else:
            print 's'
            send=send[0]
    #    newses = session.query(News).filter(News.news_status=='3', News.type_id==type_id).order_by(desc(News.news_date)).all()
    #    newses = session.query(News).filter(News.news_status=='3').order_by(desc(News.news_date)).all()
        newses = session.query(News).filter(News.news_status=='3').order_by(desc(News.news_date)).all()

        for news in newses:
            if type_id in news.type_id.split(','):
                if num==0:
                    send.send_latest=news.news_date

                image=session.query(Image).filter(Image.news_id==news.news_id).one()
                if type_id=='RDOO':
                    result=[
                            {
                            "news_id":news.news_id,
                            "news_title":news.news_title,
                            "news_info":news.news_info,
                            "news_content":news.news_content,
                            "news_img":"http://54.223.148.123:8090/static/images/"+image.news_cover,
                            "type_id":news.type_id[:4],
                            },
                            ]
                else:
                    result=[
                            {
                            "news_id":news.news_id,
                            "news_title":news.news_title,
                            "news_info":news.news_info,
                            "news_content":news.news_content,
                            "news_img":"http://54.223.148.123:8090/static/images/"+image.news_cover,
                            },
                            ]
                results+=result
                num+=1
                if num==int(count) and int(count)<len(newses):
                    send.send_oldest=news.news_date
                    break

                if num==len(newses) and int(count)>=len(newses):
                    send.send_oldest=news.news_date
                    break

        session.add(send)
        session.commit()
        session.close()

        status='succeed'
        return HttpResponse('{"news":'+json.dumps(results)+',"result":"'+status+'","newToken":"'+newToken+'"}', content_type="application/json")
예제 #28
0
파일: homepage.py 프로젝트: csd0429/mywork
def loading(request):
    type_id=request.POST.get('type_id')
    user_id=request.POST.get('user_id')
    count=request.POST.get('count')
    token_id=request.POST.get('token_id')
    print type_id,user_id,count,token_id
    if checkUserToken(user_id,token_id):
        newToken=''
        if not checkToken(token_id):
            deleteToken(token_id)
            newToken=updateToken('create',None,None)
            updateToken('instead',user_id,newToken)
        session=db.db_createSession()
        # 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
        num=0
        results=[]
        sends=session.query(Send).filter(Send.send_user_id==user_id,Send.send_type_id==type_id).one()
        newses = session.query(News).filter(News.news_status=='3', News.type_id==type_id , News.news_date<sends.send_oldest).order_by(desc(News.news_date)).all()
        if len(newses)>=int(count):
            print 'a'
            for news in newses:

                image=session.query(Image).filter(Image.news_id==news.news_id).one()
                result=[
                        {
                        "news_id":news.news_id,
                        "news_title":news.news_title,
                        "news_info":news.news_info,
                        "news_content":news.news_content,
                        "news_img":"http://54.223.148.123:8090/static/images/"+image.news_cover,
                        },
                        ]
                results+=result
                num+=1
                if num==int(count):
                    sends.send_oldest=news.news_date
                    break
        elif 0<len(newses)<int(count):
            print 'b'
            for news in newses:
                image=session.query(Image).filter(Image.news_id==news.news_id).one()
                result=[
                        {
                        "news_id":news.news_id,
                        "news_title":news.news_title,
                        "news_info":news.news_info,
                        "news_content":news.news_content,
                        "news_img":"http://54.223.148.123:8090/static/images/"+image.news_cover,
                        },
                        ]
                results+=result
                num+=1
                if num==len(newses):
                    sends.send_oldest=news.news_date
                    break

        session.merge(sends)
        session.commit()
        session.close()

        return HttpResponse('{"news":'+json.dumps(results)+',"newToken":"'+newToken+'"}', content_type="application/json")