-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Most major functionality done for OpenSubtitles.net
- Loading branch information
Showing
11 changed files
with
669 additions
and
138 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Text; | ||
using System.Threading.Tasks; | ||
using OSDBnet; | ||
|
||
namespace OpenSubSarchLib | ||
{ | ||
public class Subtitle | ||
{ | ||
public string id { get; set; } | ||
|
||
public string hash { get; set; } | ||
|
||
public string fileName { get; set; } | ||
|
||
public string moveId { get; set; } | ||
|
||
public string imdbId { get; set; } | ||
|
||
public string title { get; set; } | ||
|
||
public string originalTitle { get; set; } | ||
|
||
public int year { get; set; } | ||
|
||
public string languageId { get; set; } | ||
|
||
public string languageName { get; set; } | ||
|
||
public string rating { get; set; } | ||
|
||
public string bad { get; set; } | ||
|
||
public Uri downloadLink { get; set; } | ||
|
||
public Uri pageLink { get; set; } | ||
} | ||
|
||
public class Language | ||
{ | ||
public String id_iso639; | ||
public String service_id; | ||
public String name; | ||
|
||
public override string ToString() | ||
{ | ||
return name; | ||
} | ||
} | ||
|
||
public interface ISubService | ||
{ | ||
IList<Subtitle> searchSubtitlesFromFile(string languages, string filePath); | ||
IList<Subtitle> searchSubtitlesFromQuery(string languages, string query, int? season = null, int? episode = null); | ||
|
||
IList<Language> getAvailableLanguages(); | ||
|
||
string serviceId(); | ||
} | ||
|
||
public class SubServiceFactory | ||
{ | ||
private Dictionary<String, ISubService> svcMap; | ||
|
||
public SubServiceFactory() | ||
{ | ||
svcMap = new Dictionary<string, ISubService>(); | ||
OSDBService svc = new OSDBService(); | ||
svcMap[svc.serviceId()] = svc; | ||
} | ||
|
||
public ISubService getService(string id) | ||
{ | ||
return svcMap[id]; | ||
} | ||
|
||
public List<String> getServiceIds() | ||
{ | ||
return svcMap.Keys.ToList(); | ||
} | ||
|
||
public ISubService getFirstService() | ||
{ | ||
return svcMap.Values.ToList()[0]; | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
using OSDBnet; | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Text; | ||
using System.Threading.Tasks; | ||
|
||
namespace OpenSubSarchLib | ||
{ | ||
public class OSDBService : ISubService | ||
{ | ||
IAnonymousClient client; | ||
|
||
public OSDBService() | ||
{ | ||
client = Osdb.Login("en", "opensubsearch"); | ||
} | ||
|
||
public String serviceId() | ||
{ | ||
return "OSDB_SVC"; | ||
} | ||
|
||
public IList<Subtitle> searchSubtitlesFromFile(string languages, string filePath) | ||
{ | ||
return remapList(client.SearchSubtitlesFromFile(languages, filePath)); | ||
} | ||
|
||
public IList<Language> getAvailableLanguages() | ||
{ | ||
return client.GetSubLanguages().Select(lang => new Language() | ||
{ | ||
name = lang.LanguageName, | ||
id_iso639 = lang.ISO639, | ||
service_id = lang.SubLanguageID | ||
}).ToList(); | ||
} | ||
|
||
IList<Subtitle> remapList(IList<OSDBnet.Subtitle> input) | ||
{ | ||
return input.Select(sub => new Subtitle() | ||
{ | ||
id = sub.SubtitleId, | ||
fileName = sub.SubtitleFileName, | ||
title = sub.MovieName, | ||
year = sub.MovieYear, | ||
hash = sub.SubtitleHash, | ||
originalTitle = sub.OriginalMovieName, | ||
languageName = sub.LanguageName, | ||
languageId = sub.LanguageId, | ||
rating = sub.Rating, | ||
bad = sub.Bad, | ||
imdbId = sub.ImdbId, | ||
downloadLink = sub.SubTitleDownloadLink, | ||
pageLink = sub.SubtitlePageLink | ||
}).ToList(); | ||
} | ||
|
||
public IList<Subtitle> searchSubtitlesFromQuery(string languages, string query, int? season = null, int? episode = null) | ||
{ | ||
return remapList(client.SearchSubtitlesFromQuery(languages, query, season, episode)); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<packages> | ||
<package id="OSDBnet" version="0.4.0.0" targetFramework="net452" /> | ||
<package id="xmlrpcnet" version="2.5.0" targetFramework="net452" /> | ||
</packages> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.