Handle (librepo.Handle)

class librepo.Handle

Librepo handle class. Handle hold information about a repository and configuration for downloading from the repository.

Attributes:

update:

See: LRO_UPDATE

urls:

See: LRO_URLS

mirrorlist:

See: LRO_MIRRORLIST

mirrorlisturl:

See: LRO_MIRRORLISTURL

metalinkurl:

See: LRO_METALINKURL

local:

See: LRO_LOCAL

httpauth:

See: LRO_HTTPAUTH

userpwd:

See: LRO_USERPWD

proxy:

See: LRO_PROXY

proxyport:

See: LRO_PROXYPORT

proxytype:

See: LRO_PROXYTYPE

proxyauth:

See: LRO_PROXYAUTH

proxyuserpwd:

See: LRO_PROXYUSERPWD

progresscb:

See: LRO_PROGRESSCB

progressdata:

See: LRO_PROGRESSDATA

maxspeed:

See: LRO_MAXSPEED

destdir:

See: LRO_DESTDIR

repotype:

See: LRO_REPOTYPE

connecttimeout:

See: LRO_CONNECTTIMEOUT

ignoremissing:

See: LRO_IGNOREMISSING

interruptible:

See: LRO_INTERRUPTIBLE

useragent:

See: LRO_USERAGENT

fetchmirrors:

See: LRO_FETCHMIRRORS

maxmirrortries:

See: LRO_MAXMIRRORTRIES

maxparalleldownloads:

See: LRO_MAXPARALLELDOWNLOADS

maxdownloadspermirror:

See: LRO_MAXDOWNLOADSPERMIRROR

varsub:

See: LRO_VARSUB

fastestmirror:

See: LRO_FASTESTMIRROR

fastestmirrorcache:

See: LRO_FASTESTMIRRORCACHE

fastestmirrormaxage:

See: LRO_FASTESTMIRRORMAXAGE

fastestmirrorcb:

See: LRO_FASTESTMIRRORCB

fastestmirrordata:

See: LRO_FASTESTMIRRORDATA

lowspeedtime:

See: LRO_LOWSPEEDTIME

lowspeedlimit:

See: LRO_LOWSPEEDLIMIT

gpgcheck:

See: LRO_GPGCHECK

checksum:

See: LRO_CHECKSUM

rpmmddlist:

See: LRO_RPMMDDLIST

yumdlist:

See: LRO_YUMDLIST

yumslist:

See: LRO_YUMSLIST

rpmmdblist:

See: LRO_RPMMDBLIST

yumblist:

See: LRO_YUMBLIST

hmfcb:

See: LRO_HMFCB

sslverifypeer:

See LRO_SSLVERIFYPEER

sslverifyhost:

See LRO_SSLVERIFYHOST

sslclientcert:

See LRO_SSLCLIENTCERT

sslclientkey:

See LRO_SSLCLIENTKEY

sslcacert:

See LRO_SSLCACERT

ipresolve:

See LRO_IPRESOLVE

allowedmirrorfailures:

See LRO_ALLOWEDMIRRORFAILURES

adaptivemirrorsorting:

See LRO_ADAPTIVEMIRRORSORTING

gnupghomedir:

See LRO_GNUPGHOMEDIR

fastestmirrortimeout:

See LRO_FASTESTMIRRORTIMEOUT

httpheader:

See LRO_HTTPHEADER

offline:

See LRO_OFFLINE

httpauthmethods

See LRO_HTTPAUTHMETHODS

proxyauthmethods

See LRO_PROXYAUTHMETHODS

ftpuseepsv

See LRO_FTPUSEEPSV

preservetime

See LRO_PRESERVETIME

download(url, dest=None, checksum_type=0, checksum=None, expectedsize=0, base_url=None, resume=0)

This method is deprecated - Use download_packages() instead.

Download package from the repository specified in the Handle. If base_url is specified, urls and mirrors specified in the Handle are ignored.

Note: If resume is True and checksum_type and checksum are specified and downloaded package already exists, then checksum of the existing package is checked. If checksum matches, then no downloading is done and exception with LRE_ALREADYDOWNLOADED return code is raised.

Parameters
  • url – Relative path to the package in the repository.

  • dest – Destination for package. Could be absolute/relative path to directory or filename.

  • checksum_typeChecksum (hash) type constants.

  • checksum – Checksum value.

  • expectedsize – Expected size of the file. If server reports different size, then no download is preformed.

  • base_url – Instead of repositories specified in Handle use repository on this url.

  • resumeTrue enables resume. Resume means that if local destination file exists, just try to resume download, if not or resume download failed than download whole file again.

Example:

h = librepo.Handle()
h.setopt(librepo.LRO_URLS, ["http://ftp.linux.ncsu.edu/pub/fedora/linux/releases/17/Everything/i386/os/"])
h.setopt(librepo.LRO_REPOTYPE, librepo.LR_YUMREPO)
h.download("Packages/s/sl-3.03-12.fc17.i686.rpm",
    checksum="0ec8535d0fc00b497d8aef491c3f8b3955f2d84846325ee44851d9de8a36d12c",
    checksum_type=librepo.CHECKSUM_SHA256)

Note

If checksum check is disabled in the current Handle, then checksum is NOT checked even if checksum and checksum_type params are specified!

getinfo(option)

Get information from Handle.

Parameters

option – One of Handle info options

Returns

Value for the specified option or None if the option is not set.

new_packagetarget(relative_url, **kwargs)

Shortcut for creating a new PackageTarget objects. Targets created by this way have automatically setted handle to the current Handle object.

Parameters

relative_url – Relative par of target (package) URL

Returns

New PackageTarget

perform(result=None)

Perform the specified action - download/locate a repository.

Parameters

resultResult object or None

Returns

Result object that was passed by result parameter or the new one if the parameter was not specified or was None.

setopt(option, val)

Set option to Handle directly.

Parameters

option – One of: Handle options

Returns

None

Example:

# The command:
h.setopt(librepo.LRO_URLS, ["http://ftp.linux.ncsu.edu/pub/fedora/linux/releases/17/Everything/i386/os/"])
# is equivalent to:
h.urls(["http://ftp.linux.ncsu.edu/pub/fedora/linux/releases/17/Everything/i386/os/"])