udpated code
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
This commit is contained in:
parent
d40ab93df2
commit
c2ae664d80
@ -49,7 +49,7 @@ namespace BillboardPlaylistUpdater
|
|||||||
else
|
else
|
||||||
songList = new List<SongList>();
|
songList = new List<SongList>();
|
||||||
|
|
||||||
RunTest();
|
//RunTest();
|
||||||
//update Shared Charts and save
|
//update Shared Charts and save
|
||||||
UpdateCurrentCharts();
|
UpdateCurrentCharts();
|
||||||
client.Set(firepath, songList);
|
client.Set(firepath, songList);
|
||||||
@ -76,7 +76,7 @@ namespace BillboardPlaylistUpdater
|
|||||||
|
|
||||||
static void UpdateCurrentCharts()
|
static void UpdateCurrentCharts()
|
||||||
{
|
{
|
||||||
SongList hot100 = DownloadHot100("Hot 100", "https://www.billboard.com/charts/hot-100");
|
SongList hot100 = Download("Hot 100", "https://www.billboard.com/charts/hot-100");
|
||||||
SongList pop = Download("Pop-Songs", "https://www.billboard.com/charts/pop-songs");
|
SongList pop = Download("Pop-Songs", "https://www.billboard.com/charts/pop-songs");
|
||||||
SongList rock = Download("Rock-Songs", "https://www.billboard.com/charts/rock-songs");
|
SongList rock = Download("Rock-Songs", "https://www.billboard.com/charts/rock-songs");
|
||||||
SongList country = Download("Country-Songs", "https://www.billboard.com/charts/country-songs");
|
SongList country = Download("Country-Songs", "https://www.billboard.com/charts/country-songs");
|
||||||
@ -187,36 +187,33 @@ namespace BillboardPlaylistUpdater
|
|||||||
var parser = new HtmlParser();
|
var parser = new HtmlParser();
|
||||||
var document = parser.Parse(html);
|
var document = parser.Parse(html);
|
||||||
//2-?
|
//2-?
|
||||||
var articles = document.QuerySelectorAll("div.chart-list-item ");
|
var articles = document.QuerySelectorAll("ul.o-chart-results-list-row");
|
||||||
if (articles.Count() > 0)
|
if (articles.Count() > 0)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Found " + articles.Count() + " Songs");
|
Console.WriteLine("Found " + articles.Count() + " Songs");
|
||||||
songs = new List<SongListSong>();
|
songs = new List<SongListSong>();
|
||||||
}
|
}
|
||||||
|
|
||||||
////1
|
|
||||||
//var number1artist = document.QuerySelectorAll("div.chart-number-one__artist ").First().InnerHtml.TrimStart().TrimEnd();
|
|
||||||
//var number1title = document.QuerySelectorAll("div.chart-number-one__title ").First().InnerHtml.TrimStart().TrimEnd();
|
|
||||||
//var number1 = new SongListSong();
|
|
||||||
//number1.Artist = number1artist;
|
|
||||||
//number1.Title = number1title;
|
|
||||||
//number1.Position = 1;
|
|
||||||
//if (number1artist.Contains("href"))
|
|
||||||
//{
|
|
||||||
// var start = number1artist.IndexOf(">") + 1;
|
|
||||||
// var end = number1artist.IndexOf("<",1) - 1;
|
|
||||||
// var art = number1artist.Substring(start, end - start);
|
|
||||||
// number1.Artist = art.TrimStart().TrimEnd();
|
|
||||||
//}
|
|
||||||
//songs.Add(number1);
|
|
||||||
|
|
||||||
|
|
||||||
var i = 1;
|
var i = 1;
|
||||||
foreach (var article in articles)
|
foreach (var article in articles)
|
||||||
{
|
{
|
||||||
var title = article.Attributes["data-title"].Value;
|
var title = "none"; //article.Attributes["data-title"].Value;
|
||||||
var artist = article.Attributes["data-artist"].Value;
|
var artist = "none";//article.Attributes["data-artist"].Value;
|
||||||
var position = article.Attributes["data-rank"].Value;
|
var position = i; //article.Attributes["data-rank"].Value;
|
||||||
|
|
||||||
|
var listItems = article.QuerySelectorAll("li.o-chart-results-list__item");
|
||||||
|
foreach(var listItem in listItems)
|
||||||
|
{;
|
||||||
|
var h3 = listItem.QuerySelectorAll("h3");
|
||||||
|
var span = listItem.QuerySelectorAll("span");
|
||||||
|
if (h3.Length > 0 && span.Length > 0)
|
||||||
|
{
|
||||||
|
title = h3[0].InnerHtml.Trim();
|
||||||
|
artist = span[0].InnerHtml.Trim();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
var song = new SongListSong();
|
var song = new SongListSong();
|
||||||
song.Artist = artist;
|
song.Artist = artist;
|
||||||
song.Title = title;
|
song.Title = title;
|
||||||
@ -254,7 +251,7 @@ namespace BillboardPlaylistUpdater
|
|||||||
var parser = new HtmlParser();
|
var parser = new HtmlParser();
|
||||||
var document = parser.Parse(html);
|
var document = parser.Parse(html);
|
||||||
//2-?
|
//2-?
|
||||||
var cs = "data-charts=\"";
|
var cs = "chart-results-list=\"";
|
||||||
var ce = "data-icons=\"https:";
|
var ce = "data-icons=\"https:";
|
||||||
var ics = html.IndexOf(cs) + cs.Length;
|
var ics = html.IndexOf(cs) + cs.Length;
|
||||||
var ice = html.IndexOf(ce);
|
var ice = html.IndexOf(ce);
|
||||||
|
|||||||
@ -21,6 +21,8 @@ namespace Herse.Models
|
|||||||
[JsonProperty("path")]
|
[JsonProperty("path")]
|
||||||
public string Path { get; set; }
|
public string Path { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("guid")]
|
||||||
|
public string Guid { get; set; }
|
||||||
|
|
||||||
[JsonProperty("disabled")]
|
[JsonProperty("disabled")]
|
||||||
public bool Disabled { get; set; } = false;
|
public bool Disabled { get; set; } = false;
|
||||||
|
|||||||
@ -74,7 +74,7 @@ namespace KaraokePlayer
|
|||||||
songInfoForm.Show();
|
songInfoForm.Show();
|
||||||
if(controller.Settings == null || controller.Settings.AutoAdvance)
|
if(controller.Settings == null || controller.Settings.AutoAdvance)
|
||||||
{
|
{
|
||||||
await Task.Delay(TimeSpan.FromSeconds(10));
|
await Task.Delay(TimeSpan.FromSeconds(5));
|
||||||
player.play();
|
player.play();
|
||||||
controller.SetState(PlayerState.Playing);
|
controller.SetState(PlayerState.Playing);
|
||||||
songInfoForm.Hide();
|
songInfoForm.Hide();
|
||||||
|
|||||||
@ -11,12 +11,22 @@ using System.Threading.Tasks;
|
|||||||
using System.IO.Compression;
|
using System.IO.Compression;
|
||||||
using System.Configuration;
|
using System.Configuration;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using System.Security.Cryptography;
|
||||||
|
|
||||||
namespace SongCrawler
|
namespace SongCrawler
|
||||||
{
|
{
|
||||||
|
|
||||||
class Program
|
class Program
|
||||||
{
|
{
|
||||||
|
private static Guid GuidFromString(string input)
|
||||||
|
{
|
||||||
|
using (MD5 md5 = MD5.Create())
|
||||||
|
{
|
||||||
|
byte[] hash = md5.ComputeHash(Encoding.Default.GetBytes(input));
|
||||||
|
return new Guid(hash);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
if (args.Count() == 3)
|
if (args.Count() == 3)
|
||||||
@ -33,6 +43,7 @@ namespace SongCrawler
|
|||||||
{
|
{
|
||||||
//string [] test = { "mbrucedogs", "z://" };
|
//string [] test = { "mbrucedogs", "z://" };
|
||||||
//args = test;
|
//args = test;
|
||||||
|
var debug = false;
|
||||||
if (args.Length != 2)
|
if (args.Length != 2)
|
||||||
{
|
{
|
||||||
Console.WriteLine("usage: songcrawler partyid songspath");
|
Console.WriteLine("usage: songcrawler partyid songspath");
|
||||||
@ -96,6 +107,10 @@ namespace SongCrawler
|
|||||||
{
|
{
|
||||||
Console.WriteLine(ex.Message);
|
Console.WriteLine(ex.Message);
|
||||||
}
|
}
|
||||||
|
if (debug && i > 1000)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//sync all favorite, history, disabled
|
//sync all favorite, history, disabled
|
||||||
@ -128,9 +143,16 @@ namespace SongCrawler
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
client.Set(songsPath, songs);
|
client.Set(songsPath, songs);
|
||||||
|
|
||||||
|
//string test = string.Format("controllers/{0}/testsongs", controller);
|
||||||
|
//Dictionary<string, Song> testSongs = new Dictionary<string, Song>();
|
||||||
|
//foreach (Song s in songs)
|
||||||
|
//{
|
||||||
|
// testSongs[s.Guid] = s;
|
||||||
|
//}
|
||||||
|
//client.Set(test, testSongs);
|
||||||
|
|
||||||
var created = songs.Select(s => new CreatedSong(File.GetCreationTime(s.Path), s)).ToList();
|
var created = songs.Select(s => new CreatedSong(File.GetCreationTime(s.Path), s)).ToList();
|
||||||
var first200 = created.Where(s => s.created != null).OrderByDescending(s => s.created).Take(200);
|
var first200 = created.Where(s => s.created != null).OrderByDescending(s => s.created).Take(200);
|
||||||
var added = first200.Select(s => new PathOnly(path: s.song.Path)).ToList();
|
var added = first200.Select(s => new PathOnly(path: s.song.Path)).ToList();
|
||||||
@ -357,6 +379,7 @@ namespace SongCrawler
|
|||||||
}
|
}
|
||||||
CheckTitle(song);
|
CheckTitle(song);
|
||||||
song.Path = filepath;
|
song.Path = filepath;
|
||||||
|
song.Guid = GuidFromString(filepath).ToString();
|
||||||
return song;
|
return song;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user