Changeset 6785


Ignore:
Timestamp:
08/10/10 14:39:42 (9 years ago)
Author:
melissa
Message:
  • bfconvert and showinf now exit if an unknown flag or argument is specified.
  • bfconvert now prompts the user if the specified output file already exists.

Closes #524.

Location:
trunk/components/bio-formats/src/loci/formats/tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/components/bio-formats/src/loci/formats/tools/ImageConverter.java

    r6723 r6785  
    2525 
    2626import java.awt.image.IndexColorModel; 
     27import java.io.BufferedReader; 
     28import java.io.InputStreamReader; 
    2729import java.io.IOException; 
    2830 
     
    102104            catch (NumberFormatException exc) { } 
    103105          } 
    104           else LOGGER.warn("Ignoring unknown command flag: {}", args[i]); 
     106          else { 
     107            LOGGER.error("Found unknown command flag: {}; exiting.", args[i]); 
     108            return false; 
     109          } 
    105110        } 
    106111        else { 
    107112          if (in == null) in = args[i]; 
    108113          else if (out == null) out = args[i]; 
    109           else LOGGER.warn("Ignoring unknown argument: {}", args[i]); 
     114          else { 
     115            LOGGER.error("Found unknown argument: {}; exiting.", args[i]); 
     116            LOGGER.error("You should specify exactly one input file and " + 
     117              "exactly one output file."); 
     118            return false; 
     119          } 
    110120        } 
    111121      } 
     
    160170      for (int i=0; i<s.length; i++) LOGGER.info(s[i]); 
    161171      return false; 
     172    } 
     173 
     174    if (new Location(out).exists()) { 
     175      LOGGER.warn("Output file {} exists.", out); 
     176      LOGGER.warn("Do you want to overwrite it? ([y]/n)"); 
     177      BufferedReader r = new BufferedReader(new InputStreamReader(System.in)); 
     178      String choice = r.readLine().trim().toLowerCase(); 
     179      boolean overwrite = !choice.startsWith("n"); 
     180      if (!overwrite) { 
     181        LOGGER.warn("Exiting; next time, please specify an output file that " + 
     182          "does not exist."); 
     183        return false; 
     184      } 
    162185    } 
    163186 
  • trunk/components/bio-formats/src/loci/formats/tools/ImageInfo.java

    r6759 r6785  
    123123  // -- ImageInfo methods -- 
    124124 
    125   public void parseArgs(String[] args) { 
     125  public boolean parseArgs(String[] args) { 
    126126    id = null; 
    127127    printVersion = false; 
     
    153153    shuffleOrder = null; 
    154154    map = null; 
    155     if (args == null) return; 
     155    if (args == null) return false; 
    156156    for (int i=0; i<args.length; i++) { 
    157157      if (args[i].startsWith("-")) { 
     
    206206        else if (args[i].equals("-map")) map = args[++i]; 
    207207        else if (args[i].equals("-format")) format = args[++i]; 
    208         else LOGGER.warn("Ignoring unknown command flag: {}", args[i]); 
     208        else { 
     209          LOGGER.error("Found unknown command flag: {}; exiting.", args[i]); 
     210          return false; 
     211        } 
    209212      } 
    210213      else { 
    211214        if (id == null) id = args[i]; 
    212         else LOGGER.warn("Ignoring unknown argument: {}", args[i]); 
    213       } 
    214     } 
     215        else { 
     216          LOGGER.error("Found unknown argument: {}; exiting.", args[i]); 
     217          return false; 
     218        } 
     219      } 
     220    } 
     221    return true; 
    215222  } 
    216223 
     
    880887  { 
    881888    DebugTools.enableLogging("INFO"); 
    882     parseArgs(args); 
     889    boolean validArgs = parseArgs(args); 
     890    if (!validArgs) return false; 
    883891    if (printVersion) { 
    884892      LOGGER.info("Version: {}", FormatTools.VERSION); 
Note: See TracChangeset for help on using the changeset viewer.