Skip to content

Commit 53defd0

Browse files
Merge branch 'next'
2 parents 8eddd36 + f68cd33 commit 53defd0

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

Split-FANUC-Program-Backup/Program.cs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
namespace SplitFANUCProgramBackup
1010
{
11-
static class Program
11+
public static class Program
1212
{
1313
private static string ThisExecutableName => AppDomain.CurrentDomain.FriendlyName;
1414
private static Version? AssemblyVersion => Assembly.GetExecutingAssembly().GetName().Version;
@@ -26,14 +26,15 @@ private static string BuildDate
2626
{
2727
buildDateTime = new DateTime(2000, 1, 1).AddDays(version.Build).AddSeconds(version.Revision * 2);
2828
}
29-
29+
3030
return buildDateTime.ToString("o");
3131
}
3232
}
3333

3434
private const string cncProgramFileExtension = ".CNC";
3535
private const string defaultCNCprogramName = "Unknown";
3636
private const char programDelimiter = '%';
37+
private static readonly char[] subFolderTrim = { ' ', '/' };
3738
private const int minimumProgramSize = 7;
3839

3940
/// <summary>
@@ -47,7 +48,12 @@ private static string BuildDate
4748
/// </summary>
4849
private const string directoryFlag = @"(&F=)";
4950

50-
static async Task<int> Main(string[] args)
51+
/// <summary>
52+
/// Command line entry point
53+
/// </summary>
54+
/// <param name="args">Requires only one argument: full path to the backup file.</param>
55+
/// <returns>Zero for success</returns>
56+
public static async Task<int> Main(string[] args)
5157
{
5258
DisplayHeader();
5359

@@ -131,7 +137,7 @@ private static string GetProgramNameFromHeader(string cncProgramText)
131137
/// </summary>
132138
/// <param name="fileName">Full path to "ALL-PROG.TXT"</param>
133139
/// <returns>Each CNC program as a string, and any associated subdirectory</returns>
134-
static IEnumerable<(string SubFolder, string ProgramText)> GetCNCProgams(string fileName, string outputFolder)
140+
private static IEnumerable<(string SubFolder, string ProgramText)> GetCNCProgams(string fileName, string outputFolder)
135141
{
136142
StringBuilder content = new();
137143
string subFolder = "";
@@ -150,7 +156,7 @@ private static string GetProgramNameFromHeader(string cncProgramText)
150156
}
151157

152158
// Strip out the directory flag and slashes to get just the folder name.
153-
subFolder = Regex.Replace(line, directoryFlag, string.Empty).Trim('/');
159+
subFolder = Regex.Replace(line, directoryFlag, string.Empty).Trim(subFolderTrim);
154160
Directory.CreateDirectory(Path.Combine(outputFolder, subFolder));
155161

156162
// Don't append notation to next program
@@ -175,7 +181,7 @@ private static string GetProgramNameFromHeader(string cncProgramText)
175181
yield return (subFolder, CncProgramText(content));
176182
}
177183

178-
static string CncProgramText(StringBuilder content)
184+
private static string CncProgramText(StringBuilder content)
179185
{
180186
// Prevent IndexOutOfBounds exceptions if final program is empty
181187
if (content.Length > minimumProgramSize)
@@ -202,7 +208,7 @@ private static void NotFoundError(string fileName)
202208
Console.WriteLine("File not found: " + fileName);
203209
}
204210

205-
static void DisplayHelp()
211+
private static void DisplayHelp()
206212
{
207213
Console.WriteLine(@"
208214
At least one argument required. Enter only the path of the file you would like to split.

Split-FANUC-Program-Backup/Split-FANUC-Program-Backup.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net5.0-windows</TargetFramework>
5+
<TargetFramework>net6.0-windows</TargetFramework>
66
<RootNamespace>SplitFANUCProgramBackup</RootNamespace>
77
<StartupObject></StartupObject>
88
<Deterministic>False</Deterministic>

0 commit comments

Comments
 (0)