/* * File : Main.java * Created : 5 Oct. 2003 * By : Parg * * Azureus - a Java Bittorrent client * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details ( see the LICENSE file ). * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.gudy.azureus2.core3.torrent.test; import java.io.*; import java.net.*; import org.gudy.azureus2.core3.security.SESecurityManager; import org.gudy.azureus2.core3.torrent.*; import org.gudy.azureus2.core3.util.Debug; public class Main { static int TT_ENCODE = 1; static int TT_DECODE = 2; static int TT_CREATE = 3; static void usage() { System.err.println( "Usage: encode|decode|create" ); SESecurityManager.exitVM(1); } public static void main( String[] args ) { int test_type= 0; if ( args.length != 1 ){ usage(); } if ( args[0].equalsIgnoreCase( "encode" )){ test_type = TT_ENCODE; }else if ( args[0].equalsIgnoreCase( "decode" )){ test_type = TT_DECODE; }else if ( args[0].equalsIgnoreCase( "create" )){ test_type = TT_CREATE; }else{ usage(); } try{ if ( test_type == TT_ENCODE ){ /* File f = new File("D:\\az2060-broken.torrent"); TOTorrent torrent = TOTorrentFactory.deserialiseFromBEncodedFile( f ); TOTorrentAnnounceURLSet set = torrent.getAnnounceURLGroup().createAnnounceURLSet(new URL[]{ new URL("http://localhost:6970/announce"), new URL("http://localhost:6969/announce")}); torrent.getAnnounceURLGroup().setAnnounceURLSets( new TOTorrentAnnounceURLSet[]{ set }); torrent.setAdditionalStringProperty( "Wibble", "wobble" ); torrent.print(); torrent.serialiseToBEncodedFile( new File("c:\\temp\\test2.torrent")); */ }else if ( test_type == TT_DECODE ){ File f = new File("c:\\temp\\az3008-broken.torrent" ); TOTorrent torrent = TOTorrentFactory.deserialiseFromBEncodedFile( f ); // System.out.println( "\turl group sets = " + torrent.getAnnounceURLGroup().getAnnounceURLSets().length); torrent.print(); }else if ( test_type == TT_CREATE ){ TOTorrentProgressListener list = new TOTorrentProgressListener() { public void reportProgress( int p ) { System.out.println( "" + p ); } public void reportCurrentTask( String task_description ) { System.out.println( "task = " + task_description ); } }; boolean do_file = false; boolean do_fixed = false; TOTorrent t; if ( do_fixed ){ if ( do_file ){ TOTorrentCreator c = TOTorrentFactory.createFromFileOrDirWithFixedPieceLength( new File("c:\\temp\\test.wmf"), new URL( "http://127.0.0.1:6969/announce" ), 1024*10 ); c.addListener( list ); t = c.create(); }else{ TOTorrentCreator c = TOTorrentFactory.createFromFileOrDirWithFixedPieceLength( new File("c:\\temp\\scans"), new URL("http://127.0.0.1:6969/announce" ), 1024*256 ); c.addListener( list ); t = c.create(); } }else{ if ( do_file ){ TOTorrentCreator c = TOTorrentFactory.createFromFileOrDirWithComputedPieceLength( new File("c:\\temp\\test.wmf"), new URL( "http://127.0.0.1:6969/announce" )); c.addListener( list ); t = c.create(); }else{ TOTorrentCreator c = TOTorrentFactory.createFromFileOrDirWithComputedPieceLength( new File("c:\\temp\\qqq"), new URL("http://127.0.0.1:6969/announce" )); c.addListener( list ); t = c.create(); t.setCreationDate( 12345L ); t.setComment( "poo pee plop mcjock"); } } t.print(); t.serialiseToBEncodedFile( new File("c:\\temp\\test.torrent" )); } }catch( Throwable e ){ Debug.printStackTrace( e ); } } }