rm copy and address clippy lints

This commit is contained in:
Aravinth Manivannan 2021-12-17 11:54:34 +05:30
parent d2ba1e1af3
commit 7011c8c05c
Signed by: realaravinth
GPG key ID: AD9F0F08E855ED88
5 changed files with 35 additions and 59 deletions

View file

@ -8,6 +8,11 @@
- `Buster.source` is tracked by cargo - `Buster.source` is tracked by cargo
## Removed:
- `copy` in `Processor`: current implementation copies all files by
default. That field was redundant.
### Changed: ### Changed:
- `Files::new()` takes a `&str`: Earlier versions were using - `Files::new()` takes a `&str`: Earlier versions were using
@ -21,8 +26,7 @@
is unset(i.e `None`), no mime based filtering is done and all files is unset(i.e `None`), no mime based filtering is done and all files
inside source directory is considered for processing. inside source directory is considered for processing.
- `Files::get_full_path()` and `Files::get()` now accept `impl - `Files::get_full_path()` and `Files::get()` now accept `impl AsRef<str>` for path argument.
AsRef<str>` for path argument.
### Fixed: ### Fixed:

View file

@ -13,7 +13,6 @@ fn main() {
.source("./static/cachable/") .source("./static/cachable/")
.result("./dist") .result("./dist")
.mime_types(types) .mime_types(types)
.copy(true)
.follow_links(true) .follow_links(true)
.build() .build()
.unwrap(); .unwrap();

View file

@ -31,7 +31,7 @@ pub struct Files {
impl Files { impl Files {
/// Load filemap in main program. Should be called from main program /// Load filemap in main program. Should be called from main program
pub fn new(map: &str) -> Self { pub fn new(map: &str) -> Self {
let res: Files = serde_json::from_str(&map).unwrap(); let res: Files = serde_json::from_str(map).unwrap();
res res
} }
@ -39,7 +39,7 @@ impl Files {
/// ///
/// If the modified filename path is `./prod/test.randomhash.svg`, it will /// If the modified filename path is `./prod/test.randomhash.svg`, it will
/// output `/test.randomhash.svg`. For full path, see [get_full_path][Self::get_full_path]. /// output `/test.randomhash.svg`. For full path, see [get_full_path][Self::get_full_path].
pub fn get<'a, 'b>(&'b self, path: impl AsRef<str>) -> Option<&'b str> { pub fn get(&self, path: impl AsRef<str>) -> Option<&str> {
if let Some(path) = self.map.get(path.as_ref()) { if let Some(path) = self.map.get(path.as_ref()) {
Some(&path[self.base_dir.len()..]) Some(&path[self.base_dir.len()..])
// Some(&path) // Some(&path)
@ -52,7 +52,7 @@ impl Files {
/// ///
/// If the modified filename path is `./prod/test.randomhash.svg`, it will /// If the modified filename path is `./prod/test.randomhash.svg`, it will
/// output `/prod/test.randomhash.svg`. For relative path, see [get][Self::get]. /// output `/prod/test.randomhash.svg`. For relative path, see [get][Self::get].
pub fn get_full_path<'a, 'b>(&'b self, path: impl AsRef<str>) -> Option<&'b String> { pub fn get_full_path(&self, path: impl AsRef<str>) -> Option<&String> {
self.map.get(path.as_ref()) self.map.get(path.as_ref())
} }
} }
@ -81,7 +81,6 @@ mod tests {
.source("./dist") .source("./dist")
.result("/tmp/prodsd2") .result("/tmp/prodsd2")
.mime_types(types) .mime_types(types)
.copy(true)
.follow_links(true) .follow_links(true)
.build() .build()
.unwrap(); .unwrap();
@ -126,7 +125,6 @@ mod tests {
.source("./dist") .source("./dist")
.result("/tmp/prod5") .result("/tmp/prod5")
.mime_types(types) .mime_types(types)
.copy(true)
.follow_links(true) .follow_links(true)
.build() .build()
.unwrap(); .unwrap();

View file

@ -40,7 +40,6 @@
//! .source("./dist") //! .source("./dist")
//! .result("./prod") //! .result("./prod")
//! .mime_types(types) //! .mime_types(types)
//! .copy(true)
//! .follow_links(true) //! .follow_links(true)
//! .build() //! .build()
//! .unwrap(); //! .unwrap();

View file

@ -25,7 +25,6 @@
//! .source("./dist") //! .source("./dist")
//! .result("./prod") //! .result("./prod")
//! .mime_types(types) //! .mime_types(types)
//! .copy(true)
//! .follow_links(true) //! .follow_links(true)
//! .build() //! .build()
//! .unwrap(); //! .unwrap();
@ -83,8 +82,6 @@ pub struct Buster<'a> {
#[builder(setter(into, strip_option), default)] #[builder(setter(into, strip_option), default)]
/// route prefixes /// route prefixes
prefix: Option<String>, prefix: Option<String>,
/// copy other non-hashed files from source dire to result dir?
copy: bool,
/// follow symlinks? /// follow symlinks?
follow_links: bool, follow_links: bool,
/// exclude these files for hashing. /// exclude these files for hashing.
@ -147,7 +144,7 @@ impl<'a> Buster<'a> {
let mut file_map: Files = Files::new(&self.result); let mut file_map: Files = Files::new(&self.result);
let mut process_worker = |path: &Path| { let mut process_worker = |path: &Path| {
let contents = Self::read_to_string(&path).unwrap(); let contents = Self::read_to_string(path).unwrap();
let hash = Self::hasher(&contents); let hash = Self::hasher(&contents);
let get_name = |no_hash: bool| -> String { let get_name = |no_hash: bool| -> String {
@ -190,25 +187,8 @@ impl<'a> Buster<'a> {
let new_name = get_name(no_hash_status); let new_name = get_name(no_hash_status);
// let new_name = if self.no_hash.iter().any(|no_hash| {
// let no_hash = Path::new(&self.source).join(&no_hash);
// no_hash == path
// }) {
// format!(
// "{}.{}",
// path.file_stem().unwrap().to_str().unwrap(),
// path.extension().unwrap().to_str().unwrap()
// )
// } else {
// format!(
// "{}.{}.{}",
// path.file_stem().unwrap().to_str().unwrap(),
// hash,
// path.extension().unwrap().to_str().unwrap()
// )
// };
self.copy(path, &new_name); self.copy(path, &new_name);
let (source, destination) = self.gen_map(path, &&new_name); let (source, destination) = self.gen_map(path, &new_name);
let _ = file_map.add( let _ = file_map.add(
source.to_str().unwrap().into(), source.to_str().unwrap().into(),
destination.to_str().unwrap().into(), destination.to_str().unwrap().into(),
@ -233,11 +213,11 @@ impl<'a> Buster<'a> {
panic!("couldn't resolve MIME for file: {:?}", &path) panic!("couldn't resolve MIME for file: {:?}", &path)
}); });
if &file_mime == mime_type { if &file_mime == mime_type {
process_worker(&path); process_worker(path);
} }
} }
} }
None => process_worker(&path), None => process_worker(path),
} }
} }
} }
@ -296,7 +276,7 @@ impl<'a> Buster<'a> {
let entry_path = Path::new(&entry_path); let entry_path = Path::new(&entry_path);
if entry_path.is_dir() && path != entry_path { if entry_path.is_dir() && path != entry_path {
Self::create_dir_structure(&self, entry_path)?; Self::create_dir_structure(self, entry_path)?;
} else if entry_path.is_dir() { } else if entry_path.is_dir() {
let rel_location = entry_path.strip_prefix(&self.source).unwrap(); let rel_location = entry_path.strip_prefix(&self.source).unwrap();
let destination = Path::new(&self.result).join(rel_location); let destination = Path::new(&self.result).join(rel_location);
@ -361,7 +341,7 @@ impl Files {
pub mod tests { pub mod tests {
use super::*; use super::*;
pub fn cleanup(config: &Buster) { pub fn cleanup(config: &Buster<'_>) {
let _ = fs::remove_dir_all(&config.result); let _ = fs::remove_dir_all(&config.result);
delete_file(); delete_file();
} }
@ -386,7 +366,6 @@ pub mod tests {
.source("./dist") .source("./dist")
.result("/tmp/prod2i") .result("/tmp/prod2i")
.mime_types(types) .mime_types(types)
.copy(true)
.follow_links(true) .follow_links(true)
.prefix("/test") .prefix("/test")
.no_hash(vec![no_hash.clone()]) .no_hash(vec![no_hash.clone()])
@ -408,7 +387,6 @@ pub mod tests {
let config = BusterBuilder::default() let config = BusterBuilder::default()
.source("./dist") .source("./dist")
.result("/tmp/prod2ii") .result("/tmp/prod2ii")
.copy(true)
.follow_links(true) .follow_links(true)
.no_hash(vec![no_hash.clone()]) .no_hash(vec![no_hash.clone()])
.build() .build()
@ -459,7 +437,6 @@ pub mod tests {
.source("./dist") .source("./dist")
.result("/tmp/prod2i") .result("/tmp/prod2i")
.mime_types(types) .mime_types(types)
.copy(true)
.follow_links(true) .follow_links(true)
.prefix("/test") .prefix("/test")
.build() .build()
@ -500,7 +477,6 @@ pub mod tests {
let config = BusterBuilder::default() let config = BusterBuilder::default()
.source("./dist") .source("./dist")
.result("/tmp/prodnohashextension") .result("/tmp/prodnohashextension")
.copy(true)
.follow_links(true) .follow_links(true)
.no_hash(no_hash.clone()) .no_hash(no_hash.clone())
.build() .build()