mirror of
https://github.com/rembo10/headphones.git
synced 2026-09-10 00:32:52 +01:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
327e4785c5 | ||
|
|
2f9190dc34 | ||
|
|
88b277ea25 | ||
|
|
d4fae1dd35 |
+25
-29
@@ -28,8 +28,6 @@ import headphones
|
|||||||
|
|
||||||
from headphones import logger
|
from headphones import logger
|
||||||
|
|
||||||
db_lock = threading.Lock()
|
|
||||||
|
|
||||||
def dbFilename(filename="headphones.db"):
|
def dbFilename(filename="headphones.db"):
|
||||||
|
|
||||||
return os.path.join(headphones.DATA_DIR, filename)
|
return os.path.join(headphones.DATA_DIR, filename)
|
||||||
@@ -57,37 +55,35 @@ class DBConnection:
|
|||||||
|
|
||||||
def action(self, query, args=None):
|
def action(self, query, args=None):
|
||||||
|
|
||||||
with db_lock:
|
if query == None:
|
||||||
|
return
|
||||||
|
|
||||||
if query == None:
|
sqlResult = None
|
||||||
return
|
attempt = 0
|
||||||
|
|
||||||
sqlResult = None
|
while attempt < 5:
|
||||||
attempt = 0
|
try:
|
||||||
|
if args == None:
|
||||||
while attempt < 5:
|
#logger.debug(self.filename+": "+query)
|
||||||
try:
|
sqlResult = self.connection.execute(query)
|
||||||
if args == None:
|
else:
|
||||||
#logger.debug(self.filename+": "+query)
|
#logger.debug(self.filename+": "+query+" with args "+str(args))
|
||||||
sqlResult = self.connection.execute(query)
|
sqlResult = self.connection.execute(query, args)
|
||||||
else:
|
self.connection.commit()
|
||||||
#logger.debug(self.filename+": "+query+" with args "+str(args))
|
break
|
||||||
sqlResult = self.connection.execute(query, args)
|
except sqlite3.OperationalError, e:
|
||||||
self.connection.commit()
|
if "unable to open database file" in e.message or "database is locked" in e.message:
|
||||||
break
|
logger.warn('Database Error: %s' % e)
|
||||||
except sqlite3.OperationalError, e:
|
attempt += 1
|
||||||
if "unable to open database file" in e.message or "database is locked" in e.message:
|
time.sleep(1)
|
||||||
logger.warn('Database Error: %s' % e)
|
else:
|
||||||
attempt += 1
|
logger.error('Database error: %s' % e)
|
||||||
time.sleep(1)
|
|
||||||
else:
|
|
||||||
logger.error('Database error: %s' % e)
|
|
||||||
raise
|
|
||||||
except sqlite3.DatabaseError, e:
|
|
||||||
logger.error('Fatal Error executing %s :: %s' % (query, e))
|
|
||||||
raise
|
raise
|
||||||
|
except sqlite3.DatabaseError, e:
|
||||||
|
logger.error('Fatal Error executing %s :: %s' % (query, e))
|
||||||
|
raise
|
||||||
|
|
||||||
return sqlResult
|
return sqlResult
|
||||||
|
|
||||||
def select(self, query, args=None):
|
def select(self, query, args=None):
|
||||||
|
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ class Rutracker():
|
|||||||
|
|
||||||
# Seeders
|
# Seeders
|
||||||
|
|
||||||
for link in soup.find_all('td', attrs={'class' : 'row4 seedmed'}):
|
for link in soup.find_all('b', attrs={'class' : 'seedmed'}):
|
||||||
seeder = link.get_text()
|
seeder = link.get_text()
|
||||||
seeders.append(seeder)
|
seeders.append(seeder)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user