Pārlūkot izejas kodu

Merge pull request #6 from mrxiaozhuox/master

fix: always panic error
Jonathan Kelley 3 gadi atpakaļ
vecāks
revīzija
58f061d37c

+ 1 - 0
src/buildsystem/wasm.rs

@@ -0,0 +1 @@
+

+ 1 - 0
src/cli/translate/extract_svgs.rs

@@ -0,0 +1 @@
+

+ 18 - 8
src/cli/translate/mod.rs

@@ -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 - 0
src/cli/watch/mod.rs

@@ -0,0 +1 @@
+

+ 12 - 15
src/main.rs

@@ -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 - 0
src/watch.rs

@@ -0,0 +1 @@
+