Cardigann: Make encoding configurable

This commit is contained in:
kaso17 2016-11-28 19:31:12 +01:00
parent da2a252848
commit 870c0592fe
1 changed files with 6 additions and 2 deletions

View File

@ -39,6 +39,7 @@ namespace Jackett.Indexers
public string Name { get; set; } public string Name { get; set; }
public string Description { get; set; } public string Description { get; set; }
public string Language { get; set; } public string Language { get; set; }
public string Encoding { get; set; }
public List<string> Links { get; set; } public List<string> Links { get; set; }
public capabilitiesBlock Caps { get; set; } public capabilitiesBlock Caps { get; set; }
public loginBlock Login { get; set; } public loginBlock Login { get; set; }
@ -153,6 +154,9 @@ namespace Jackett.Indexers
Definition.Settings.Add(new settingsField { Name = "password", Label = "Password", Type = "password" }); Definition.Settings.Add(new settingsField { Name = "password", Label = "Password", Type = "password" });
} }
if (Definition.Encoding == null)
Definition.Encoding = "iso-8859-1";
// init missing mandatory attributes // init missing mandatory attributes
DisplayName = Definition.Name; DisplayName = Definition.Name;
DisplayDescription = Definition.Description; DisplayDescription = Definition.Description;
@ -658,7 +662,7 @@ namespace Jackett.Indexers
// send HTTP request // send HTTP request
var response = await RequestBytesWithCookies(searchUrl); var response = await RequestBytesWithCookies(searchUrl);
var results = Encoding.GetEncoding("iso-8859-1").GetString(response.Content); var results = Encoding.GetEncoding(Definition.Encoding).GetString(response.Content);
try try
{ {
var SearchResultParser = new HtmlParser(); var SearchResultParser = new HtmlParser();
@ -672,7 +676,7 @@ namespace Jackett.Indexers
await DoLogin(); await DoLogin();
await TestLogin(); await TestLogin();
response = await RequestBytesWithCookies(searchUrl); response = await RequestBytesWithCookies(searchUrl);
results = Encoding.GetEncoding("iso-8859-1").GetString(response.Content); results = Encoding.GetEncoding(Definition.Encoding).GetString(response.Content);
SearchResultDocument = SearchResultParser.Parse(results); SearchResultDocument = SearchResultParser.Parse(results);
} }