11 #include "XBDateTime.h" 12 #include "addons/Addon.h" 13 #include "utils/ScraperParser.h" 14 #include "utils/ScraperUrl.h" 15 #include "video/Episode.h" 27 class CMusicAlbumInfo;
28 class CMusicArtistInfo;
51 typedef std::shared_ptr<CScraper> ScraperPtr;
53 std::string TranslateContent(
const CONTENT_TYPE &content,
bool pretty=
false);
54 CONTENT_TYPE TranslateContent(
const std::string &
string);
55 AddonType ScraperTypeFromContent(
const CONTENT_TYPE& content);
62 CScraperError(
const std::string &sTitle,
const std::string &sMessage) :
63 m_fAborted(
false), m_sTitle(sTitle), m_sMessage(sMessage) {}
65 bool FAborted()
const {
return m_fAborted; }
66 const std::string &Title()
const {
return m_sTitle; }
67 const std::string &Message()
const {
return m_sMessage; }
70 bool m_fAborted =
true;
72 std::string m_sMessage;
78 explicit CScraper(
const AddonInfoPtr& addonInfo, AddonType addonType);
88 bool SetPathSettings(CONTENT_TYPE content,
const std::string& xml);
96 std::string GetPathSettings();
104 CONTENT_TYPE Content()
const {
return m_pathContent; }
105 bool RequiresSettings()
const {
return m_requiressettings; }
106 bool Supports(
const CONTENT_TYPE &content)
const;
108 bool IsInUse()
const override;
110 bool IsPython()
const {
return m_isPython; }
113 CScraperUrl NfoUrl(
const std::string &sNfoContent);
124 CScraperUrl ResolveIDToUrl(
const std::string &externalID);
127 const std::string &movieTitle,
int movieYear,
bool fFirst);
128 std::vector<MUSIC_GRABBER::CMusicAlbumInfo> FindAlbum(
XFILE::CCurlFile &fcurl,
129 const std::string &sAlbum,
const std::string &sArtist =
"");
130 std::vector<MUSIC_GRABBER::CMusicArtistInfo> FindArtist(
135 const std::unordered_map<std::string, std::string>& uniqueIDs,
142 const std::string &sSearch,
CArtist &artist);
151 std::string SearchStringEncoding()
const 152 {
return m_parser.GetSearchStringEncoding(); }
160 std::string GetPathSettingsAsJSON();
163 std::vector<std::string> Run(
const std::string&
function,
166 const std::vector<std::string>* extras =
nullptr);
167 std::vector<std::string> RunNoThrow(
const std::string&
function,
170 const std::vector<std::string>* extras =
nullptr);
171 std::string InternalRun(
const std::string&
function,
174 const std::vector<std::string>* extras);
176 bool m_fLoaded =
false;
177 bool m_isPython =
false;
178 bool m_requiressettings =
false;
180 CONTENT_TYPE m_pathContent = CONTENT_NONE;
Definition: XBDateTime.h:21
Definition: ScraperParser.h:26
Definition: CurlFile.h:24
Definition: VideoInfoTag.h:53
Definition: ScraperUrl.h:21