[entropy.services] open_session() can return None, state it clearly and handle the case everywhere the function is used
This commit is contained in:
@@ -1370,6 +1370,8 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
return False
|
||||
|
||||
session = eapi3_interface.open_session()
|
||||
if session is None:
|
||||
return False
|
||||
|
||||
try:
|
||||
mydbconn = self.__get_eapi3_local_database()
|
||||
@@ -1719,22 +1721,25 @@ class AvailablePackagesRepositoryUpdater(object):
|
||||
self._repo_eapi -= 1
|
||||
else:
|
||||
session = eapi3_interface.open_session()
|
||||
repo_metadata = self.__get_eapi3_repository_metadata(
|
||||
eapi3_interface, session)
|
||||
self.__eapi3_close(eapi3_interface, session = session)
|
||||
repo_rev = repo_metadata.get('revision')
|
||||
if repo_rev is not None:
|
||||
try:
|
||||
repo_rev = int(repo_rev)
|
||||
except (ValueError, TypeError):
|
||||
repo_rev = None
|
||||
if repo_rev is None:
|
||||
# cannot reliably detect revision in EAPI=3 world
|
||||
# so we need to drop EAPI3 in favour of EAPI2
|
||||
if session is None:
|
||||
self._repo_eapi -= 1
|
||||
else:
|
||||
self._last_rev = repo_rev
|
||||
return repo_rev
|
||||
repo_metadata = self.__get_eapi3_repository_metadata(
|
||||
eapi3_interface, session)
|
||||
self.__eapi3_close(eapi3_interface, session = session)
|
||||
repo_rev = repo_metadata.get('revision')
|
||||
if repo_rev is not None:
|
||||
try:
|
||||
repo_rev = int(repo_rev)
|
||||
except (ValueError, TypeError):
|
||||
repo_rev = None
|
||||
if repo_rev is None:
|
||||
# cannot reliably detect revision in EAPI=3 world
|
||||
# so we need to drop EAPI3 in favour of EAPI2
|
||||
self._repo_eapi -= 1
|
||||
else:
|
||||
self._last_rev = repo_rev
|
||||
return repo_rev
|
||||
|
||||
avail_data = self._settings['repositories']['available']
|
||||
repo_data = avail_data[self.__repository_id]
|
||||
|
||||
@@ -231,29 +231,29 @@ class Client:
|
||||
with self.CacheLock:
|
||||
|
||||
srv = self.get_connection_cache()
|
||||
if srv == None:
|
||||
if srv is None:
|
||||
srv = self.get_service_connection(timeout = self.socket_timeout)
|
||||
if srv != None:
|
||||
self.cache_connection(srv)
|
||||
else:
|
||||
srv = srv['conn']
|
||||
|
||||
if srv == None:
|
||||
if srv is None:
|
||||
return False, 'no connection'
|
||||
|
||||
cmd_tuple = (login_required, func,)
|
||||
new_session = False
|
||||
session = self.get_session_cache(cmd_tuple)
|
||||
if session == None:
|
||||
if session is None:
|
||||
new_session = True
|
||||
session = srv.open_session()
|
||||
if session == None:
|
||||
if session is None:
|
||||
return False, 'no session'
|
||||
else:
|
||||
if not srv.is_session_alive(session):
|
||||
new_session = True
|
||||
session = srv.open_session()
|
||||
if session == None:
|
||||
if session is None:
|
||||
return False, 'no session'
|
||||
self.set_session_cache(cmd_tuple, session)
|
||||
|
||||
|
||||
@@ -94,17 +94,17 @@ class Client:
|
||||
|
||||
aware = self.UGCCache._get_live_cache_item(repository,
|
||||
'is_repository_eapi3_aware')
|
||||
if aware != None:
|
||||
if aware is not None:
|
||||
return aware
|
||||
|
||||
try:
|
||||
srv = self.get_service_connection(repository, check = False,
|
||||
timeout = 6)
|
||||
if srv == None:
|
||||
if srv is None:
|
||||
aware = False
|
||||
else:
|
||||
session = srv.open_session()
|
||||
if session != None:
|
||||
if session is not None:
|
||||
srv.close_session(session)
|
||||
srv.disconnect()
|
||||
aware = True
|
||||
@@ -126,7 +126,7 @@ class Client:
|
||||
def do_login(self, repository, force = False):
|
||||
|
||||
login_data = self.read_login(repository)
|
||||
if (login_data != None) and not force:
|
||||
if (login_data is not None) and not force:
|
||||
return True, _('ok')
|
||||
|
||||
aware = self.is_repository_eapi3_aware(repository)
|
||||
@@ -155,9 +155,11 @@ class Client:
|
||||
|
||||
# now verify
|
||||
srv = self.get_service_connection(repository)
|
||||
if srv == None:
|
||||
if srv is None:
|
||||
return False, _('connection issues')
|
||||
session = srv.open_session()
|
||||
if session is None:
|
||||
return False, _('cannot open a session')
|
||||
login_status, login_msg = srv.CmdInterface.service_login(
|
||||
login_data['username'], login_data['password'], session)
|
||||
if not login_status:
|
||||
@@ -206,10 +208,10 @@ class Client:
|
||||
return False, err_msg
|
||||
|
||||
srv = self.get_service_connection(repository)
|
||||
if srv == None:
|
||||
if srv is None:
|
||||
return False, 'no connection'
|
||||
session = srv.open_session()
|
||||
if session == None:
|
||||
if session is None:
|
||||
return False, 'no session'
|
||||
args.insert(0, session)
|
||||
|
||||
@@ -218,7 +220,7 @@ class Client:
|
||||
while True:
|
||||
# login
|
||||
login_data = self.read_login(repository)
|
||||
if login_data == None:
|
||||
if login_data is None:
|
||||
status, msg = self.login(repository)
|
||||
if not status:
|
||||
return status, msg
|
||||
@@ -415,7 +417,7 @@ class AuthStore(Singleton):
|
||||
self.xmldoc = self.minidom.parse(self.access_file)
|
||||
except (self.expat.ExpatError, IOError,):
|
||||
self.xmldoc = None
|
||||
if self.xmldoc != None:
|
||||
if self.xmldoc is not None:
|
||||
try:
|
||||
self.parse_document()
|
||||
except self.expat.ExpatError:
|
||||
@@ -424,7 +426,7 @@ class AuthStore(Singleton):
|
||||
|
||||
def setup_store_paths(self):
|
||||
myhome = os.getenv("HOME")
|
||||
if myhome != None:
|
||||
if myhome is not None:
|
||||
if os.path.isdir(myhome) and os.access(myhome, os.W_OK):
|
||||
self.access_file = os.path.join(myhome, ".config/entropy",
|
||||
os.path.basename(self.access_file))
|
||||
@@ -650,7 +652,7 @@ class Cache:
|
||||
|
||||
try:
|
||||
os.chmod(cache_file, 0o664)
|
||||
if etpConst['entropygid'] != None:
|
||||
if etpConst['entropygid'] is not None:
|
||||
os.chown(cache_file, -1, etpConst['entropygid'])
|
||||
except OSError:
|
||||
raise PermissionDenied("PermissionDenied: %s %s" % (
|
||||
@@ -666,7 +668,7 @@ class Cache:
|
||||
|
||||
def update_vote_cache(self, repository, vote_dict):
|
||||
cached = self.get_vote_cache(repository)
|
||||
if cached == None:
|
||||
if cached is None:
|
||||
cached = vote_dict.copy()
|
||||
else:
|
||||
cached.update(vote_dict)
|
||||
@@ -674,7 +676,7 @@ class Cache:
|
||||
|
||||
def update_downloads_cache(self, repository, down_dict):
|
||||
cached = self.get_downloads_cache(repository)
|
||||
if cached == None:
|
||||
if cached is None:
|
||||
cached = down_dict.copy()
|
||||
else:
|
||||
cached.update(down_dict)
|
||||
@@ -713,7 +715,7 @@ class Cache:
|
||||
def get_vote_cache(self, repository):
|
||||
cache_key = self._get_vote_cache_key(repository)
|
||||
cached = self._get_live_cache_item(repository, cache_key)
|
||||
if cached != None:
|
||||
if cached is not None:
|
||||
return cached
|
||||
with self.CacheLock:
|
||||
cache_file = self._get_vote_cache_file(repository)
|
||||
@@ -721,7 +723,7 @@ class Cache:
|
||||
data = entropy.dump.loadobj(
|
||||
cache_file,
|
||||
complete_path = True)
|
||||
if data != None:
|
||||
if data is not None:
|
||||
self._set_live_cache_item(repository, cache_key, data)
|
||||
except (IOError, EOFError, OSError):
|
||||
data = None
|
||||
@@ -748,13 +750,13 @@ class Cache:
|
||||
def get_downloads_cache(self, repository):
|
||||
cache_key = self._get_downloads_cache_key(repository)
|
||||
cached = self._get_live_cache_item(repository, cache_key)
|
||||
if cached != None:
|
||||
if cached is not None:
|
||||
return cached
|
||||
with self.CacheLock:
|
||||
cache_file = self._get_downloads_cache_file(repository)
|
||||
try:
|
||||
data = entropy.dump.loadobj(cache_file, complete_path = True)
|
||||
if data != None:
|
||||
if data is not None:
|
||||
self._set_live_cache_item(repository, cache_key, data)
|
||||
except (IOError, EOFError, OSError):
|
||||
data = None
|
||||
@@ -790,7 +792,7 @@ class Cache:
|
||||
cache_file = self._get_alldocs_cache_file(pkgkey, repository)
|
||||
try:
|
||||
data = entropy.dump.loadobj(cache_file, complete_path = True)
|
||||
if data != None:
|
||||
if data is not None:
|
||||
cached[pkgkey] = data
|
||||
self._set_live_cache_item(repository, cache_key, cached)
|
||||
except (IOError, EOFError, OSError):
|
||||
|
||||
@@ -1995,10 +1995,17 @@ class Client:
|
||||
return data
|
||||
|
||||
def open_session(self):
|
||||
"""
|
||||
Open a remote session, returning a valid session id or None (in case
|
||||
of errors).
|
||||
"""
|
||||
self.check_socket_connection()
|
||||
self.socket.setdefaulttimeout(self.socket_timeout)
|
||||
self.transmit('begin')
|
||||
data = self.receive()
|
||||
try:
|
||||
self.transmit('begin')
|
||||
data = self.receive()
|
||||
except (SSLError, self.socket.error):
|
||||
return None
|
||||
return const_convert_to_unicode(data)
|
||||
|
||||
def is_session_alive(self, session):
|
||||
|
||||
Reference in New Issue
Block a user