/* * [TidyDVDMacros.java] * * Summary: Put DVD macros into canonical form. Correct titles. Just reorders within the DVD macro. * * Copyright: (c) 2012-2017 Roedy Green, Canadian Mind Products, http://mindprod.com * * Licence: This software may be copied and used freely for any purpose but military. * http://mindprod.com/contact/nonmil.html * * Requires: JDK 1.8+ * * Created with: JetBrains IntelliJ IDEA IDE http://www.jetbrains.com/idea/ * * Version History: * 1.0 2012-02-18 initial version */ package com.mindprod.stores; import com.mindprod.common18.EIO; import com.mindprod.common18.Misc; import com.mindprod.fastcat.FastCat; import com.mindprod.htmlmacros.macro.Global; import com.mindprod.htmlmacros.support.ConfigurationForMindprod; import com.mindprod.hunkio.HunkIO; import java.io.File; import java.io.IOException; import static java.lang.System.*; /** * Put DVD macros into canonical form. Correct titles. Just reorders within the DVD macro. *

* Use -dry to not actually change the files. * * @author Roedy Green, Canadian Mind Products * @version 1.0 2012-02-18 initial version * @since 2012-02-18 */ public class TidyDVDMacros extends ManipulateMacros { /** * true if want extra debugging information */ private static final boolean DEBUGGING = false; /** * how to use from command line */ private static final String USAGE = "\nTidyDVDMacros.exe Configuration"; /** * where dvd files are kept */ private static File dvdDir; /** * replace the DVD macro with a stripped-down Insert macro * * @param asin electronic ASIN number * @param upc UPC-12 * @param isbn13 isbn13 * @param title title of DVD * @param author author of DVD * @param birth yyyy-mm-dd birthdate * @param death yyy-mm-dd deathdate * @param type e.g. DVD, CD, software, * @param notes comments about book * * @return generated Tidied Book macro */ // asin, upc, title, author, birth, death, type , notes private static String buildTidiedDVDFile( final String asin, final String upc, final String isbn13, final String title, final String author, final String birth, final String death, final String type, final String notes ) { final FastCat sb = new FastCat( 28 ); sb.append( "\n" ); sb.append( "\n" ); sb.append( "\n" ); return sb.toString(); } /** * /** * * @param args names of files to extract book macros from, -s etc.. * * @throws java.io.IOException if trouble reading or writing files containing Book macros. */ public static void main( String[] args ) throws IOException { Global.installConfiguration( new ConfigurationForMindprod() ); final File webrootDir = new File( Global.configuration.getLocalWebrootWithSlashes() ); dvdDir = new File( webrootDir, "dvd" ); String[] files = dvdDir.list( new DVDMacroFileFilter() ); for ( String fileName : files ) { final File sourceFile = new File( dvdDir, fileName ); try { final String big = HunkIO.readEntireFile( sourceFile, HunkIO.UTF8 ); final String dvdMacro = findFirstMacroContents( big, "DVD" ); if ( dvdMacro == null ) { err.println( "missing