Compare commits

..
4 Commits
Author SHA1 Message Date
rembo10 327e4785c5 Merge branch 'develop' 2014-01-13 21:49:48 +00:00
Ade 2f9190dc34 rutracker website change 2014-01-13 21:48:46 +00:00
rembo10 88b277ea25 removed database locking 2014-01-13 15:49:17 +00:00
rembo10 d4fae1dd35 Removed database locking 2014-01-13 15:39:05 +00:00
2 changed files with 29 additions and 33 deletions
+25 -29
View File
@@ -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):
+1 -1
View File
@@ -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)