11 #include "InfoScanner.h" 12 #include "VideoDatabase.h" 13 #include "addons/Scraper.h" 26 class IVideoInfoTagLoader;
33 parent_name_root =
false;
36 m_allExtAudio =
false;
40 bool parent_name_root;
57 void Start(
const std::string& strDirectory,
bool scanAll =
false);
69 long AddVideo(
CFileItem *pItem,
const CONTENT_TYPE &content,
bool videoFolder =
false,
bool useLocal =
true,
const CVideoInfoTag *showInfo = NULL,
bool libraryImport =
false);
83 static void ApplyThumbToFolder(
const std::string &folder,
const std::string &imdbThumb);
93 void GetArtwork(
CFileItem *pItem,
const CONTENT_TYPE &content,
bool bApplyToDir=
false,
bool useLocal=
true,
const std::string &actorArtPath =
"");
101 static void GetSeasonThumbs(
const CVideoInfoTag &show, std::map<
int, std::map<std::string, std::string> > &art,
const std::vector<std::string> &artTypes,
bool useLocal =
true);
104 bool EnumerateEpisodeItem(
const CFileItem *item, EPISODELIST& episodeList);
106 static std::string GetMovieSetInfoFolder(
const std::string& setTitle);
109 virtual void Process();
110 bool DoScan(
const std::string& strDirectory)
override;
123 bool ProgressCancelled(
CGUIDialogProgress* progress,
int heading,
const std::string &line1);
155 const std::unordered_map<std::string, std::string>& uniqueIDs,
157 const ADDON::ScraperPtr& scraper,
167 bool GetEpisodeAndSeasonFromRegExp(
CRegExp ®,
EPISODE &episodeInfo,
int defaultSeason);
181 bool GetEpisodeTitleFromRegExp(
CRegExp& reg,
EPISODE& episodeInfo);
188 void FetchActorThumbs(std::vector<SActorInfo>& actors,
const std::string& strPath);
190 static int GetPathHash(
const CFileItemList &items, std::string &hash);
202 std::string GetFastHash(
const std::string &directory,
const std::vector<std::string> &excludes)
const;
214 std::string GetRecursiveFastHash(
const std::string &directory,
const std::vector<std::string> &excludes)
const;
224 bool CanFastHash(
const CFileItemList &items,
const std::vector<std::string> &excludes)
const;
239 bool EnumerateSeriesFolder(
CFileItem* item, EPISODELIST& episodeList);
240 bool ProcessItemByVideoInfoTag(
const CFileItem *item, EPISODELIST &episodeList);
242 bool AddVideoExtras(
CFileItemList& items,
const CONTENT_TYPE& content,
const std::string& path);
243 bool ProcessVideoVersion(VideoDbContentType itemType,
int dbId);
247 bool m_ignoreVideoVersions{
false};
248 bool m_ignoreVideoExtras{
false};
249 std::string m_strStartDir;
251 std::set<std::string> m_pathsToCount;
252 std::set<int> m_pathsToClean;
255 static void AddLocalItemArtwork(CGUIListItem::ArtMap& itemArt,
256 const std::vector<std::string>& wantedArtTypes,
const std::string& itemPath,
257 bool addAll,
bool exactName);
265 static std::string GetArtTypeFromSize(
unsigned int width,
unsigned int height);
Definition: VideoInfoScanner.h:28
Base class for video tag loaders.
Definition: IVideoInfoTagLoader.h:25
Represents a list of files.
Definition: FileItem.h:702
Definition: VideoInfoScanner.h:47
Definition: VideoDatabase.h:419
Definition: Application.h:72
Definition: InfoScanner.h:17
Definition: ScraperUrl.h:30
Definition: GUIDialogProgress.h:16
Definition: VideoInfoTag.h:53
INFO_RET
Return values from the information lookup functions.
Definition: InfoScanner.h:23
Represents a file on a share.
Definition: FileItem.h:102
Definition: ScraperUrl.h:21