Use proper booleans in the python backends rather than 'true' and 'false'

This commit is contained in:
Richard Hughes 2009-06-17 11:24:19 +01:00
parent 0e7278a7df
commit 9502099c00
8 changed files with 29 additions and 61 deletions

View File

@ -317,7 +317,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
'''
self.allow_cancel(True)
self.status(STATUS_INFO)
recursive = (recursive == "True")
name, version, arch, data = self.get_package_from_id(package)
pkg = Package(self,self._apt_cache[name],version=[(version,"=")],data=data)
pkg.setVersion(version)
@ -352,7 +351,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
'''
self.allow_cancel(True)
self.status(STATUS_INFO)
recursive = (recursive == "True")
name, version, arch, data = self.get_package_from_id(package)
pkg = Package(self,self._apt_cache[name], version=[(version,"=")], data=data)
@ -412,7 +410,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
'''
Implement the {backend}-repo-enable functionality
'''
enable = (enable == "True")
repo = self._build_repo_list()
if not repo.has_key(repoid):
self.error(ERROR_REPO_NOT_FOUND,"Couldn't find repo '%s'"%repoid)

View File

@ -1243,7 +1243,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
"Package name %s could not be resolved" % name)
return
def get_depends(self, filter, ids, recursive_text):
def get_depends(self, filter, ids, recursive):
"""
Implement the apt2-get-depends functionality
@ -1257,7 +1257,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
to python-apt.
"""
pklog.info("Get depends (%s,%s,%s)" % (filter, ids, recursive_text))
recursive = text_to_bool(recursive_text)
#FIXME: recursive is not yet implemented
if recursive == True:
pklog.warn("Recursive dependencies are not implemented")
@ -1303,12 +1302,11 @@ class PackageKitAptBackend(PackageKitBaseBackend):
# Clean up
self._cache.clear()
def get_requires(self, filter, ids, recursive_text):
def get_requires(self, filter, ids, recursive):
"""
Implement the apt2-get-requires functionality
"""
pklog.info("Get requires (%s,%s,%s)" % (filter, ids, recursive_text))
recursive = text_to_bool(rescursive_text)
#FIXME: recursive is not yet implemented
if recursive == True:
pklog.warn("Recursive dependencies are not implemented")

View File

