Merge pull request #6 from mrxiaozhuox/master

fix: always panic error
This commit is contained in:
Jonathan Kelley authored and GitHub committed 2022-01-18 11:53:54 -05:00
commit 58f061d37c
6 files changed
+34 -23

No files matched your search

+1
View File
@@ -0,0 +1 @@
+1
View File
@@ -0,0 +1 @@
+18 -8
View File
@@ -3,6 +3,7 @@ use html_parser::Node;
use std::fmt::Write;
use std::io::Read;
use std::path::PathBuf;
use std::process::exit;
use structopt::StructOpt;
pub mod extract_svgs;
@@ -40,21 +41,30 @@ impl Translate {
source,
} = self;
let contents = input
.map(|f| {
std::fs::read_to_string(&f)
.unwrap_or_else(|e| panic!("Could not read input file: {}", e))
let contents;
let temp = input.map(|f| {
std::fs::read_to_string(&f).unwrap_or_else(|e| {
log::error!("Cloud not read input file: {}.", e);
exit(0);
})
.unwrap_or(source.unwrap_or_else(|| {
});
if let None = temp {
if let Some(s) = source {
contents = s;
} else {
if atty::is(atty::Stream::Stdin) {
panic!("No input file, source, or stdin to translate from");
log::error!("No input file, source, or stdin to translate from.");
exit(0);
}
let mut buffer = String::new();
std::io::stdin().read_to_string(&mut buffer).unwrap();
buffer.trim().to_string()
}));
contents = buffer.trim().to_string();
}
} else {
contents = temp.unwrap();
}
// parse the input as html and prepare the output
let dom = Dom::parse(&contents)?;
+1
View File
@@ -0,0 +1 @@
+12 -15
View File
@@ -9,24 +9,21 @@ async fn main() -> Result<()> {
match args.action {
Commands::Translate(opts) => {
opts.translate();
}
} // Commands::Build(_) => {
// //
// }
// Commands::Build(_) => {
// //
// }
// Commands::Clean(_) => {
// //
// }
// Commands::Config(_) => {
// //
// }
// Commands::Clean(_) => {
// //
// }
// Commands::Config(_) => {
// //
// }
// Commands::Serve(_) => {
// //
// }
// Commands::Serve(_) => {
// //
// }
}
Ok(())
+1
View File
@@ -0,0 +1 @@