Instead of doing all delegations manually, we can just bind __getattr__ to the backend's __getattr__ method. Do this for all, except for install_what_provides, which is really a common method.
Signed-off-by: Lucas Meneghel Rodrigues <l...@redhat.com> --- client/shared/software_manager.py | 83 +++---------------------------------- 1 file changed, 5 insertions(+), 78 deletions(-) diff --git a/client/shared/software_manager.py b/client/shared/software_manager.py index ba40ae7..2712e68 100755 --- a/client/shared/software_manager.py +++ b/client/shared/software_manager.py @@ -129,84 +129,11 @@ class SoftwareManager(object): 'system: %s.' % backend_type) - def check_installed(self, name, version=None, arch=None): - """ - Check whether a package is installed on this system. - - @param name: Package name. - @param version: Package version. - @param arch: Package architecture. - """ - return self.backend.check_installed(name, version, arch) - - - def list_all(self): - """ - List all installed packages. - """ - return self.backend.list_all() - - - def list_files(self, name): - """ - Get a list of all files installed by package [name]. - - @param name: Package name. - """ - return self.backend.list_files(name) - - - def install(self, name): - """ - Install package [name]. - - @param name: Package name. - """ - return self.backend.install(name) - - - def remove(self, name): - """ - Remove package [name]. - - @param name: Package name. - """ - return self.backend.remove(name) - - - def add_repo(self, url): - """ - Add package repo described by [url]. - - @param name: URL of the package repo. - """ - return self.backend.add_repo(url) - - - def remove_repo(self, url): - """ - Remove package repo described by [url]. - - @param url: URL of the package repo. - """ - return self.backend.remove_repo(url) - - - def upgrade(self): - """ - Upgrade all packages available. - """ - return self.backend.upgrade() - - - def provides(self, file): - """ - Returns a list of packages that provides a given capability to the - system (be it a binary, a library). - - @param file: Path to the file. - """ - return self.backend.provides(file) + def __getattr__(self, name): + if name == "install_what_provides": + return self.install_what_provides(file) + else: + return self.backend.__getattribute__(self, name) def install_what_provides(self, file): -- 1.7.10.4 _______________________________________________ Autotest mailing list Autotest@test.kernel.org http://test.kernel.org/cgi-bin/mailman/listinfo/autotest