diff --git a/BoerseDataConvert/BoerseDataConvert/BoerseDataConvert.csproj b/BoerseDataConvert/BoerseDataConvert/BoerseDataConvert.csproj
index 9367c1d..a6deb7d 100644
--- a/BoerseDataConvert/BoerseDataConvert/BoerseDataConvert.csproj
+++ b/BoerseDataConvert/BoerseDataConvert/BoerseDataConvert.csproj
@@ -15,6 +15,7 @@
+
diff --git a/BoerseDataConvert/BoerseDataConvert/Model/Params.cs b/BoerseDataConvert/BoerseDataConvert/Model/Params.cs
index 8229839..5f28270 100644
--- a/BoerseDataConvert/BoerseDataConvert/Model/Params.cs
+++ b/BoerseDataConvert/BoerseDataConvert/Model/Params.cs
@@ -1,13 +1 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace BoerseDataConvert
-{
- class Params
- {
-
- }
-}
+
\ No newline at end of file
diff --git a/BoerseDataConvert/BoerseDataConvert/Views/Program.cs b/BoerseDataConvert/BoerseDataConvert/Views/Program.cs
index 0204e89..e3fe694 100644
--- a/BoerseDataConvert/BoerseDataConvert/Views/Program.cs
+++ b/BoerseDataConvert/BoerseDataConvert/Views/Program.cs
@@ -3,25 +3,26 @@ using System.Collections.Generic;
using System.IO;
using System.IO.Compression;
using System.Linq;
+using Mono.Options;
namespace BoerseDataConvert
{
class Program
{
+ static string zipFile;
+ static string inputDirectory;
+ static string outputDirectory;
+ static string tagsFile;
+ static bool helpMessage;
static void Main(string[] args)
{
- // Args format
- // -i *.zip or --input *.zip
- // -d directory or --dir directory
- // -o directory or --output direcory
- // -h - help
-
+ /*
FileStream ostrm;
StreamWriter writer1;
TextWriter oldOut = Console.Out;
try
{
- ostrm = new FileStream("./log.txt", FileMode.OpenOrCreate, FileAccess.Write);
+ ostrm = new FileStream($"./{DateTime.Now.ToString("dd-HH-mm-ss")}.txt", FileMode.OpenOrCreate, FileAccess.Write);
writer1 = new StreamWriter(ostrm);
}
catch (Exception e)
@@ -30,16 +31,36 @@ namespace BoerseDataConvert
return;
}
Console.SetOut(writer1);
-
+ */
// input handling
- string[] input = InputValidate(args);
- string zipFile = input[0], inputDir = input[1], outputDir = input[2], tags = input[3];
+ var p = new OptionSet() {
+ "BoerseDataConvert Version 1.0.0",
+ "---",
+ "Usage: BoerseDataConvert [OPTIONS]+",
+ "Tool which converts from Boerse Stuttart format to XML",
+ "",
+ "Flags:",
+ { "?|h|help", "prints help message", x => helpMessage = true },
+ { "i|input=", "specify input zip file", x => zipFile = x },
+ { "d|directory=", "specify input directory", x => inputDirectory = x },
+ { "o|output=", "specify output directory", x => outputDirectory = x },
+ { "t|tags=", "specify tag file", x => { if (x != "") tagsFile = x; } },
+ { "<>", v => throw new ArgumentException("ERROR: Invalid arguments") }, // default
+ "",
+ "Created by D. Delchev and D. Byalkov, 2021"
+ };
try
{
- CheckFreeDisk(zipFile, outputDir);
- ZipExtract(zipFile, inputDir);
+ p.Parse(args);
+ if (helpMessage)
+ {
+ p.WriteOptionDescriptions(Console.Out);
+ Environment.Exit(0);
+ }
+ CheckFreeDisk(zipFile, outputDirectory);
+ ZipExtract(zipFile, inputDirectory);
}
catch (Exception e)
{
@@ -48,10 +69,10 @@ namespace BoerseDataConvert
}
// only read filenames
- string[] fileNames = Directory.GetFiles(inputDir).Select(x => x.Split('\\', '/').Last()).ToArray();
+ string[] fileNames = Directory.GetFiles(inputDirectory).Select(x => x.Split('\\', '/').Last()).ToArray();
- Reader reader = new Reader(inputDir, fileNames);
- RecordController a = new RecordController(outputDir,fileNames[0], tags);
+ Reader reader = new Reader(inputDirectory, fileNames);
+ RecordController a = new RecordController(outputDirectory, fileNames[0], tagsFile);
while (true)
{
@@ -70,25 +91,14 @@ namespace BoerseDataConvert
Console.WriteLine("INFO: Success, exiting");
Environment.Exit(0);
}
- static void Help()
- {
- Console.WriteLine("BoerseDataConvert v1.0.0");
- Console.WriteLine("D. Delchev and D. Byalkov, 2021");
- Console.WriteLine("---");
- Console.WriteLine("-i or --input ");
- Console.WriteLine("-d or --directory ");
- Console.WriteLine("-o