remove warnings of dead code
This commit is contained in:
parent
a068e3f192
commit
0a844c42ee
@ -1,5 +0,0 @@
|
|||||||
pub fn remove_last_char(input: &str) -> &str {
|
|
||||||
let mut chars = input.chars();
|
|
||||||
chars.next_back();
|
|
||||||
chars.as_str()
|
|
||||||
}
|
|
@ -1,4 +1,3 @@
|
|||||||
mod common;
|
|
||||||
mod repo;
|
mod repo;
|
||||||
mod tags;
|
mod tags;
|
||||||
mod ui;
|
mod ui;
|
||||||
|
67
src/repo.rs
67
src/repo.rs
@ -33,16 +33,16 @@ pub enum Repo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// check if yaml line matches and returns the split of repo string and rest
|
/// check if yaml line matches and returns the split of repo string and rest
|
||||||
pub fn match_yaml_image(input: &str) -> Option<(&str, &str)> {
|
pub fn match_yaml_image(input: &str) -> Result<(&str, &str), Error> {
|
||||||
lazy_static::lazy_static! {
|
lazy_static::lazy_static! {
|
||||||
static ref REGEX: Regex = Regex::new(r"^( +image *: *)([a-z0-9\./:]+)").unwrap();
|
static ref REGEX: Regex = Regex::new(r"^( +image *: *)([a-z0-9\./:]+)").unwrap();
|
||||||
}
|
}
|
||||||
let caps = match REGEX.captures(input) {
|
let caps = match REGEX.captures(input) {
|
||||||
Some(caps) => caps,
|
Some(caps) => caps,
|
||||||
None => return None,
|
None => return Err(Error::NoTagFound),
|
||||||
};
|
};
|
||||||
|
|
||||||
Some((caps.get(1).unwrap().as_str(), caps.get(2).unwrap().as_str()))
|
Ok((caps.get(1).unwrap().as_str(), caps.get(2).unwrap().as_str()))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn split_tag_from_repo(input: &str) -> Result<(&str, &str), Error> {
|
pub fn split_tag_from_repo(input: &str) -> Result<(&str, &str), Error> {
|
||||||
@ -67,14 +67,6 @@ pub fn split_tag_from_repo(input: &str) -> Result<(&str, &str), Error> {
|
|||||||
Ok((front, back))
|
Ok((front, back))
|
||||||
}
|
}
|
||||||
|
|
||||||
// pub fn split_repo(repo: &str) -> Result<Repo, Error> {
|
|
||||||
// let split_tag: Vec<&str> = repo.split(":").collect();
|
|
||||||
// if split_tag.len() == 2 && split_tag[0].len() != 0 && split_tag[1].len() != 0 {
|
|
||||||
// //
|
|
||||||
// }
|
|
||||||
// Ok(Repo::Project("".into()))
|
|
||||||
// }
|
|
||||||
|
|
||||||
pub fn split_repo_without_tag(repo: &str) -> Result<Repo, Error> {
|
pub fn split_repo_without_tag(repo: &str) -> Result<Repo, Error> {
|
||||||
let repo = repo.trim();
|
let repo = repo.trim();
|
||||||
let split_repo: Vec<&str> = repo.split("/").collect();
|
let split_repo: Vec<&str> = repo.split("/").collect();
|
||||||
@ -108,64 +100,11 @@ pub fn split_repo_without_tag(repo: &str) -> Result<Repo, Error> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn split_tag(repo: &str) -> Result<(&str, &str), Error> {
|
|
||||||
let split_tag: Vec<&str> = repo.split(":").collect();
|
|
||||||
if split_tag.len() == 2 && split_tag[0].len() != 0 && split_tag[1].len() != 0 {
|
|
||||||
Ok((split_tag[0], split_tag[1]))
|
|
||||||
} else {
|
|
||||||
Err(Error::NoTagFound)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// pub fn extract(repo: &str) -> Result<(Option<&str>, Option<&str>, &str), Error> {
|
|
||||||
// if repo.len() == 0 {
|
|
||||||
// return Err(Error::Empty);
|
|
||||||
// }
|
|
||||||
// let regex = regex::Regex::new(r"([^/:]*?/)??([^/:]*?/)?([^/:]*):?(.*)?").unwrap();
|
|
||||||
// let caps = match regex.captures(repo) {
|
|
||||||
// None => return Err(Error::Conversion),
|
|
||||||
// Some(cap) => cap,
|
|
||||||
// };
|
|
||||||
// let server = match caps.get(1) {
|
|
||||||
// None => None,
|
|
||||||
// Some(cap) => Some(common::remove_last_char(cap.as_str())),
|
|
||||||
// };
|
|
||||||
// let orga = match caps.get(2) {
|
|
||||||
// None => None,
|
|
||||||
// Some(cap) => Some(common::remove_last_char(cap.as_str())),
|
|
||||||
// };
|
|
||||||
|
|
||||||
// Ok((server, orga, caps.get(3).unwrap().as_str()))
|
|
||||||
// }
|
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::repo;
|
use crate::repo;
|
||||||
use crate::repo::{Error, Repo};
|
use crate::repo::{Error, Repo};
|
||||||
|
|
||||||
// #[test]
|
|
||||||
// fn test_repo_regex() {
|
|
||||||
// assert_eq!(repo::extract(""), Err(repo::Error::Empty));
|
|
||||||
// assert_eq!(
|
|
||||||
// repo::extract("ghcr.io/library/nginx"),
|
|
||||||
// Ok((Some("ghcr.io"), Some("library"), "nginx"))
|
|
||||||
// );
|
|
||||||
// assert_eq!(
|
|
||||||
// repo::extract("library/nginx"),
|
|
||||||
// Ok((None, Some("library"), "nginx"))
|
|
||||||
// );
|
|
||||||
// assert_eq!(repo::extract("nginx"), Ok((None, None, "nginx")));
|
|
||||||
// }
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn split_tag() {
|
|
||||||
assert_eq!(repo::split_tag("nginx:v1"), Ok(("nginx", "v1")));
|
|
||||||
assert_eq!(repo::split_tag("dsfsdf"), Err(repo::Error::NoTagFound));
|
|
||||||
assert_eq!(repo::split_tag("nginx:"), Err(repo::Error::NoTagFound));
|
|
||||||
assert_eq!(repo::split_tag(":v1"), Err(repo::Error::NoTagFound));
|
|
||||||
assert_eq!(repo::split_tag(":"), Err(repo::Error::NoTagFound));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_split_repo_without_tag() {
|
fn test_split_repo_without_tag() {
|
||||||
use crate::repo::split_repo_without_tag as test_fn;
|
use crate::repo::split_repo_without_tag as test_fn;
|
||||||
|
@ -37,8 +37,6 @@ pub struct Tags {
|
|||||||
|
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
pub enum Error {
|
pub enum Error {
|
||||||
/// repo string contains an illegal character
|
|
||||||
InvalidCharacter(char),
|
|
||||||
/// couldn't fetch json with reqwest
|
/// couldn't fetch json with reqwest
|
||||||
Fetching(String),
|
Fetching(String),
|
||||||
/// a serde error
|
/// a serde error
|
||||||
@ -52,7 +50,6 @@ pub enum Error {
|
|||||||
impl fmt::Display for Error {
|
impl fmt::Display for Error {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
match self {
|
match self {
|
||||||
Error::InvalidCharacter(c) => write!(f, "Invalid Character: {}", c),
|
|
||||||
Error::Fetching(s) => write!(f, "Fetching error: {}", s),
|
Error::Fetching(s) => write!(f, "Fetching error: {}", s),
|
||||||
Error::Converting(s) => write!(f, "Converting error: {}", s),
|
Error::Converting(s) => write!(f, "Converting error: {}", s),
|
||||||
Error::NoNextPage => write!(f, "No next page available"),
|
Error::NoNextPage => write!(f, "No next page available"),
|
||||||
|
@ -115,7 +115,7 @@ impl ServiceSwitcher<'_> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//check if line matches
|
//check if line matches
|
||||||
if repo::match_yaml_image(&self.list[i]).is_some() {
|
if repo::match_yaml_image(&self.list[i]).is_ok() {
|
||||||
self.state.select(Some(i));
|
self.state.select(Some(i));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -147,7 +147,7 @@ impl ServiceSwitcher<'_> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//check if line matches
|
//check if line matches
|
||||||
if repo::match_yaml_image(&self.list[i]).is_some() {
|
if repo::match_yaml_image(&self.list[i]).is_ok() {
|
||||||
self.state.select(Some(i));
|
self.state.select(Some(i));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -165,8 +165,8 @@ impl ServiceSwitcher<'_> {
|
|||||||
match self.state.selected() {
|
match self.state.selected() {
|
||||||
None => return Err(Error::NoneSelected),
|
None => return Err(Error::NoneSelected),
|
||||||
Some(i) => match repo::match_yaml_image(&self.list[i]) {
|
Some(i) => match repo::match_yaml_image(&self.list[i]) {
|
||||||
None => return Err(Error::Parsing(String::from("Nothing found"))),
|
Err(_) => return Err(Error::Parsing(String::from("Nothing found"))),
|
||||||
Some((_, repo)) => return Ok(repo.to_string()),
|
Ok((_, repo)) => return Ok(repo.to_string()),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -176,8 +176,8 @@ impl ServiceSwitcher<'_> {
|
|||||||
match self.state.selected() {
|
match self.state.selected() {
|
||||||
None => (),
|
None => (),
|
||||||
Some(i) => match repo::match_yaml_image(&self.list[i]) {
|
Some(i) => match repo::match_yaml_image(&self.list[i]) {
|
||||||
None => return,
|
Err(_) => return,
|
||||||
Some((front, _)) => self.list[i] = format!("{}{}", front, repo_with_tag),
|
Ok((front, _)) => self.list[i] = format!("{}{}", front, repo_with_tag),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
self.changed = true;
|
self.changed = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user