diff --git a/QobuzDownloaderX/Form1.cs b/QobuzDownloaderX/Form1.cs index e9be805..d4ae4d6 100644 --- a/QobuzDownloaderX/Form1.cs +++ b/QobuzDownloaderX/Form1.cs @@ -145,6 +145,18 @@ namespace QobuzDownloaderX #endregion } + // Set DateTime for new date formatting. + System.DateTime dateTime = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); + + public string DateConvertion(string Input) + { + var date = DateTime.ParseExact(Input, "M/d/yyyy hh:mm:ss tt", + CultureInfo.InvariantCulture); + + return date.ToString("yyyy-MM-dd"); + } + + static string DecodeEncodedNonAsciiCharacters(string value) { return Regex.Replace( @@ -710,8 +722,11 @@ namespace QobuzDownloaderX genre = decodedGenre.Replace("\\\"", "\"").Replace(@"\\/", @"/").Replace(@"\\", @"\").Replace(@"\/", @"/"); // Release Date tag, grabs the available "stream" date - var releaseDateLog = Regex.Match(trackRequest, "\"release_date_stream\":\"(?.*?)\",\\\"").Groups; - var releaseDate = releaseDateLog[1].Value; + //var releaseDateLog = Regex.Match(trackRequest, "\"release_date_stream\":\"(?.*?)\",\\\"").Groups; + var releaseDateLog = Regex.Match(trackRequest, ",\"released_at\":(?.*?),").Groups; + long dateLong = long.Parse(releaseDateLog[1].Value); + var releaseDate = dateTime.AddSeconds(dateLong).ToString(); + releaseDate = DateConvertion(releaseDate); // Display release date in text box under cover art. releaseDateTextBox.Invoke(new Action(() => releaseDateTextBox.Text = releaseDate)); @@ -1815,8 +1830,11 @@ namespace QobuzDownloaderX genre = decodedGenre.Replace("\\\"", "\"").Replace(@"\\/", @"/").Replace(@"\\", @"\").Replace(@"\/", @"/"); // Release Date tag, grabs the available "stream" date - var releaseDateLog = Regex.Match(trackRequest, "\"release_date_stream\":\"(?.*?)\",\\\"").Groups; - var releaseDate = releaseDateLog[1].Value; + //var releaseDateLog = Regex.Match(trackRequest, "\"release_date_stream\":\"(?.*?)\",\\\"").Groups; + var releaseDateLog = Regex.Match(trackRequest, ",\"released_at\":(?.*?),").Groups; + long dateLong = long.Parse(releaseDateLog[1].Value); + var releaseDate = dateTime.AddSeconds(dateLong).ToString(); + releaseDate = DateConvertion(releaseDate); // Display release date in text box under cover art. releaseDateTextBox.Invoke(new Action(() => releaseDateTextBox.Text = releaseDate)); @@ -2888,11 +2906,14 @@ namespace QobuzDownloaderX genre = decodedGenre.Replace("\\\"", "\"").Replace(@"\\/", @"/").Replace(@"\\", @"\").Replace(@"\/", @"/"); // Release Date tag, grabs the available "stream" date - var releaseDateLog = Regex.Match(trackRequest, "\"release_date_stream\":\"(?.*?)\",\\\"").Groups; - var releaseDate = releaseDateLog[1].Value; + //var releaseDateLog = Regex.Match(trackRequest, "\"release_date_stream\":\"(?.*?)\",\\\"").Groups; + var releaseDateLog = Regex.Match(trackRequest, ",\"released_at\":(?.*?),").Groups; + long dateLong = long.Parse(releaseDateLog[1].Value); + var releaseDate = dateTime.AddSeconds(dateLong).ToString(); + releaseDate = DateConvertion(releaseDate); - // Display release date in text box under cover art. - releaseDateTextBox.Invoke(new Action(() => releaseDateTextBox.Text = releaseDate)); + // Display release date in text box under cover art. + releaseDateTextBox.Invoke(new Action(() => releaseDateTextBox.Text = releaseDate)); // Copyright tag var copyrightLog = Regex.Match(trackRequest, "\"copyright\":\"(?.*?)\"copyright\":\"(?.*?)\\\"").Groups; @@ -3657,7 +3678,7 @@ namespace QobuzDownloaderX catch (Exception ex) { string error = ex.ToString(); - output.Invoke(new Action(() => output.Text = String.Empty)); + //output.Invoke(new Action(() => output.Text = String.Empty)); output.Invoke(new Action(() => output.AppendText("Failed to download (First Phase). Error information below.\r\n\r\n"))); output.Invoke(new Action(() => output.AppendText(error))); mp3Checkbox.Invoke(new Action(() => mp3Checkbox.Visible = true)); @@ -3896,8 +3917,11 @@ namespace QobuzDownloaderX genre = genre.Replace("\\\"", "\"").Replace(@"\\/", @"/").Replace(@"\\", @"\").Replace(@"\/", @"/"); // Release Date tag, grabs the available "stream" date - var releaseDateLog = Regex.Match(trackRequest, "\"release_date_stream\":\"(?.*?)\",\\\"").Groups; - var releaseDate = releaseDateLog[1].Value; + //var releaseDateLog = Regex.Match(trackRequest, "\"release_date_stream\":\"(?.*?)\",\\\"").Groups; + var releaseDateLog = Regex.Match(trackRequest, ",\"released_at\":(?.*?),").Groups; + long dateLong = long.Parse(releaseDateLog[1].Value); + var releaseDate = dateTime.AddSeconds(dateLong).ToString(); + releaseDate = DateConvertion(releaseDate); // Display release date in text box under cover art. releaseDateTextBox.Invoke(new Action(() => releaseDateTextBox.Text = releaseDate)); diff --git a/QobuzDownloaderX/Properties/AssemblyInfo.cs b/QobuzDownloaderX/Properties/AssemblyInfo.cs index da26f57..ae6dacd 100644 --- a/QobuzDownloaderX/Properties/AssemblyInfo.cs +++ b/QobuzDownloaderX/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.9.9.9")] -[assembly: AssemblyFileVersion("0.9.9.9")] +[assembly: AssemblyVersion("0.9.9.10")] +[assembly: AssemblyFileVersion("0.9.9.10")]