mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[TGZTest, ArchiveTools] Add Romba depot output
This commit is contained in:
@@ -596,9 +596,10 @@ namespace SabreTools.Helper
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="input">File to write from</param>
|
/// <param name="input">File to write from</param>
|
||||||
/// <param name="outdir">Directory to write archive to</param>
|
/// <param name="outdir">Directory to write archive to</param>
|
||||||
|
/// <param name="romba">True if files should be output in Romba depot folders, false otherwise</param>
|
||||||
/// <param name="logger">Logger object for file and console output</param>
|
/// <param name="logger">Logger object for file and console output</param>
|
||||||
/// <returns>True if the write was a success, false otherwise</returns>
|
/// <returns>True if the write was a success, false otherwise</returns>
|
||||||
public static bool WriteTorrentGZ(string input, string outdir, Logger logger)
|
public static bool WriteTorrentGZ(string input, string outdir, bool romba, Logger logger)
|
||||||
{
|
{
|
||||||
// Check that the input file exists
|
// Check that the input file exists
|
||||||
if (!File.Exists(input))
|
if (!File.Exists(input))
|
||||||
@@ -668,6 +669,19 @@ namespace SabreTools.Helper
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If we're in romba mode, create the subfolder and move the file
|
||||||
|
if (romba)
|
||||||
|
{
|
||||||
|
string subfolder = Path.Combine(rom.SHA1.Substring(0, 2), rom.SHA1.Substring(2, 2), rom.SHA1.Substring(4, 2), rom.SHA1.Substring(6, 2));
|
||||||
|
outdir = Path.Combine(outdir, subfolder);
|
||||||
|
if (!Directory.Exists(outdir))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(outdir);
|
||||||
|
}
|
||||||
|
|
||||||
|
File.Move(input, Path.Combine(outdir, input));
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ namespace SabreTools
|
|||||||
private List<string> _inputs;
|
private List<string> _inputs;
|
||||||
private string _outdir;
|
private string _outdir;
|
||||||
private bool _delete;
|
private bool _delete;
|
||||||
|
private bool _romba;
|
||||||
private Logger _logger;
|
private Logger _logger;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -19,12 +20,14 @@ namespace SabreTools
|
|||||||
/// <param name="inputs">List of all inputted files and folders</param>
|
/// <param name="inputs">List of all inputted files and folders</param>
|
||||||
/// <param name="outdir">Output directory (empty for default directory)</param>
|
/// <param name="outdir">Output directory (empty for default directory)</param>
|
||||||
/// <param name="delete">True if input files should be deleted, false otherwise</param>
|
/// <param name="delete">True if input files should be deleted, false otherwise</param>
|
||||||
|
/// <param name="romba">True if files should be output in Romba depot folders, false otherwise</param>
|
||||||
/// <param name="logger">Logger object for file and console output</param>
|
/// <param name="logger">Logger object for file and console output</param>
|
||||||
public TGZTest(List<string> inputs, string outdir, bool delete, Logger logger)
|
public TGZTest(List<string> inputs, string outdir, bool delete, bool romba, Logger logger)
|
||||||
{
|
{
|
||||||
_inputs = inputs;
|
_inputs = inputs;
|
||||||
_outdir = (String.IsNullOrEmpty(outdir) ? "tgz" : outdir);
|
_outdir = (String.IsNullOrEmpty(outdir) ? "tgz" : outdir);
|
||||||
_delete = delete;
|
_delete = delete;
|
||||||
|
_romba = romba;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,6 +68,7 @@ namespace SabreTools
|
|||||||
// Set all default values
|
// Set all default values
|
||||||
bool help = false,
|
bool help = false,
|
||||||
delete = false,
|
delete = false,
|
||||||
|
romba = false,
|
||||||
tgz = true;
|
tgz = true;
|
||||||
string outdir = "";
|
string outdir = "";
|
||||||
List<string> inputs = new List<string>();
|
List<string> inputs = new List<string>();
|
||||||
@@ -85,6 +89,10 @@ namespace SabreTools
|
|||||||
case "--delete":
|
case "--delete":
|
||||||
delete = true;
|
delete = true;
|
||||||
break;
|
break;
|
||||||
|
case "-r":
|
||||||
|
case "--romba":
|
||||||
|
romba = true;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
if (temparg.StartsWith("-out=") || temparg.StartsWith("--out="))
|
if (temparg.StartsWith("-out=") || temparg.StartsWith("--out="))
|
||||||
{
|
{
|
||||||
@@ -126,7 +134,7 @@ namespace SabreTools
|
|||||||
// If we are doing a simple sort
|
// If we are doing a simple sort
|
||||||
if (tgz)
|
if (tgz)
|
||||||
{
|
{
|
||||||
InitTGZTest(inputs, outdir, delete, logger);
|
InitTGZTest(inputs, outdir, delete, romba, logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If nothing is set, show the help
|
// If nothing is set, show the help
|
||||||
@@ -145,8 +153,9 @@ namespace SabreTools
|
|||||||
/// <param name="inputs">List of all inputted files and folders</param>
|
/// <param name="inputs">List of all inputted files and folders</param>
|
||||||
/// <param name="outdir">Output directory (empty for default directory)</param>
|
/// <param name="outdir">Output directory (empty for default directory)</param>
|
||||||
/// <param name="delete">True if input files should be deleted, false otherwise</param>
|
/// <param name="delete">True if input files should be deleted, false otherwise</param>
|
||||||
|
/// <param name="romba">True if files should be output in Romba depot folders, false otherwise</param>
|
||||||
/// <param name="logger">Logger object for file and console output</param>
|
/// <param name="logger">Logger object for file and console output</param>
|
||||||
public static bool InitTGZTest(List<string> inputs, string outdir, bool delete, Logger logger)
|
public static bool InitTGZTest(List<string> inputs, string outdir, bool delete, bool romba, Logger logger)
|
||||||
{
|
{
|
||||||
// Get all individual files from the inputs
|
// Get all individual files from the inputs
|
||||||
List<string> newinputs = new List<string>();
|
List<string> newinputs = new List<string>();
|
||||||
@@ -165,7 +174,7 @@ namespace SabreTools
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TGZTest tgztest = new TGZTest(newinputs, outdir, delete, logger);
|
TGZTest tgztest = new TGZTest(newinputs, outdir, delete, romba, logger);
|
||||||
return tgztest.Process();
|
return tgztest.Process();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -177,7 +186,7 @@ namespace SabreTools
|
|||||||
{
|
{
|
||||||
foreach (string input in _inputs)
|
foreach (string input in _inputs)
|
||||||
{
|
{
|
||||||
ArchiveTools.WriteTorrentGZ(input, _outdir, _logger);
|
ArchiveTools.WriteTorrentGZ(input, _outdir, _romba, _logger);
|
||||||
if (_delete)
|
if (_delete)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|||||||
Reference in New Issue
Block a user