X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Ftodesbaum%2Fjsite%2Fmain%2FCLI.java;h=ff4041391f217ef099b39bd7dbc879054122f97a;hb=8db42d2121e8ee465ab8380a66febde1949a0106;hp=65c9253b153f9151311695173cabec16b597599f;hpb=0e88169c3e8decfcd99f39f5ecf3a85df50c3fca;p=jSite.git diff --git a/src/main/java/de/todesbaum/jsite/main/CLI.java b/src/main/java/de/todesbaum/jsite/main/CLI.java index 65c9253..ff40413 100644 --- a/src/main/java/de/todesbaum/jsite/main/CLI.java +++ b/src/main/java/de/todesbaum/jsite/main/CLI.java @@ -1,5 +1,5 @@ /* - * jSite - CLI.java - Copyright © 2006–2012 David Roden + * jSite - CLI.java - Copyright © 2006–2019 David Roden * * 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 @@ -19,13 +19,15 @@ package de.todesbaum.jsite.main; import java.io.PrintWriter; +import java.util.List; +import net.pterodactylus.util.io.StreamCopier.ProgressListener; import de.todesbaum.jsite.application.Freenet7Interface; import de.todesbaum.jsite.application.InsertListener; import de.todesbaum.jsite.application.Node; import de.todesbaum.jsite.application.Project; import de.todesbaum.jsite.application.ProjectInserter; -import de.todesbaum.util.io.StreamCopier.ProgressListener; +import de.todesbaum.jsite.main.JarFileLocator.DefaultJarFileLocator; /** * Command-line interface for jSite. @@ -50,7 +52,7 @@ public class CLI implements InsertListener { private Node[] nodes; /** The projects. */ - private Project[] projects; + private List projects; /** Whether the insert has finished. */ private boolean finished = false; @@ -88,7 +90,7 @@ public class CLI implements InsertListener { } } - ConfigurationLocator configurationLocator = new ConfigurationLocator(); + ConfigurationLocator configurationLocator = new ConfigurationLocator(new DefaultJarFileLocator(getClass().getClassLoader())); if (configFile != null) { configurationLocator.setCustomLocation(configFile); } @@ -103,6 +105,7 @@ public class CLI implements InsertListener { freenetInterface.setNode(node); projectInserter.setFreenetInterface(freenetInterface); + projectInserter.setPriority(configuration.getPriority()); Project currentProject = null; for (String argument : args) { @@ -220,6 +223,7 @@ public class CLI implements InsertListener { projectInserter.setProject(currentProject); projectInserter.start(new ProgressListener() { + @Override public void onProgress(long copied, long length) { System.out.print("Uploaded: " + copied + " / " + length + " bytes...\r"); } @@ -243,6 +247,7 @@ public class CLI implements InsertListener { /** * {@inheritDoc} */ + @Override public void projectInsertStarted(Project project) { outputWriter.println("Starting Insert of project \"" + project.getName() + "\"."); } @@ -250,6 +255,7 @@ public class CLI implements InsertListener { /** * {@inheritDoc} */ + @Override public void projectUploadFinished(Project project) { outputWriter.println("Project \"" + project.getName() + "\" has been uploaded, starting insert..."); } @@ -257,6 +263,7 @@ public class CLI implements InsertListener { /** * {@inheritDoc} */ + @Override public void projectURIGenerated(Project project, String uri) { outputWriter.println("URI: " + uri); } @@ -264,13 +271,18 @@ public class CLI implements InsertListener { /** * {@inheritDoc} */ + @Override public void projectInsertProgress(Project project, int succeeded, int failed, int fatal, int total, boolean finalized) { + if (total == 0) { + return; + } outputWriter.println("Progress: " + succeeded + " done, " + failed + " failed, " + fatal + " fatal, " + total + " total" + (finalized ? " (finalized)" : "") + ", " + ((succeeded + failed + fatal) * 100 / total) + "%"); } /** * {@inheritDoc} */ + @Override public void projectInsertFinished(Project project, boolean success, Throwable cause) { outputWriter.println("Request URI: " + project.getFinalRequestURI(0)); finished = true;