|
|
|
#!/usr/bin/env python
|
|
|
|
# encoding: utf-8
|
|
|
|
"""
|
|
|
|
磁力搜索meta信息入库程序
|
|
|
|
"""
|
|
|
|
|
|
|
|
import hashlib
|
|
|
|
import os
|
|
|
|
import SimpleXMLRPCServer
|
|
|
|
import time
|
|
|
|
import datetime
|
|
|
|
import traceback
|
|
|
|
import sys
|
|
|
|
import json
|
|
|
|
import socket
|
|
|
|
import threading
|
|
|
|
from hashlib import sha1
|
|
|
|
from random import randint
|
|
|
|
from struct import unpack
|
|
|
|
from socket import inet_ntoa
|
|
|
|
from threading import Timer, Thread
|
|
|
|
from time import sleep
|
|
|
|
from collections import deque
|
|
|
|
from Queue import Queue
|
|
|
|
|
|
|
|
reload(sys)
|
|
|
|
sys.setdefaultencoding('utf-8')
|
|
|
|
|
|
|
|
sys.path.append('/usr/local/lib/python2.7/site-packages')
|
|
|
|
|
|
|
|
# import pygeoip
|
|
|
|
import MySQLdb as mdb
|
|
|
|
|
|
|
|
|
|
|
|
from configparser import ConfigParser
|
|
|
|
cp = ConfigParser()
|
|
|
|
cp.read("../qb.conf")
|
|
|
|
section_db = cp.sections()[0]
|
|
|
|
DB_HOST = cp.get(section_db, "DB_HOST")
|
|
|
|
DB_USER = cp.get(section_db, "DB_USER")
|
|
|
|
DB_PORT = cp.getint(section_db, "DB_PORT")
|
|
|
|
DB_PASS = cp.get(section_db, "DB_PASS")
|
|
|
|
DB_NAME = cp.get(section_db, "DB_NAME")
|
|
|
|
|
|
|
|
|
|
|
|
section_qb = cp.sections()[1]
|
|
|
|
QB_HOST = cp.get(section_qb, "QB_HOST")
|
|
|
|
QB_PORT = cp.get(section_qb, "QB_PORT")
|
|
|
|
QB_USER = cp.get(section_qb, "QB_USER")
|
|
|
|
QB_PWD = cp.get(section_qb, "QB_PWD")
|
|
|
|
|
|
|
|
|
|
|
|
class downloadBT(Thread):
|
|
|
|
|
|
|
|
def __init__(self):
|
|
|
|
Thread.__init__(self)
|
|
|
|
self.setDaemon(True)
|
|
|
|
self.dbconn = mdb.connect(
|
|
|
|
DB_HOST, DB_USER, DB_PASS, DB_NAME, port=DB_PORT, charset='utf8')
|
|
|
|
self.dbconn.autocommit(False)
|
|
|
|
self.dbcurr = self.dbconn.cursor()
|
|
|
|
self.dbcurr.execute('SET NAMES utf8')
|
|
|
|
self.qb = self.qb()
|
|
|
|
|
|
|
|
def query(self, sql):
|
|
|
|
self.dbcurr.execute(sql)
|
|
|
|
result = self.dbcurr.fetchall()
|
|
|
|
data = map(list, result)
|
|
|
|
return data
|
|
|
|
|
|
|
|
def qb(self):
|
|
|
|
from qbittorrent import Client
|
|
|
|
url = 'http://' + QB_HOST + ':' + QB_PORT + '/'
|
|
|
|
qb = Client(url)
|
|
|
|
qb.login(QB_USER, QB_PWD)
|
|
|
|
return qb
|
|
|
|
|
|
|
|
def proccess(self):
|
|
|
|
while True:
|
|
|
|
print 123123
|
|
|
|
time.sleep(1)
|
|
|
|
|
|
|
|
|
|
|
|
def checkDL():
|
|
|
|
while True:
|
|
|
|
print time.time()
|
|
|
|
time.sleep(1)
|
|
|
|
checkDL()
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
|
|
|
dl = downloadBT()
|
|
|
|
|
|
|
|
import threading
|
|
|
|
t = threading.Thread(target=dl.proccess)
|
|
|
|
t.start()
|
|
|
|
|
|
|
|
checkDL()
|