[−][src]Struct archlinux_repo::Repository
Arch Linux repository
Implementations
impl Repository
[src]
pub async fn load<'_, '_>(
name: &'_ str,
url: &'_ str
) -> Result<Repository, Box<dyn Error>>
[src]
name: &'_ str,
url: &'_ str
) -> Result<Repository, Box<dyn Error>>
Loads arch repository by it's name and url
Example
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
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
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
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
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]
&'_ self,
name: &'_ str
) -> Result<Response, Box<dyn Error>>
Send HTTP request to download package by full name/base name or name with version. Panics if package not found
Example
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.
fn index(&self, index: &str) -> &Self::Output
[src]
impl<'a> IntoIterator for &'a Repository
[src]
Auto Trait Implementations
impl !RefUnwindSafe for Repository
impl !Send for Repository
impl !Sync for Repository
impl Unpin for Repository
impl !UnwindSafe for Repository
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,