示例#1
0
文件: Url.py 项目: uknof/shortener
    def hits_record(self, sourceip):
        d = db.get_db()
        ip = ipaddr.IPAddress(sourceip)
        hittoday = db.query_db("select * from hits where short=? and hitdate=date('now')", [self.short])
        hitfield = "hits%s" % (ip.version)
        # update hit counters
        if len(hittoday) == 0:
            d.execute("insert into hits (short,hitdate,%s) values (?,date('now'),1)" % (hitfield), [self.short])
        else:
            d.execute("update hits set %s=%s+1 where short=? and hitdate=date('now')" % (hitfield, hitfield), [self.short])
        d.commit()

        return
示例#2
0
文件: User.py 项目: uknof/shortener
 def create(username, password):
     username = username.lower().strip()
     if User.exists(username) is True:
         raise Exception("user '%s' already exists" % (username))
     hash = pbkdf2_sha256.encrypt(password, rounds=200000, salt_size=16)
     d = db.get_db()
     d.execute('insert into users (username,password) values (?,?)', [username, hash])
     d.commit()
     if User.exists(username) is False:
         raise Exception("created user '%s' does not exist" % (username))
     u = User(username)
     if u is None:
         raise Exception("created user '%s' is None" % (username))
     return u
示例#3
0
文件: User.py 项目: uknof/shortener
 def authenticate(username, password):
     username = username.lower().strip()
     if len(username) == 0 or len(password) == 0:
         return None
     userdb = db.query_db("select * from users where username = ?", [username])
     if len(userdb) == 1:
         # user exists, check the hash
         hash = userdb[0]["password"]
         if pbkdf2_sha256.verify(password, hash):
             d = db.get_db()
             d.execute("update users set logins = logins + 1, last_login = date('now') where username = ?", [username])
             d.commit()
             return User(username)
     return None
示例#4
0
文件: User.py 项目: uknof/shortener
 def delete(self):
     d = db.get_db()
     d.execute('delete from users where username = ?', [self.username])
     d.commit()
     return None
示例#5
0
文件: Url.py 项目: uknof/shortener
 def create(short, dest, createdby, custom='', notes=''):
     d = db.get_db()
     d.execute("insert into urls (short,dest,createdon,createdby,custom,notes) values (?,?,date('now'),?,?,?)", [short, dest, createdby, custom, notes])
     d.commit()
     newurl = Url(short)
     return newurl
示例#6
0
文件: Url.py 项目: uknof/shortener
 def delete(self):
     d = db.get_db()
     d.execute("delete from urls where short = ?", [self.short])
     d.execute("delete from hits where short = ?", [self.short])
     d.commit()
     return