diff --git a/src/helper_search.py b/src/helper_search.py index 2217974f..b3d4f923 100644 --- a/src/helper_search.py +++ b/src/helper_search.py @@ -3,9 +3,9 @@ from helper_sql import * try: - from PyQt4 import QtCore, QtGui + from PyQt4 import QtGui haveQt = True -except: +except Exception: haveQt = False def search_translate (context, text): diff --git a/src/helper_sql.py b/src/helper_sql.py index fec67bef..18e05e03 100644 --- a/src/helper_sql.py +++ b/src/helper_sql.py @@ -1,22 +1,27 @@ +"""Helper Sql performs sql operations.""" + import threading import Queue -sqlSubmitQueue = Queue.Queue() #SQLITE3 is so thread-unsafe that they won't even let you call it from different threads using your own locks. SQL objects can only be called from one thread. +sqlSubmitQueue = Queue.Queue() +# SQLITE3 is so thread-unsafe that they won't even let you call it from different threads using your own locks. +# SQL objects #can only be called from one thread. sqlReturnQueue = Queue.Queue() sqlLock = threading.Lock() + def sqlQuery(sqlStatement, *args): + """SQLLITE execute statement and return query.""" sqlLock.acquire() sqlSubmitQueue.put(sqlStatement) if args == (): sqlSubmitQueue.put('') - elif type(args[0]) in [list, tuple]: + elif isinstance(args[0], (list, tuple)): sqlSubmitQueue.put(args[0]) else: sqlSubmitQueue.put(args) - - queryreturn, rowcount = sqlReturnQueue.get() + queryreturn, _ = sqlReturnQueue.get() sqlLock.release() return queryreturn @@ -37,14 +42,14 @@ def sqlExecuteChunked(sqlStatement, idCount, *args): sqlExecuteChunked.chunkSize - (len(args) - idCount) ): chunk_slice = args[ - i:i+sqlExecuteChunked.chunkSize - (len(args) - idCount) + i:i + sqlExecuteChunked.chunkSize - (len(args) - idCount) ] sqlSubmitQueue.put( sqlStatement.format(','.join('?' * len(chunk_slice))) ) # first static args, and then iterative chunk sqlSubmitQueue.put( - args[0:len(args)-idCount] + chunk_slice + args[0:len(args) - idCount] + chunk_slice ) retVal = sqlReturnQueue.get() totalRowCount += retVal[1] @@ -60,8 +65,7 @@ def sqlExecute(sqlStatement, *args): sqlSubmitQueue.put('') else: sqlSubmitQueue.put(args) - - queryreturn, rowcount = sqlReturnQueue.get() + _, rowcount = sqlReturnQueue.get() sqlSubmitQueue.put('commit') sqlLock.release() return rowcount @@ -71,30 +75,24 @@ def sqlStoredProcedure(procName): sqlSubmitQueue.put(procName) sqlLock.release() + class SqlBulkExecute: + """This is used when you have to execute the same statement in a cycle.""" + def __enter__(self): sqlLock.acquire() return self - def __exit__(self, type, value, traceback): + def __exit__(self, exc_type, value, traceback): sqlSubmitQueue.put('commit') sqlLock.release() - def execute(self, sqlStatement, *args): + @staticmethod + def execute(sqlStatement, *args): + """Used for statements that do not return results.""" sqlSubmitQueue.put(sqlStatement) - if args == (): sqlSubmitQueue.put('') else: sqlSubmitQueue.put(args) sqlReturnQueue.get() - - def query(self, sqlStatement, *args): - sqlSubmitQueue.put(sqlStatement) - - if args == (): - sqlSubmitQueue.put('') - else: - sqlSubmitQueue.put(args) - return sqlReturnQueue.get() - diff --git a/src/helper_startup.py b/src/helper_startup.py index c18c1a88..aaab59d9 100644 --- a/src/helper_startup.py +++ b/src/helper_startup.py @@ -1,11 +1,10 @@ +"""Helper Start performs all the startup operations.""" + import ConfigParser from bmconfigparser import BMConfigParser import defaults import sys import os -import locale -import random -import string import platform from distutils.version import StrictVersion @@ -14,7 +13,10 @@ import paths import state import helper_random -storeConfigFilesInSameDirectoryAsProgramByDefault = False # The user may de-select Portable Mode in the settings if they want the config files to stay in the application data folder. +StoreConfigFilesInSameDirectoryAsProgramByDefault = False +# The user may de-select Portable Mode in the settings if they want the config +# files to stay in the application data folder. + def _loadTrustedPeer(): try: @@ -27,15 +29,16 @@ def _loadTrustedPeer(): host, port = trustedPeer.split(':') state.trustedPeer = state.Peer(host, int(port)) + def loadConfig(): if state.appdata: BMConfigParser().read(state.appdata + 'keys.dat') - #state.appdata must have been specified as a startup option. + # state.appdata must have been specified as a startup option. try: BMConfigParser().get('bitmessagesettings', 'settingsversion') print 'Loading config files from directory specified on startup: ' + state.appdata needToCreateKeysFile = False - except: + except Exception: needToCreateKeysFile = True else: @@ -45,16 +48,16 @@ def loadConfig(): print 'Loading config files from same directory as program.' needToCreateKeysFile = False state.appdata = paths.lookupExeFolder() - except: - # Could not load the keys.dat file in the program directory. Perhaps it - # is in the appdata directory. + except Exception: + # Could not load the keys.dat file in the program directory. + # Perhaps it is in the appdata directory. state.appdata = paths.lookupAppdataFolder() BMConfigParser().read(state.appdata + 'keys.dat') try: BMConfigParser().get('bitmessagesettings', 'settingsversion') print 'Loading existing config files from', state.appdata needToCreateKeysFile = False - except: + except Exception: needToCreateKeysFile = True if needToCreateKeysFile: @@ -110,7 +113,6 @@ def loadConfig(): BMConfigParser().set('bitmessagesettings', 'maxuploadrate', '0') BMConfigParser().set('bitmessagesettings', 'maxoutboundconnections', '8') BMConfigParser().set('bitmessagesettings', 'ttl', '367200') - #start:UI setting to stop trying to send messages after X days/months BMConfigParser().set( 'bitmessagesettings', 'stopresendingafterxdays', '') @@ -128,7 +130,7 @@ def loadConfig(): ensureNamecoinOptions() - if storeConfigFilesInSameDirectoryAsProgramByDefault: + if StoreConfigFilesInSameDirectoryAsProgramByDefault: # Just use the same directory as the program and forget about # the appdata folder state.appdata = '' @@ -145,9 +147,9 @@ def loadConfig(): def isOurOperatingSystemLimitedToHavingVeryFewHalfOpenConnections(): try: - if sys.platform[0:3]=="win": - VER_THIS=StrictVersion(platform.version()) + if sys.platform[0:3] == "win": + VER_THIS = StrictVersion(platform.version()) return StrictVersion("5.1.2600")<=VER_THIS and StrictVersion("6.0.6000")>=VER_THIS return False - except Exception as err: + except Exception: return False