Skip to content

Commit 33337cc

Browse files
authored
Merge pull request #17 from N1K0232/dev/N1K0232/issue16
feat/solved issue#16.
2 parents e43e45e + 87f3501 commit 33337cc

10 files changed

Lines changed: 169 additions & 161 deletions

File tree

src/core/Handlers/Html/Handler.cs

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
using HtmlAgilityPack;
21
using dinfo.core.Helpers.DirTools;
32
using dinfo.core.Helpers.FilesTools;
43
using dinfo.core.Helpers.GitTools;
5-
using dinfo.core.Utils.Globals;
64
using dinfo.core.Interfaces.Output;
5+
using dinfo.core.Utils.Globals;
6+
using HtmlAgilityPack;
77

88
namespace dinfo.core.Handlers.Html;
99

@@ -23,20 +23,13 @@ public async Task DirectorySaveAsync(string targetDirectory, string filePath, Ca
2323
{
2424
if (GlobalsUtils.NoTui)
2525
{
26-
await DirectoryHelper.ProcessDirectoryAsync(targetDirectory);
27-
await GitHelper.GetGitInfoAsync(targetDirectory);
26+
await DirectoryHelper.ProcessDirectoryAsync(targetDirectory, cancellationToken).ConfigureAwait(false);
27+
await GitHelper.GetGitInfoAsync(targetDirectory, cancellationToken).ConfigureAwait(false);
2828
}
2929

30-
string directorySize =
31-
$"{DirectoryHelper.SizeToReturn()} {GlobalsUtils.SizeExtension}";
30+
string directorySize = $"{DirectoryHelper.SizeToReturn()} {GlobalsUtils.SizeExtension}";
3231

33-
var mostUsedExtension =
34-
GlobalsUtils
35-
.FileTypes.GroupBy(x => x)
36-
.OrderByDescending(g => g.Count())
37-
.Select(g => g.Key)
38-
.FirstOrDefault()
39-
?? "N/A";
32+
var mostUsedExtension = GlobalsUtils.GetMostUsedExtension();
4033

4134
var perms = DirectoryHelper.GetDirectoryPermissions(targetDirectory);
4235

@@ -104,12 +97,12 @@ public async Task FileSaveAsync(string targetFile, string filePath, Cancellation
10497
{
10598
if (GlobalsUtils.NoTui)
10699
{
107-
await FilesHelper.ProcessFileAsync(targetFile);
100+
await FilesHelper.ProcessFileAsync(targetFile, cancellationToken).ConfigureAwait(false);
108101
}
109102

110-
var lines = await FilesHelper.CountLinesAsync(targetFile);
111-
var comments = await FilesHelper.GetCommentsLinesAsync(targetFile);
112-
var blank = await FilesHelper.GetBlankLinesAsync(targetFile);
103+
var lines = await FilesHelper.CountLinesAsync(targetFile, cancellationToken).ConfigureAwait(false);
104+
var comments = await FilesHelper.GetCommentsLinesAsync(targetFile, cancellationToken).ConfigureAwait(false);
105+
var blank = await FilesHelper.GetBlankLinesAsync(targetFile, cancellationToken).ConfigureAwait(false);
113106
var code = lines - (comments + blank);
114107

115108
var doc = new HtmlDocument();

src/core/Handlers/Json/Handler.cs

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
using System.Text.Json;
21
using dinfo.core.Helpers.DirTools;
32
using dinfo.core.Helpers.FilesTools;
43
using dinfo.core.Helpers.GitTools;
5-
using dinfo.core.Utils.Globals;
64
using dinfo.core.Interfaces.Output;
5+
using dinfo.core.Utils.Globals;
6+
using System.Text.Json;
77

88
namespace dinfo.core.Handlers.Json;
99

@@ -13,20 +13,13 @@ public async Task DirectorySaveAsync(string targetDirectory, string filePath, Ca
1313
{
1414
if (GlobalsUtils.NoTui)
1515
{
16-
await DirectoryHelper.ProcessDirectoryAsync(targetDirectory);
17-
await GitHelper.GetGitInfoAsync(targetDirectory);
16+
await DirectoryHelper.ProcessDirectoryAsync(targetDirectory, cancellationToken).ConfigureAwait(false);
17+
await GitHelper.GetGitInfoAsync(targetDirectory, cancellationToken).ConfigureAwait(false);
1818
}
1919

20-
string directorySize =
21-
(DirectoryHelper.SizeToReturn()).ToString() + " " + GlobalsUtils.SizeExtension;
20+
string directorySize = $"{DirectoryHelper.SizeToReturn()} {GlobalsUtils.SizeExtension}";
2221

23-
var mostUsedExtension =
24-
GlobalsUtils
25-
.FileTypes.GroupBy(x => x)
26-
.OrderByDescending(g => g.Count())
27-
.Select(g => g.Key)
28-
.FirstOrDefault()
29-
?? "N/A";
22+
var mostUsedExtension = GlobalsUtils.GetMostUsedExtension();
3023

3124
var perms = DirectoryHelper.GetDirectoryPermissions(targetDirectory);
3225

@@ -62,19 +55,19 @@ public async Task DirectorySaveAsync(string targetDirectory, string filePath, Ca
6255
var options = new JsonSerializerOptions { WriteIndented = true };
6356
string jsonString = JsonSerializer.Serialize(json, options);
6457

65-
await File.WriteAllTextAsync(filePath, jsonString);
58+
await File.WriteAllTextAsync(filePath, jsonString, cancellationToken).ConfigureAwait(false);
6659
}
6760

6861
public async Task FileSaveAsync(string targetFile, string filePath, CancellationToken cancellationToken = default)
6962
{
7063
if (GlobalsUtils.NoTui)
7164
{
72-
await FilesHelper.ProcessFileAsync(targetFile);
65+
await FilesHelper.ProcessFileAsync(targetFile, cancellationToken).ConfigureAwait(false);
7366
}
7467

75-
var lines = await FilesHelper.CountLinesAsync(targetFile);
76-
var comments = await FilesHelper.GetCommentsLinesAsync(targetFile);
77-
var blank = await FilesHelper.GetBlankLinesAsync(targetFile);
68+
var lines = await FilesHelper.CountLinesAsync(targetFile, cancellationToken).ConfigureAwait(false);
69+
var comments = await FilesHelper.GetCommentsLinesAsync(targetFile, cancellationToken).ConfigureAwait(false);
70+
var blank = await FilesHelper.GetBlankLinesAsync(targetFile, cancellationToken).ConfigureAwait(false);
7871
var code = lines - (comments + blank);
7972

8073
var json = new FileJson
@@ -91,6 +84,6 @@ public async Task FileSaveAsync(string targetFile, string filePath, Cancellation
9184
var options = new JsonSerializerOptions { WriteIndented = true };
9285
string jsonString = JsonSerializer.Serialize(json, options);
9386

94-
await File.WriteAllTextAsync(filePath, jsonString);
87+
await File.WriteAllTextAsync(filePath, jsonString, cancellationToken).ConfigureAwait(false);
9588
}
9689
}

src/core/Handlers/Yaml/Handler.cs

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
using dinfo.core.Helpers.DirTools;
22
using dinfo.core.Helpers.FilesTools;
33
using dinfo.core.Helpers.GitTools;
4+
using dinfo.core.Interfaces.Output;
45
using dinfo.core.Utils.Globals;
56
using YamlDotNet.Serialization;
67
using YamlDotNet.Serialization.NamingConventions;
7-
using dinfo.core.Interfaces.Output;
88

99
namespace dinfo.core.Handlers.Yaml;
1010

@@ -14,20 +14,13 @@ public async Task DirectorySaveAsync(string targetDirectory, string filePath, Ca
1414
{
1515
if (GlobalsUtils.NoTui)
1616
{
17-
await DirectoryHelper.ProcessDirectoryAsync(targetDirectory);
18-
await GitHelper.GetGitInfoAsync(targetDirectory);
17+
await DirectoryHelper.ProcessDirectoryAsync(targetDirectory, cancellationToken).ConfigureAwait(false);
18+
await GitHelper.GetGitInfoAsync(targetDirectory, cancellationToken).ConfigureAwait(false);
1919
}
2020

21-
string directorySize =
22-
(DirectoryHelper.SizeToReturn()).ToString() + " " + GlobalsUtils.SizeExtension;
21+
string directorySize = $"{DirectoryHelper.SizeToReturn()} {GlobalsUtils.SizeExtension}";
2322

24-
var mostUsedExtension =
25-
GlobalsUtils
26-
.FileTypes.GroupBy(x => x)
27-
.OrderByDescending(g => g.Count())
28-
.Select(g => g.Key)
29-
.FirstOrDefault()
30-
?? "N/A";
23+
var mostUsedExtension = GlobalsUtils.GetMostUsedExtension();
3124

3225
var perms = DirectoryHelper.GetDirectoryPermissions(targetDirectory);
3326

@@ -66,19 +59,19 @@ public async Task DirectorySaveAsync(string targetDirectory, string filePath, Ca
6659

6760
var yamlString = serializer.Serialize(yaml);
6861

69-
await File.WriteAllTextAsync(filePath, yamlString);
62+
await File.WriteAllTextAsync(filePath, yamlString, cancellationToken).ConfigureAwait(false);
7063
}
7164

7265
public async Task FileSaveAsync(string targetFile, string filePath, CancellationToken cancellationToken = default)
7366
{
7467
if (GlobalsUtils.NoTui)
7568
{
76-
await FilesHelper.ProcessFileAsync(targetFile);
69+
await FilesHelper.ProcessFileAsync(targetFile, cancellationToken).ConfigureAwait(false);
7770
}
7871

79-
var lines = await FilesHelper.CountLinesAsync(targetFile);
80-
var comments = await FilesHelper.GetCommentsLinesAsync(targetFile);
81-
var blank = await FilesHelper.GetBlankLinesAsync(targetFile);
72+
var lines = await FilesHelper.CountLinesAsync(targetFile, cancellationToken).ConfigureAwait(false);
73+
var comments = await FilesHelper.GetCommentsLinesAsync(targetFile, cancellationToken).ConfigureAwait(false);
74+
var blank = await FilesHelper.GetBlankLinesAsync(targetFile, cancellationToken).ConfigureAwait(false);
8275
var code = lines - (comments + blank);
8376

8477
var yaml = new FileYaml
@@ -95,8 +88,9 @@ public async Task FileSaveAsync(string targetFile, string filePath, Cancellation
9588
var serializer = new SerializerBuilder()
9689
.WithNamingConvention(CamelCaseNamingConvention.Instance)
9790
.Build();
91+
9892
var yamlString = serializer.Serialize(yaml);
9993

100-
await File.WriteAllTextAsync(filePath, yamlString);
94+
await File.WriteAllTextAsync(filePath, yamlString, cancellationToken).ConfigureAwait(false);
10195
}
10296
}

src/core/Handlers/config-file.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,4 @@ public static void DeserializeConfigFile(string configFilePath)
8282
GlobalsUtils.IgnoredDirectories = config.IgnoredFilesOrDirectory.IgnoredDirectory;
8383
GlobalsUtils.IgnoredFiles = config.IgnoredFilesOrDirectory.IgnoredFiles;
8484
}
85-
}
85+
}

src/core/Helpers/directory.cs

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
using System.Security.AccessControl;
2-
using System.Security.Principal;
31
using dinfo.core.Handlers.ConfigTools;
42
using dinfo.core.Helpers.FilesTools;
53
using dinfo.core.Helpers.GitTools;
64
using dinfo.core.Utils.Globals;
5+
using System.Security.AccessControl;
6+
using System.Security.Principal;
77
using System.Text.RegularExpressions;
88

99
namespace dinfo.core.Helpers.DirTools;
1010

1111
public static class DirectoryHelper
1212
{
13-
public static async Task ProcessDirectoryAsync(string targetDirectory)
13+
public static async Task ProcessDirectoryAsync(string targetDirectory, CancellationToken cancellationToken = default)
1414
{
1515
GlobalsUtils.TotalDirs++;
1616
GetDirectorySize(targetDirectory);
@@ -20,7 +20,7 @@ public static async Task ProcessDirectoryAsync(string targetDirectory)
2020
GitHelper.FindGitRoot(targetDirectory);
2121

2222
var gitIgnorePath = Path.Combine(
23-
(GlobalsUtils.GitRootDirectory).Replace("\\", "/"),
23+
GlobalsUtils.GitRootDirectory.Replace("\\", "/"),
2424
".gitignore"
2525
);
2626

@@ -60,13 +60,15 @@ public static async Task ProcessDirectoryAsync(string targetDirectory)
6060
try
6161
{
6262
GlobalsUtils.TotalFiles++;
63-
GlobalsUtils.TotalLines += await FilesHelper.CountLinesAsync(fileName);
63+
GlobalsUtils.TotalLines += await FilesHelper.CountLinesAsync(fileName, cancellationToken).ConfigureAwait(false);
6464
GlobalsUtils.Files.Add(fileName);
65-
GlobalsUtils.Encodings.Add(FilesHelper.GetEncodingAsync(fileName).WebName);
65+
66+
var encoding = await FilesHelper.GetEncodingAsync(fileName, cancellationToken).ConfigureAwait(false);
67+
GlobalsUtils.Encodings.Add(encoding.WebName);
6668

6769
FilesHelper.GetFileType(fileName);
68-
await FilesHelper.GetCommentsLinesAsync(fileName);
69-
await FilesHelper.GetBlankLinesAsync(fileName);
70+
await FilesHelper.GetCommentsLinesAsync(fileName, cancellationToken).ConfigureAwait(false);
71+
await FilesHelper.GetBlankLinesAsync(fileName, cancellationToken).ConfigureAwait(false);
7072
}
7173
catch (IOException)
7274
{
@@ -112,7 +114,7 @@ public static async Task ProcessDirectoryAsync(string targetDirectory)
112114
continue;
113115
}
114116

115-
await ProcessDirectoryAsync(subDirectory);
117+
await ProcessDirectoryAsync(subDirectory, cancellationToken).ConfigureAwait(false);
116118
}
117119
}
118120
}

0 commit comments

Comments
 (0)