入库操作
This commit is contained in:
parent
823a9e94e5
commit
4dacfc2aff
27
db.py
27
db.py
|
@ -37,7 +37,7 @@ class DataBase :
|
|||
def create (self) :
|
||||
if self.connStat == False : return False
|
||||
|
||||
sql = 'create table ' + self.table + ' (id integer PRIMARY KEY autoincrement, title text, quality text, url text, enable integer, online integer, delay integer, update text)'
|
||||
sql = 'create table ' + self.table + ' (id integer PRIMARY KEY autoincrement, title text, quality text, url text, enable integer, online integer, delay integer, udTime text)'
|
||||
self.cur.execute(sql)
|
||||
|
||||
def query (self, sql) :
|
||||
|
@ -48,6 +48,14 @@ class DataBase :
|
|||
|
||||
return values
|
||||
|
||||
def execute (self, sql) :
|
||||
try :
|
||||
if self.connStat == False : return False
|
||||
self.cur.execute(sql)
|
||||
return True
|
||||
except :
|
||||
return False
|
||||
|
||||
def insert (self, data):
|
||||
if self.connStat == False : return False
|
||||
|
||||
|
@ -65,6 +73,23 @@ class DataBase :
|
|||
self.cur.execute(sql)
|
||||
self.conn.commit()
|
||||
|
||||
def edit (self, id, data):
|
||||
if self.connStat == False : return False
|
||||
|
||||
import sys
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf-8')
|
||||
|
||||
param = ''
|
||||
for k, v in data.iteritems():
|
||||
param = param + ", `%s` = '%s'" %(k, str(v).replace('"','\"').replace("'","''"))
|
||||
|
||||
param = param[1:]
|
||||
|
||||
sql = "update " + self.table + " set %s WHERE id = %s" % (param, id)
|
||||
self.cur.execute(sql)
|
||||
self.conn.commit()
|
||||
|
||||
def disConn (self) :
|
||||
if self.connStat == False : return False
|
||||
|
||||
|
|
35
main.py
35
main.py
|
@ -2,6 +2,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import tools
|
||||
import db
|
||||
import time
|
||||
import re
|
||||
|
||||
|
@ -9,6 +10,8 @@ class Iptv :
|
|||
|
||||
def __init__ (self) :
|
||||
self.T = tools.Tools()
|
||||
self.DB = db.DataBase()
|
||||
self.now = int(time.time() * 1000)
|
||||
|
||||
def getSourceA (self) :
|
||||
url = 'https://www.jianshu.com/p/2499255c7e79'
|
||||
|
@ -26,7 +29,6 @@ class Iptv :
|
|||
sourceList = pattern.findall(tmp[0])
|
||||
sourceList = sourceList + pattern.findall(tmp[1])
|
||||
|
||||
|
||||
for item in sourceList :
|
||||
netstat = self.chkPlayable(item[1])
|
||||
|
||||
|
@ -34,11 +36,15 @@ class Iptv :
|
|||
info = self.fmtTitle(item[0])
|
||||
|
||||
data = {
|
||||
'title': str(info['id']) + str(info['title']),
|
||||
'url': str(item[1]),
|
||||
'delay': netstat
|
||||
'title' : str(info['id']) + str(info['title']),
|
||||
'url' : str(item[1]),
|
||||
'quality': str(info['quality']),
|
||||
'delay' : netstat,
|
||||
'enable' : 1,
|
||||
'online' : 1,
|
||||
'udTime' : self.now,
|
||||
}
|
||||
print(data)
|
||||
self.addData(data)
|
||||
else :
|
||||
pass # MAYBE later :P
|
||||
else :
|
||||
|
@ -58,8 +64,19 @@ class Iptv :
|
|||
except:
|
||||
return 0
|
||||
|
||||
def addData (self, data) :
|
||||
sql = "SELECT * FROM %s WHERE title = '%s' AND url = '%s'" % (self.DB.table, data['title'], data['url'])
|
||||
result = self.DB.query(sql)
|
||||
|
||||
def baseFilter (self) :
|
||||
if len(result) == 0 :
|
||||
print('add:' + str(data['title']))
|
||||
self.DB.insert(data)
|
||||
else :
|
||||
print('update:' + str(data['title']))
|
||||
id = result[0][0]
|
||||
self.DB.edit(id, data)
|
||||
|
||||
def outPut (self) :
|
||||
pass
|
||||
|
||||
def fmtTitle (self, string) :
|
||||
|
@ -76,3 +93,9 @@ class Iptv :
|
|||
|
||||
obj = Iptv()
|
||||
obj.getSourceA()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue