Esempio n. 1
0
    def post(self):
        #数据库校验
        username = self.get_argument("un")
        password = self.get_argument("pw")
        code = self.get_argument("cd")

        print username, password, code

        sqlstr = """SELECT username FROM "user" WHERE username='******' and password='******';""" % (
            username, utils.EncrypPassword(password))
        rv = GxDB.Query(sqlstr)
        if rv['error'] != 0:
            self.write(BaseAPI.ReturnCode(rv['error'], rv['result']))
            return

        if code.lower() != self.session.get('validatecode'):
            self.write(BaseAPI.ReturnCode(900, '验证码错误'))
            return

        #更新登录时间
        sqlstr = """UPDATE "user" SET lastloginip='%s' WHERE username = '******'"""\
                    %(self.request.remote_ip, username)
        rv = GxDB.Exec(sqlstr)
        if rv is False:
            #self.write(BaseAPI.ReturnCode(900, '更新数据库错误'));
            return

        #成功了才写入session
        self.session.set('user', username)
        self.session.set(
            'logintime',
            time.strftime('%Y-%m-%d(%H.%M.%S)', time.localtime(time.time())))
        self.write(BaseAPI.ReturnCode(100))
Esempio n. 2
0
    def GetSearchTop10Info():
        sqlstr = """SELECT keywords FROM keywordstatistics ORDER BY times DESC LIMIT 10;"""
        rv = GxDB.Query(sqlstr)
        if rv['error'] != 0:
            return ''

        fetchlist = rv['result']
        if len(fetchlist) == 0:
            return ''

        rvlist = []
        num = 0
        for v in fetchlist:
            if num == 0: labelstr = 'label label-danger'
            elif num == 1: labelstr = 'label label-warning'
            elif num == 2: labelstr = 'label label-primary'
            elif num == 3: labelstr = 'label label-success'
            elif num == 4: labelstr = 'label label-info'
            else: labelstr = 'label label-default'

            vd = {
                'key': (v['keywords']),
                'label': labelstr,
                'url': '/search?q=%s&p=0' % v['keywords']
            }
            rvlist.append(vd)
            num += 1

        return rvlist
Esempio n. 3
0
    def GetDetail(infohash):
        sqlstr = """SELECT * FROM "bttorrent" WHERE infohash='%s';""" % infohash
        rv = GxDB.Query(sqlstr)
        if rv['error'] != 0:
            return None

        fetchlist = rv['result']
        return fetchlist[0]
Esempio n. 4
0
    def GetTotalSearchTimesStr():
        sqlstr = """SELECT SUM(times) as stimes FROM keywordstatistics;"""
        rv = GxDB.Query(sqlstr)
        if rv['error'] != 0:
            return ''

        fetchlist = rv['result']
        if len(fetchlist) == 0:
            return ''

        tonum = fetchlist[0]['stimes']
        return str(tonum)
Esempio n. 5
0
    def GetAllSqlData(self, res):
        idxstr = self._GetResIdxStr(res)
        if len(idxstr) == 0:
            return None

        sqlstr = """SELECT * FROM "bttorrent" WHERE idx IN (%s);""" % idxstr
        rv = GxDB.Query(sqlstr)
        if rv['error'] != 0:
            return None

        fetchlist = rv['result']
        return fetchlist
Esempio n. 6
0
    def get(self):
        testtype = self.get_argument('type')

        if testtype == 'login':
            username = self.get_current_user()
            if username is None:
                self.redirect("/")
            else:
                self.write(username + '<br>')

        elif testtype == 'logtest':
            #log test
            GLog.Log('所噶!!!说的是呢!')
            self.write('log test done!')

        elif testtype == 'db':
            for i in xrange(10):
                key = i + 20
                if i == 9:
                    key = 1

                sqlstr = """INSERT INTO "test" ("id","username")
                            VALUES ('%s','*****@*****.**')""" % key
                GxDB.TransExec(sqlstr)

            rv = GxDB.TransCommit()
            self.write(repr(rv))

        elif testtype == 'json':
            self.set_header("Content-Type", "application/json")
            jsondict = {
                'testkey1': 1,
                'testkey2': '2',
                'testkey3': 300.0128,
                'testkey6': 'kadieolskfj'
            }
            self.write(json.dumps(jsondict))

        else:
            self.write('unsupport test type %s <br>' % testtype)
Esempio n. 7
0
    def GetTodayNumStr():
        sqlstr = """SELECT count(idx) as todaynum
                    FROM bttorrent WHERE buildtime >= current_date;"""
        rv = GxDB.Query(sqlstr)
        if rv['error'] != 0:
            return ''

        fetchlist = rv['result']
        if len(fetchlist) == 0:
            return ''

        tonum = fetchlist[0]['todaynum']
        return str(tonum)
Esempio n. 8
0
    def GetTotalNumStr():

        sqlstr = """SELECT count(idx) as totalnum FROM bttorrent;"""
        rv = GxDB.Query(sqlstr)
        if rv['error'] != 0:
            return ''

        fetchlist = rv['result']
        if len(fetchlist) == 0:
            return ''

        tonum = fetchlist[0]['totalnum']
        return str(tonum)
Esempio n. 9
0
    def log(self, infohash):
        h = infohash.encode("hex")
        #尝试下载
        th = thunder.thunder()
        info = th.download(h)

        print '---> Wang Wang! %s <---' % info['name']

        name = info['name'].replace('\'', '\'\'')
        files = info["files"].replace('\'', '\'\'')

        sqlstr = """INSERT INTO "bttorrent" (infohash, name, length, buildtime, files, hits, downloads)
                    VALUES ('%s', '%s', '%s', '%s', '%s','0','0') """%\
                 (h, name, info["length"], utils.GetDateTime(info["timestamp"]), files)
        #print sqlstr
        GxDB.Exec(sqlstr)
Esempio n. 10
0
def downtorrent(infohash):
    try:
        r = requests.get("http://torrage.com/torrent/%s.torrent" % (infohash, ), timeout=timeout)
        if r.status_code==200:
            tc = bdecode(r.content)
            info = torrentinfo(tc)
            print '---> wang wang! <---%s'%info['name']

            name = info['name'].replace('\'','\'\'')
            files = info["files"].replace('\'','\'\'')

            sqlstr = """INSERT INTO "bttorrent" (infohash, name, length, buildtime, files, hits, downloads)
                        VALUES ('%s', '%s', '%s', '%s', '%s','0','0') """%\
                     (infohash, name, info["length"], utils.GetDateTime(info["timestamp"]), files)
            #print sqlstr
            GxDB.Exec(sqlstr)

            # resourcestore.save(infohash=infohash, name=info["name"],
            #     length=info["length"], timestamp=info["timestamp"],
            #     files=info["files"], hot=1)
    except Exception, e:
        print 'downtorrent err:' + repr(e)
Esempio n. 11
0
 def UpdateKeywordStatistics(key):
     #直接update,如果失败就insert
     sqlstr = """SELECT mergedb('%s', 1)""" % key
     GxDB.Query(sqlstr)