<commit_before>
package micromod.tracker;

/* A simple command-line "tracker" for Protracker MOD files. */
public class Tracker {
	public static void main( String[] args ) throws Exception {
		if( args.length > 0 ) {
			java.io.File inputFile = new java.io.File( args[ 0 ] );
			Module module = new Module( inputFile.getParentFile() );
			Parser.parse( new java.io.InputStreamReader( new java.io.FileInputStream( inputFile ) ), module );
			if( args.length > 1 ) {
				java.io.OutputStream outputStream = new java.io.FileOutputStream( args[ 1 ] );
				try{
					outputStream.write( module.getModule().save() );
				} finally {
					outputStream.close();
				}
			} else {
				micromod.Player player = new micromod.Player( module.getModule(), false, false );
				System.out.println( player.getModuleInfo() );
				Thread thread = new Thread( player );
				thread.start();
				thread.join();
			}
		} else {
			System.err.println( "Usage java " + Tracker.class.getName() + " input.mt output.mod" );
		}
	}
}<commit_msg>Refuse to overwrite existing files.<commit_after>
package micromod.tracker;

/* A simple command-line "tracker" for Protracker MOD files. */
public class Tracker {
	public static void main( String[] args ) throws java.io.IOException {
		if( args.length > 0 ) {
			java.io.File inputFile = new java.io.File( args[ 0 ] );
			if( args.length > 1 ) {
				java.io.File outputFile = new java.io.File( args[ 1 ] );
				if( outputFile.exists() ) {
					System.err.println( "Output file already exists!" );
				} else {
					java.io.OutputStream outputStream = new java.io.FileOutputStream( outputFile );
					try{
						outputStream.write( convert( inputFile ).getModule().save() );
					} finally {
						outputStream.close();
					}
				}
			} else {
				micromod.Player player = new micromod.Player( convert( inputFile ).getModule(), false, false );
				System.out.println( player.getModuleInfo() );
				Thread thread = new Thread( player );
				thread.start();
				try {
					thread.join();
				} catch( InterruptedException e ) {
				}
			}
		} else {
			System.err.println( "Usage java " + Tracker.class.getName() + " input.mt output.mod" );
		}
	}

	private static Module convert( java.io.File inputFile ) throws java.io.IOException {
		Module module = new Module( inputFile.getParentFile() );
		Parser.parse( new java.io.InputStreamReader( new java.io.FileInputStream( inputFile ) ), module );
		return module;
	}
}
{'fraction_non_alphanumeric': 0.1369806663924311, 'fraction_numerical': 0.003290826820238585, 'mean_word_length': 3.143100511073254, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6485759', 'n_tokens_mistral': 893, 'n_tokens_neox': 740, 'n_words': 197}