Ejemplo n.º 1
0
def regist_url(url,bites=8,hours=48):
    
    md5=utility.md5code(url)
    
    cinfo = dict(state=0,code="",url=url,expire=0)
    cinfo.update(RedisCli.hgetall("Q2k:Urls:%s"%md5))
    if cinfo["state"]=="0":
        if cinfo["code"]=="":
            while True:
                code = utility.generateCode(bites)
                if not exists(code):
                    break
                time.sleep(0.1)
            cinfo["code"]=code
         
    
        RedisCli.hset("Q2k:Codes", cinfo["code"],url)
        RedisCli.hset("Q2k:Urls:%s"%md5,"code",cinfo["code"])
        RedisCli.hset("Q2k:Urls:%s"%md5,"state",1)
    
    #默认将过期时间向后延期
    RedisCli.hset("Q2k:Urls:%s"%md5,"expire",time.time()+hours*60*60)
    return cinfo["code"]
    
Ejemplo n.º 2
0
 def testGenerateCode(self):
     code = utility.generateCode(6)
     self.assertTrue(True, code)
Ejemplo n.º 3
0
 def generateCode(cls,username):
     cd = ""
     while SecurityHandler.exists(cd) or cd=="":
         cd = utility.generateCode(6)
     SecurityHandler.bindCode(cd,info = dict(username=username),expire= 24*60)
     return cd