@ -936,7 +936,7 @@ class PackageKitConaryBackend(PackageKitBaseBackend):
for repo in labels:
repo_name = repo.split("@")[0]
repo_branch = repo.split("@")[1]
self.repo_detail(repo,repo,"true")
self.repo_detail(repo,repo,True)
def repo_enable(self, repoid, enable):
'''

View File

@ -212,7 +212,7 @@ class PackageKitPisiBackend(PackageKitBaseBackend, PackagekitPackage):
for repo in pisi.api.list_repos():
# Internal FIXME: What an ugly way to get repo uri
# FIXME: Use repository enabled/disabled state
self.repo_detail(repo, self.repodb.get_repo(repo).indexuri.get_uri(), "true")
self.repo_detail(repo, self.repodb.get_repo(repo).indexuri.get_uri(), True)
def get_requires(self, filters, package_ids, recursive):
""" Prints a list of requires for a given package """

View File

@ -304,8 +304,6 @@ class PackageKitPortageBackend(PackageKitBaseBackend, PackagekitPackage):
self.allow_cancel(True)
self.percentage(None)
recursive = text_to_bool(recursive)
for pkgid in pkgids:
cpv = id_to_cpv(pkgid)
@ -423,8 +421,6 @@ class PackageKitPortageBackend(PackageKitBaseBackend, PackagekitPackage):
self.allow_cancel(True)
self.percentage(None)
recursive = text_to_bool(recursive)
myopts = {}
spinner = ""
favorites = []

View File

@ -812,13 +812,6 @@ class PackageKitSmartBackend(PackageKitBaseBackend):
self.files(packageid, ";".join(paths))
def _text_to_boolean(self, text):
if text == 'true' or text == 'TRUE':
return True
elif text == 'yes' or text == 'YES':
return True
return False
def _best_package_from_list(self, package_list):
for installed in (True, False):
best = None
@ -830,8 +823,7 @@ class PackageKitSmartBackend(PackageKitBaseBackend):
return None
@needs_cache
def get_depends(self, filters, packageids, recursive_text):
recursive = self._text_to_boolean(recursive_text)
def get_depends(self, filters, packageids, recursive):
self.status(STATUS_INFO)
self.allow_cancel(True)
for packageid in packageids:
@ -865,8 +857,7 @@ class PackageKitSmartBackend(PackageKitBaseBackend):
self._show_package_list()
@needs_cache
def get_requires(self, filters, packageids, recursive_text):
recursive = self._text_to_boolean(recursive_text)
def get_requires(self, filters, packageids, recursive):
self.status(STATUS_INFO)
self.allow_cancel(True)
for packageid in packageids:
@ -907,9 +898,9 @@ class PackageKitSmartBackend(PackageKitBaseBackend):
channel = smart.sysconf.get(("channels", alias))
name = channel.get("name", alias)
parsed = smart.channel.parseChannelData(channel)
enabled = 'true'
enabled = True
if channel.has_key('disabled') and channel['disabled'] == 'yes':
enabled = 'false'
enabled = False
channel['alias'] = alias
if self._channel_passes_filters(channel, filters):
self.repo_detail(alias, name, enabled)
@ -918,7 +909,7 @@ class PackageKitSmartBackend(PackageKitBaseBackend):
self.status(STATUS_INFO)
self.allow_cancel(True)
if smart.sysconf.has(("channels", repoid)):
if enable == "true":
if enable:
smart.sysconf.remove(("channels", repoid, "disabled"))
else:
smart.sysconf.set(("channels", repoid, "disabled"), "yes")

View File

@ -143,20 +143,6 @@ def _getEVR(idver):
release = '0'
return epoch, version, release
def _text_to_boolean(text):
'''
Parses true and false
'''
if text == 'true':
return True
if text == 'TRUE':
return True
if text == 'yes':
return True
if text == 'YES':
return True
return False
def _truncate(text, length, etc='...'):
if len(text) < length:
return text
@ -964,7 +950,7 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
# nothing found
return None, False
def get_requires(self, filters, package_ids, recursive_text):
def get_requires(self, filters, package_ids, recursive):
'''
Print a list of requires for a given package
'''
@ -978,7 +964,6 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
bump = 100 / len(package_ids)
deps_list = []
resolve_list = []
recursive = _text_to_boolean(recursive_text)
for package in package_ids:
self.percentage(percentage)
@ -1272,7 +1257,7 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
return deps_list
def get_depends(self, filters, package_ids, recursive_text):
def get_depends(self, filters, package_ids, recursive):
'''
Print a list of depends for a given package
'''
@ -1283,7 +1268,6 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
self.status(STATUS_INFO)
fltlist = filters.split(';')
pkgfilter = YumFilter(fltlist)
recursive = _text_to_boolean(recursive_text)
# before we do an install we do ~installed + recursive true,
# which we can emulate quicker by doing a transaction, but not
@ -2245,7 +2229,7 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
self.status(STATUS_INFO)
try:
repo = self.yumbase.repos.getRepo(repoid)
if enable == 'false':
if enable:
if repo.isEnabled():
repo.disablePersistent()
else:
@ -2281,10 +2265,8 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
return
for repo in repos:
if filters != FILTER_NOT_DEVELOPMENT or not _is_development_repo(repo.id):
if repo.isEnabled():
self.repo_detail(repo.id, repo.name, 'true')
else:
self.repo_detail(repo.id, repo.name, 'false')
enabled = repo.isEnabled()
self.repo_detail(repo.id, repo.name, enabled)
def _get_obsoleted(self, name):
try:

View File

@ -143,8 +143,7 @@ class PackageKitBaseBackend:
@param id: the localised label of the media
@param text: the localised text describing the media
'''
print >> sys.stdout, "media-change-required\t%s\t%s\t%s" % (mtype, id,
text)
print >> sys.stdout, "media-change-required\t%s\t%s\t%s" % (mtype, id, text)
sys.stdout.flush()
def distro_upgrade(self, dtype, name, summary):
@ -171,7 +170,7 @@ class PackageKitBaseBackend:
@param repoid: The repo id tag
@param state: false is repo is disabled else true.
'''
print >> sys.stdout, "repo-detail\t%s\t%s\t%s" % (repoid, name, state)
print >> sys.stdout, "repo-detail\t%s\t%s\t%s" % (repoid, name, _bool_to_text(state))
sys.stdout.flush()
def data(self, data):
@ -509,7 +508,7 @@ class PackageKitBaseBackend:
elif cmd == 'get-depends':
filters = args[0]
package_ids = args[1].split(PACKAGE_IDS_DELIM)
recursive = args[2]
recursive = _text_to_bool(args[2])
self.get_depends(filters, package_ids, recursive)
self.finished()
elif cmd == 'get-details':
@ -531,7 +530,7 @@ class PackageKitBaseBackend:
elif cmd == 'get-requires':
filters = args[0]
package_ids = args[1].split(PACKAGE_IDS_DELIM)
recursive = args[2]
recursive = _text_to_bool(args[2])
self.get_requires(filters, package_ids, recursive)
self.finished()
elif cmd == 'get-update-detail':
@ -546,12 +545,12 @@ class PackageKitBaseBackend:
self.get_updates(filters)
self.finished()
elif cmd == 'install-files':
trusted = args[0]
trusted = _text_to_bool(args[0])
files_to_inst = args[1].split(FILENAME_DELIM)
self.install_files(trusted, files_to_inst)
self.finished()
elif cmd == 'install-packages':
trusted = args[0]
trusted = _text_to_bool(args[0])
package_ids = args[1].split(PACKAGE_IDS_DELIM)
self.install_packages(trusted, package_ids)
self.finished()
@ -571,7 +570,7 @@ class PackageKitBaseBackend:
self.finished()
elif cmd == 'repo-enable':
repoid = args[0]
state = args[1]
state = _text_to_bool(args[1])
self.repo_enable(repoid, state)
self.finished()
elif cmd == 'repo-set-data':
@ -610,12 +609,12 @@ class PackageKitBaseBackend:
self.repo_signature_install(package)
self.finished()
elif cmd == 'update-packages':
trusted = args[0]
trusted = _text_to_bool(args[0])
package_ids = args[1].split(PACKAGE_IDS_DELIM)
self.update_packages(trusted, package_ids)
self.finished()
elif cmd == 'update-system':
trusted = args[0]
trusted = _text_to_bool(args[0])
self.update_system(trusted)
self.finished()
elif cmd == 'what-provides':
@ -665,12 +664,17 @@ def format_string(text, encoding='utf-8'):
txt = unicode(text, encoding, errors='replace')
return text.replace("\n", ";")
def text_to_bool(text):
def _text_to_bool(text):
'''Convert a string to a boolean value.'''
if text.lower() in ["yes", "true"]:
return True
return False
def _bool_to_text(value):
if value:
return "true"
return "false"
def get_package_id(name, version, arch, data):
"""Returns a package id."""
return ";".join((name, version, arch, data))