#94: Saving the file type of cover art, but there is still some work to do #100
@@ -2,11 +2,7 @@ namespace Icarus.Constants;
|
|||||||
|
|
||||||
public class DirectoryPaths
|
public class DirectoryPaths
|
||||||
{
|
{
|
||||||
// TODO: Remove this
|
public static string CoverArtDirectory => Directory.GetCurrentDirectory() + "/Images/Stock/";
|
||||||
public static string CoverArtPath =>
|
|
||||||
Directory.GetCurrentDirectory() + "/Images/Stock/CoverArt.png";
|
|
||||||
public static string CoverArtDirectory =>
|
|
||||||
Directory.GetCurrentDirectory() + "/Images/Stock/";
|
|
||||||
public static string CoverArtFilename => "CoverArt.png";
|
public static string CoverArtFilename => "CoverArt.png";
|
||||||
public static string FILENAME_CHARACTERS = "ABCDEF0123456789";
|
public static string FILENAME_CHARACTERS = "ABCDEF0123456789";
|
||||||
public static int FILENAME_LENGTH = 25;
|
public static int FILENAME_LENGTH = 25;
|
||||||
|
|||||||
@@ -82,9 +82,6 @@ public class CoverArtManager : BaseManager
|
|||||||
};
|
};
|
||||||
|
|
||||||
var segment = coverArt.GenerateFilename(0);
|
var segment = coverArt.GenerateFilename(0);
|
||||||
// var imagePath = dirMgr.SongDirectory + segment + defaultExtension;
|
|
||||||
|
|
||||||
// coverArt.ImagePath = imagePath;
|
|
||||||
coverArt.Directory = dirMgr.SongDirectory;
|
coverArt.Directory = dirMgr.SongDirectory;
|
||||||
coverArt.Filename = segment + defaultExtension;
|
coverArt.Filename = segment + defaultExtension;
|
||||||
|
|
||||||
@@ -101,13 +98,11 @@ public class CoverArtManager : BaseManager
|
|||||||
_logger.Info("Song has no cover art, applying stock cover art");
|
_logger.Info("Song has no cover art, applying stock cover art");
|
||||||
|
|
||||||
var coverArtFilePath = _rootCoverArtPath + $"{segment}{defaultExtension}";
|
var coverArtFilePath = _rootCoverArtPath + $"{segment}{defaultExtension}";
|
||||||
// coverArt.ImagePath = DirectoryPaths.CoverArtPath;
|
|
||||||
coverArt.Directory = DirectoryPaths.CoverArtDirectory;
|
coverArt.Directory = DirectoryPaths.CoverArtDirectory;
|
||||||
coverArt.Filename = DirectoryPaths.CoverArtFilename;
|
coverArt.Filename = DirectoryPaths.CoverArtFilename;
|
||||||
metaData.UpdateCoverArt(song, coverArt);
|
metaData.UpdateCoverArt(song, coverArt);
|
||||||
coverArt.Directory = this._rootCoverArtPath;
|
coverArt.Directory = this._rootCoverArtPath;
|
||||||
coverArt.Filename = $"{segment}{defaultExtension}";
|
coverArt.Filename = $"{segment}{defaultExtension}";
|
||||||
// coverArt.ImagePath = coverArtFilePath;
|
|
||||||
File.WriteAllBytes(coverArt.ImagePath(), _stockCoverArt);
|
File.WriteAllBytes(coverArt.ImagePath(), _stockCoverArt);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -130,8 +125,6 @@ public class CoverArtManager : BaseManager
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Create emthods to save the cover art to a temporary location
|
|
||||||
// to get the type of the cover art.
|
|
||||||
public CoverArt SaveCoverArt(IFormFile data, Song song)
|
public CoverArt SaveCoverArt(IFormFile data, Song song)
|
||||||
{
|
{
|
||||||
var cover = new CoverArt { SongTitle = song.Title };
|
var cover = new CoverArt { SongTitle = song.Title };
|
||||||
@@ -140,7 +133,8 @@ public class CoverArtManager : BaseManager
|
|||||||
{
|
{
|
||||||
MetadataRetriever metaData = new MetadataRetriever();
|
MetadataRetriever metaData = new MetadataRetriever();
|
||||||
var dirMgr = new DirectoryManager(_rootCoverArtPath);
|
var dirMgr = new DirectoryManager(_rootCoverArtPath);
|
||||||
var defaultExtension = "." + metaData.FileExtensionType(data);
|
cover.Type = metaData.FileExtensionType(data);
|
||||||
|
var defaultExtension = "." + cover.Type;
|
||||||
dirMgr.CreateDirectory(song);
|
dirMgr.CreateDirectory(song);
|
||||||
|
|
||||||
var segment = cover.GenerateFilename(0);
|
var segment = cover.GenerateFilename(0);
|
||||||
@@ -148,7 +142,6 @@ public class CoverArtManager : BaseManager
|
|||||||
|
|
||||||
cover.Directory = dirMgr.SongDirectory;
|
cover.Directory = dirMgr.SongDirectory;
|
||||||
cover.Filename = segment + defaultExtension;
|
cover.Filename = segment + defaultExtension;
|
||||||
// cover.ImagePath = imagePath;
|
|
||||||
|
|
||||||
using (var fileStream = new FileStream(cover.ImagePath(), FileMode.Create))
|
using (var fileStream = new FileStream(cover.ImagePath(), FileMode.Create))
|
||||||
{
|
{
|
||||||
@@ -171,9 +164,10 @@ public class CoverArtManager : BaseManager
|
|||||||
private void Initialize()
|
private void Initialize()
|
||||||
{
|
{
|
||||||
_coverArtContext = new CoverArtContext(_connectionString);
|
_coverArtContext = new CoverArtContext(_connectionString);
|
||||||
|
var path = DirectoryPaths.CoverArtDirectory + DirectoryPaths.CoverArtFilename;
|
||||||
|
|
||||||
if (System.IO.File.Exists(DirectoryPaths.CoverArtPath))
|
if (System.IO.File.Exists(path))
|
||||||
_stockCoverArt = File.ReadAllBytes(DirectoryPaths.CoverArtPath);
|
_stockCoverArt = File.ReadAllBytes(path);
|
||||||
|
|
||||||
if (!File.Exists(_rootCoverArtPath + "CoverArt.png"))
|
if (!File.Exists(_rootCoverArtPath + "CoverArt.png"))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -232,15 +232,6 @@ public class SongManager : BaseManager
|
|||||||
var coverMgr = new CoverArtManager(_config);
|
var coverMgr = new CoverArtManager(_config);
|
||||||
var coverArt = coverMgr.SaveCoverArt(coverArtData, song);
|
var coverArt = coverMgr.SaveCoverArt(coverArtData, song);
|
||||||
|
|
||||||
MetadataRetriever metaData = new MetadataRetriever();
|
|
||||||
coverArt.Type = metaData.CoverArtFileExtensionType(coverArt);
|
|
||||||
if (string.IsNullOrEmpty(coverArt.Type))
|
|
||||||
{
|
|
||||||
Console.WriteLine("File type is empty");
|
|
||||||
Console.WriteLine($"Directory: {coverArt.Directory}");
|
|
||||||
Console.WriteLine($"Filename: {coverArt.Filename}");
|
|
||||||
}
|
|
||||||
|
|
||||||
DirectoryManager dirMgr = new DirectoryManager(_config, song);
|
DirectoryManager dirMgr = new DirectoryManager(_config, song);
|
||||||
dirMgr.CreateDirectory();
|
dirMgr.CreateDirectory();
|
||||||
|
|
||||||
|
|||||||
@@ -82,13 +82,8 @@ public class MetadataRetriever
|
|||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var fileType = FileTypeChecker.FileTypeValidator.GetFileType(fileStream);
|
var fileType = FileTypeChecker.FileTypeValidator.GetFileType(fileStream);
|
||||||
// Console.WriteLine("Type Name: {0}", fileType.Name);
|
|
||||||
// Console.WriteLine("Type Extension: {0}", fileType.Extension);
|
|
||||||
// Console.WriteLine("Is Image?: {0}", fileStream.IsImage());
|
|
||||||
// Console.WriteLine("Is Bitmap?: {0}", fileStream.Is<Bitmap>());
|
|
||||||
//
|
|
||||||
Console.WriteLine($"Filetype: {fileType}");
|
Console.WriteLine($"Filetype: {fileType}");
|
||||||
|
|
||||||
return fileType.Extension;
|
return fileType.Extension;
|
||||||
|
|||||||
Reference in New Issue
Block a user