Skip to content

Commit cc28ada

Browse files
committed
code cleanup
1 parent 8ad2bcb commit cc28ada

35 files changed

Lines changed: 696 additions & 643 deletions

.claude/settings.local.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"permissions": {
3+
"allow": [
4+
"Bash(dotnet build)",
5+
"Bash(dotnet run:*)",
6+
"Bash(dotnet build:*)"
7+
],
8+
"deny": [],
9+
"ask": []
10+
}
11+
}

HomeSpeaker.Server2/ChattyMusicPlayer.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
using HomeSpeaker.Shared;
22

3-
namespace HomeSpeaker.Server;
3+
namespace HomeSpeaker.Server2;
44

55
public class ChattyMusicPlayer : IMusicPlayer, IDisposable
66
{
77
private readonly IMusicPlayer actualPlayer;
8-
private bool disposed = false;
8+
private bool _disposed;
99

1010
public ChattyMusicPlayer(IMusicPlayer actualPlayer)
1111
{
@@ -88,13 +88,13 @@ public void Dispose()
8888

8989
protected virtual void Dispose(bool disposing)
9090
{
91-
if (!disposed)
91+
if (!_disposed)
9292
{
9393
if (disposing)
9494
{
9595
actualPlayer?.Dispose();
9696
}
97-
disposed = true;
97+
_disposed = true;
9898
}
9999
}
100100
}

HomeSpeaker.Server2/ConfigKeys.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
public class ConfigKeys
1+
namespace HomeSpeaker.Server2;
2+
3+
public static class ConfigKeys
24
{
35
public const string MediaFolder = "MediaFolder";
46
public const string FFMpegLocation = "FFMpegLocation";

HomeSpeaker.Server2/DailyAnchorWorker.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,33 @@ namespace HomeSpeaker.Server2;
44

55
public class DailyAnchorWorker : BackgroundService
66
{
7-
private readonly IServiceProvider serviceProvider;
8-
private readonly ILogger<DailyAnchorWorker> logger;
7+
private readonly IServiceProvider _serviceProvider;
8+
private readonly ILogger<DailyAnchorWorker> _logger;
99

1010
public DailyAnchorWorker(IServiceProvider serviceProvider, ILogger<DailyAnchorWorker> logger)
1111
{
12-
this.serviceProvider = serviceProvider;
13-
this.logger = logger;
12+
_serviceProvider = serviceProvider;
13+
_logger = logger;
1414
}
1515

1616
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
1717
{
18-
logger.LogInformation("Daily Anchor Worker started");
18+
_logger.LogInformation("Daily Anchor Worker started");
1919

2020
while (!stoppingToken.IsCancellationRequested)
2121
{
2222
try
2323
{
24-
using (var scope = serviceProvider.CreateScope())
24+
using (var scope = _serviceProvider.CreateScope())
2525
{
2626
var anchorService = scope.ServiceProvider.GetRequiredService<AnchorService>();
2727
await anchorService.EnsureTodayAnchorsForAllUsersAsync();
28-
logger.LogInformation("Daily anchors ensured for all users");
28+
_logger.LogInformation("Daily anchors ensured for all users");
2929
}
3030
}
3131
catch (Exception ex)
3232
{
33-
logger.LogError(ex, "Error ensuring daily anchors");
33+
_logger.LogError(ex, "Error ensuring daily anchors");
3434
}
3535

3636
// Wait until the next day at midnight
@@ -44,7 +44,7 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
4444
delay = delay.Add(TimeSpan.FromDays(1));
4545
}
4646

47-
logger.LogInformation("Next daily anchor creation scheduled for {time} (in {hours} hours)",
47+
_logger.LogInformation("Next daily anchor creation scheduled for {time} (in {hours} hours)",
4848
now.Add(delay), delay.TotalHours);
4949

5050
try
@@ -58,6 +58,6 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
5858
}
5959
}
6060

61-
logger.LogInformation("Daily Anchor Worker stopped");
61+
_logger.LogInformation("Daily Anchor Worker stopped");
6262
}
6363
}

HomeSpeaker.Server2/Data/OnDiskDataStore.cs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
11
using HomeSpeaker.Server2;
22
using HomeSpeaker.Shared;
33

4-
namespace HomeSpeaker.Server.Data;
4+
namespace HomeSpeaker.Server2.Data;
55

66

77
public class OnDiskDataStore : IDataStore
88
{
99
public OnDiskDataStore()
1010
{
11-
songs = new();
11+
_songs = new();
1212
}
1313

14-
private List<Song> songs; public void Add(Song song)
14+
private List<Song> _songs;
15+
16+
public void Add(Song song)
1517
{
16-
song.SongId = songs.Count;
17-
songs.Add(song);
18+
song.SongId = _songs.Count;
19+
_songs.Add(song);
1820
}
1921

2022
public void UpdateSong(int songId, string name, string artist, string album)
2123
{
22-
var song = songs.FirstOrDefault(s => s.SongId == songId);
24+
var song = _songs.FirstOrDefault(s => s.SongId == songId);
2325
if (song != null)
2426
{
2527
song.Name = name;
@@ -30,7 +32,7 @@ public void UpdateSong(int songId, string name, string artist, string album)
3032

3133
public IEnumerable<Album> GetAlbums()
3234
{
33-
foreach (var album in from s in songs
35+
foreach (var album in from s in _songs
3436
group s by s.Album into albums
3537
orderby albums.Key
3638
select new { AlbumName = albums.Key, Songs = albums })
@@ -45,7 +47,7 @@ orderby albums.Key
4547

4648
public IEnumerable<Artist> GetArtists()
4749
{
48-
foreach (var artist in from s in songs
50+
foreach (var artist in from s in _songs
4951
group s by s.Artist into artists
5052
orderby artists.Key
5153
select new { ArtistName = artists.Key, Songs = artists })
@@ -58,7 +60,7 @@ orderby artists.Key
5860
}
5961
}
6062

61-
public IEnumerable<Song> GetSongs() => songs.AsEnumerable();
63+
public IEnumerable<Song> GetSongs() => _songs.AsEnumerable();
6264

63-
public void Clear() => songs.Clear();
65+
public void Clear() => _songs.Clear();
6466
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
Microsoft Visual Studio Solution File, Format Version 12.00
2+
# Visual Studio Version 17
3+
VisualStudioVersion = 17.5.2.0
4+
MinimumVisualStudioVersion = 10.0.40219.1
5+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HomeSpeaker.Server2", "HomeSpeaker.Server2.csproj", "{8CD5FDA9-36D7-0712-91E5-9EA6FE53D1AF}"
6+
EndProject
7+
Global
8+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
9+
Debug|Any CPU = Debug|Any CPU
10+
Release|Any CPU = Release|Any CPU
11+
EndGlobalSection
12+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
13+
{8CD5FDA9-36D7-0712-91E5-9EA6FE53D1AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
14+
{8CD5FDA9-36D7-0712-91E5-9EA6FE53D1AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
15+
{8CD5FDA9-36D7-0712-91E5-9EA6FE53D1AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
16+
{8CD5FDA9-36D7-0712-91E5-9EA6FE53D1AF}.Release|Any CPU.Build.0 = Release|Any CPU
17+
EndGlobalSection
18+
GlobalSection(SolutionProperties) = preSolution
19+
HideSolutionNode = FALSE
20+
EndGlobalSection
21+
GlobalSection(ExtensibilityGlobals) = postSolution
22+
SolutionGuid = {483C07A0-A1BC-4E7B-AC9D-20598F00709E}
23+
EndGlobalSection
24+
EndGlobal

HomeSpeaker.Server2/IFileSource.cs

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,44 @@
1-
namespace HomeSpeaker.Server
1+
namespace HomeSpeaker.Server2;
2+
3+
public interface IFileSource
24
{
3-
public interface IFileSource
4-
{
5-
IEnumerable<string> GetAllMp3s();
6-
void SoftDelete(string path);
5+
IEnumerable<string> GetAllMp3s();
6+
void SoftDelete(string path);
77

8-
string RootFolder { get; }
9-
}
8+
string RootFolder { get; }
9+
}
1010

11-
public class DefaultFileSource : IFileSource
11+
public class DefaultFileSource : IFileSource
12+
{
13+
private readonly string _rootFolder;
14+
private readonly string _userProfile = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
15+
16+
public DefaultFileSource(string rootFolder)
1217
{
13-
private readonly string rootFolder;
14-
string userProfile = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
18+
_rootFolder = rootFolder;
19+
}
1520

16-
public DefaultFileSource(string rootFolder)
17-
{
18-
this.rootFolder = rootFolder;
19-
}
21+
public string RootFolder => _rootFolder;
2022

21-
public string RootFolder => rootFolder;
23+
public IEnumerable<string> GetAllMp3s()
24+
{
25+
var musicFolder = _rootFolder.Replace("~", _userProfile);
2226

23-
public IEnumerable<string> GetAllMp3s()
27+
if (!Directory.Exists(musicFolder))
2428
{
25-
var musicFolder = rootFolder.Replace("~", userProfile);
26-
27-
if (!Directory.Exists(musicFolder))
28-
{
29-
Directory.CreateDirectory(musicFolder);
30-
}
31-
32-
return Directory.GetFiles(musicFolder, "*.mp3", SearchOption.AllDirectories);
29+
Directory.CreateDirectory(musicFolder);
3330
}
3431

35-
public void SoftDelete(string path)
32+
return Directory.GetFiles(musicFolder, "*.mp3", SearchOption.AllDirectories);
33+
}
34+
35+
public void SoftDelete(string path)
36+
{
37+
var destFolder = Path.Combine(_userProfile, "DeletedMusic");
38+
if (!Directory.Exists(destFolder))
3639
{
37-
var destFolder = Path.Combine(userProfile, "DeletedMusic");
38-
if (!Directory.Exists(destFolder))
39-
{
40-
Directory.CreateDirectory(destFolder);
41-
}
42-
File.Move(path, Path.Combine(destFolder, Path.GetFileName(path)));
40+
Directory.CreateDirectory(destFolder);
4341
}
42+
File.Move(path, Path.Combine(destFolder, Path.GetFileName(path)));
4443
}
4544
}

HomeSpeaker.Server2/IMusicPlayer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using HomeSpeaker.Shared;
22

3-
namespace HomeSpeaker.Server;
3+
namespace HomeSpeaker.Server2;
44

55
public interface IMusicPlayer : IDisposable
66
{

0 commit comments

Comments
 (0)