[][src]Struct archlinux_repo::Repository

pub struct Repository { /* fields omitted */ }

Arch Linux repository

Implementations

impl Repository[src]

pub async fn load<'_, '_>(
    name: &'_ str,
    url: &'_ str
) -> Result<Repository, Box<dyn Error>>
[src]

Loads arch repository by it's name and url

Example

This example is not tested
use archlinux_repo::Repository;

let repo = Repository::load("mingw64", "http://repo.msys2.org/mingw/x86_64").await?;

pub fn get_package_by_name(&self, name: &str) -> Option<&Package>[src]

Get package by full name. Will return None if package cannot be found

Example

This example is not tested
use archlinux_repo::Repository;

let repo = Repository::load("mingw64", "http://repo.msys2.org/mingw/x86_64").await?;
let gtk = repo.get_package_by_name("mingw-w64-x86_64-gtk3")?;

pub fn get_package_by_name_and_version(&self, name: &str) -> Option<&Package>[src]

Get package by full name and version. Will return None if package cannot be found

Example

This example is not tested
use archlinux_repo::Repository;

let repo = Repository::load("mingw64", "http://repo.msys2.org/mingw/x86_64").await?;
let gtk = repo.get_package_by_name_and_version("mingw-w64-x86_64-gtk3-3.24.9-4")?;

pub fn get_package_by_base(&self, name: &str) -> Option<&Package>[src]

Get package by base name. Will return None if package cannot be found

NOTE! Not all packages have names

Example

This example is not tested
use archlinux_repo::Repository;

let repo = Repository::load("mingw64", "http://repo.msys2.org/mingw/x86_64").await?;
let gtk = repo.get_package_by_base("mingw-w64-gtk3")?;

pub fn get_package_files(&self, name: &str) -> Option<&Vec<String>>[src]

Get package files by full name. Will return None if package cannot be found or does not contains file metadata

NOTE! This method will always return None if load_files_meta is false NOTE! For CSV packages base package name will always return None unless it exists in repo

Example

This example is not tested
use archlinux_repo::{Repository, RepositoryBuilder};

let repo = RepositoryBuilder::new("mingw64", "http://repo.msys2.org/mingw/x86_64")
                .files_metadata(true)
                .load()
                .await?;
let gtk_files = repo.get_package_files("mingw-w64-x86_64-gtk3")?;

pub async fn request_package<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Response, Box<dyn Error>>
[src]

Send HTTP request to download package by full name/base name or name with version. Panics if package not found

Example

This example is not tested
use archlinux_repo::Repository;

let repo = Repository::load("mingw64", "http://repo.msys2.org/mingw/x86_64").await?;
let gtk_package = repo.request_package("mingw-w64-gtk3").await?.bytes().await?;

pub async fn reload<'_>(&'_ mut self) -> Result<(), Box<dyn Error>>[src]

Reload repository

Trait Implementations

impl<'_> Index<&'_ str> for Repository[src]

type Output = Package

The returned type after indexing.

impl<'a> IntoIterator for &'a Repository[src]

type Item = &'a Package

The type of the elements being iterated over.

type IntoIter = Box<dyn Iterator<Item = Self::Item> + 'a>

Which kind of iterator are we turning this into?

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.