Replace Linqpad-only methods and split into files (works except Hyperlinq)
This commit is contained in:
47
Scraper/EpubParameter.cs
Normal file
47
Scraper/EpubParameter.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
using System.Globalization;
|
||||
|
||||
namespace WordpressEboobScraper2.Scraper;
|
||||
|
||||
public class EpubParameter
|
||||
{
|
||||
public readonly string Series;
|
||||
public readonly int SeriesIndex;
|
||||
public readonly Guid ID_OPF;
|
||||
public readonly Guid ID_CAL;
|
||||
public readonly string Title;
|
||||
public readonly string Author;
|
||||
public readonly DateTime Release;
|
||||
public readonly string Language;
|
||||
public readonly string StartURL;
|
||||
public readonly string Foldername;
|
||||
public readonly Site SiteType;
|
||||
|
||||
public string AuthorSort { get { return Author.Split(' ').Aggregate((a, b) => b + ", " + a); } }
|
||||
|
||||
public EpubParameter(Site st, string t, string a, string r, string l, string s) : this(st, null, -1, t, a, r, l, s) { }
|
||||
|
||||
public EpubParameter(Site st, string z, int i, string t, string a, string r, string l, string s)
|
||||
{
|
||||
SiteType = st;
|
||||
Series = z;
|
||||
SeriesIndex = i;
|
||||
Title = t;
|
||||
Author = a;
|
||||
Release = DateTime.ParseExact(r, "yyyy-MM-dd", CultureInfo.InvariantCulture);
|
||||
Language = l;
|
||||
StartURL = s;
|
||||
if (z == null)
|
||||
Foldername = Helper.Filenamify(t);
|
||||
else
|
||||
Foldername = string.Format("{0} {1} - {2}", Helper.Filenamify(z), i, Helper.Filenamify(t));
|
||||
|
||||
var u = new Random(Title.GetHashCode() ^ Author.GetHashCode());
|
||||
var g = new byte[16];
|
||||
u.NextBytes(g);
|
||||
ID_OPF = new Guid(g);
|
||||
u.NextBytes(g);
|
||||
ID_CAL = new Guid(g);
|
||||
}
|
||||
|
||||
public String DisplayStr => (Series == null) ? $"{Title}" : $"{Series} {SeriesIndex} - {Title}";
|
||||
}
|
||||
Reference in New Issue
Block a user