code: def download_and_install(self):
          
          if self.is_installed_from_bin:
              try:
                  self.installer.install_from_rpm_py_package()
                  return
              except RpmPyPackageNotFoundError as e:
                  Log.warn('RPM Py Package not found. reason: {0}'.format(e))
  
                  # Pass to try to install from the source.
                  pass
  
          # Download and install from the source.
          top_dir_name = self.downloader.download_and_expand()
          rpm_py_dir = os.path.join(top_dir_name, 'python')
  
          setup_py_in_found = False
          with Cmd.pushd(rpm_py_dir):
              if self.installer.setup_py.exists_in_path():
                  setup_py_in_found = True
                  self.installer.run()
  
          if not setup_py_in_found:
              self.installer.install_from_rpm_py_package()
docs: Download and install RPM Python binding.