bool CDirectoryNodeTitleMovies::GetContent(CFileItemList& items) const { CVideoDatabase videodatabase; if (!videodatabase.Open()) return false; CQueryParams params; CollectQueryParams(params); CStdString strBaseDir=BuildPath(); bool bSuccess=videodatabase.GetMoviesNav(strBaseDir, items, params.GetGenreId(), params.GetYear(), params.GetActorId(), params.GetDirectorId(), params.GetStudioId(), params.GetCountryId(), params.GetSetId(), params.GetTagId()); videodatabase.Close(); return bSuccess; }
bool CVideoDatabaseDirectory::GetLabel(const std::string& strDirectory, std::string& strLabel) { strLabel = ""; std::string path = CLegacyPathTranslation::TranslateVideoDbPath(strDirectory); auto_ptr<CDirectoryNode> pNode(CDirectoryNode::ParseURL(path)); if (!pNode.get() || path.empty()) return false; // first see if there's any filter criteria CQueryParams params; CDirectoryNode::GetDatabaseInfo(path, params); CVideoDatabase videodatabase; if (!videodatabase.Open()) return false; // get genre if (params.GetGenreId() != -1) strLabel += videodatabase.GetGenreById(params.GetGenreId()); // get country if (params.GetCountryId() != -1) strLabel += videodatabase.GetCountryById(params.GetCountryId()); // get set if (params.GetSetId() != -1) strLabel += videodatabase.GetSetById(params.GetSetId()); // get tag if (params.GetTagId() != -1) strLabel += videodatabase.GetTagById(params.GetTagId()); // get year if (params.GetYear() != -1) { std::string strTemp = StringUtils::Format("%i",params.GetYear()); if (!strLabel.empty()) strLabel += " / "; strLabel += strTemp; } if (strLabel.empty()) { switch (pNode->GetChildType()) { case NODE_TYPE_TITLE_MOVIES: case NODE_TYPE_TITLE_TVSHOWS: case NODE_TYPE_TITLE_MUSICVIDEOS: strLabel = g_localizeStrings.Get(369); break; case NODE_TYPE_ACTOR: // Actor strLabel = g_localizeStrings.Get(344); break; case NODE_TYPE_GENRE: // Genres strLabel = g_localizeStrings.Get(135); break; case NODE_TYPE_COUNTRY: // Countries strLabel = g_localizeStrings.Get(20451); break; case NODE_TYPE_YEAR: // Year strLabel = g_localizeStrings.Get(562); break; case NODE_TYPE_DIRECTOR: // Director strLabel = g_localizeStrings.Get(20348); break; case NODE_TYPE_SETS: // Sets strLabel = g_localizeStrings.Get(20434); break; case NODE_TYPE_TAGS: // Tags strLabel = g_localizeStrings.Get(20459); break; case NODE_TYPE_MOVIES_OVERVIEW: // Movies strLabel = g_localizeStrings.Get(342); break; case NODE_TYPE_TVSHOWS_OVERVIEW: // TV Shows strLabel = g_localizeStrings.Get(20343); break; case NODE_TYPE_RECENTLY_ADDED_MOVIES: // Recently Added Movies strLabel = g_localizeStrings.Get(20386); break; case NODE_TYPE_RECENTLY_ADDED_EPISODES: // Recently Added Episodes strLabel = g_localizeStrings.Get(20387); break; case NODE_TYPE_STUDIO: // Studios strLabel = g_localizeStrings.Get(20388); break; case NODE_TYPE_MUSICVIDEOS_OVERVIEW: // Music Videos strLabel = g_localizeStrings.Get(20389); break; case NODE_TYPE_RECENTLY_ADDED_MUSICVIDEOS: // Recently Added Music Videos strLabel = g_localizeStrings.Get(20390); break; case NODE_TYPE_SEASONS: // Seasons strLabel = g_localizeStrings.Get(33054); break; case NODE_TYPE_EPISODES: // Episodes strLabel = g_localizeStrings.Get(20360); break; default: return false; } } return true; }
bool CVideoDatabaseDirectory::GetLabel(const CStdString& strDirectory, CStdString& strLabel) { strLabel = ""; auto_ptr<CDirectoryNode> pNode(CDirectoryNode::ParseURL(strDirectory)); if (!pNode.get() || strDirectory.IsEmpty()) return false; // first see if there's any filter criteria CQueryParams params; CDirectoryNode::GetDatabaseInfo(strDirectory, params); CVideoDatabase videodatabase; if (!videodatabase.Open()) return false; // get genre if (params.GetGenreId() != -1) strLabel += videodatabase.GetGenreById(params.GetGenreId()); // get country if (params.GetCountryId() != -1) strLabel += videodatabase.GetCountryById(params.GetCountryId()); // get set if (params.GetSetId() != -1) strLabel += videodatabase.GetSetById(params.GetSetId()); // get year if (params.GetYear() != -1) { CStdString strTemp; strTemp.Format("%i",params.GetYear()); if (!strLabel.IsEmpty()) strLabel += " / "; strLabel += strTemp; } if (strLabel.IsEmpty()) { switch (pNode->GetChildType()) { case NODE_TYPE_TITLE_MOVIES: case NODE_TYPE_TITLE_TVSHOWS: case NODE_TYPE_TITLE_MUSICVIDEOS: strLabel = g_localizeStrings.Get(369); break; case NODE_TYPE_ACTOR: // Actor strLabel = g_localizeStrings.Get(344); break; case NODE_TYPE_GENRE: // Genres strLabel = g_localizeStrings.Get(135); break; case NODE_TYPE_COUNTRY: // Countries strLabel = g_localizeStrings.Get(20451); break; case NODE_TYPE_YEAR: // Year strLabel = g_localizeStrings.Get(562); break; case NODE_TYPE_DIRECTOR: // Director strLabel = g_localizeStrings.Get(20348); break; case NODE_TYPE_SETS: // Sets strLabel = g_localizeStrings.Get(20434); break; case NODE_TYPE_MOVIES_OVERVIEW: // Movies strLabel = g_localizeStrings.Get(342); break; case NODE_TYPE_TVSHOWS_OVERVIEW: // TV Shows strLabel = g_localizeStrings.Get(20343); break; case NODE_TYPE_RECENTLY_ADDED_MOVIES: // Recently Added Movies strLabel = g_localizeStrings.Get(20386); break; case NODE_TYPE_RECENTLY_ADDED_EPISODES: // Recently Added Episodes strLabel = g_localizeStrings.Get(20387); break; case NODE_TYPE_STUDIO: // Studios strLabel = g_localizeStrings.Get(20388); break; case NODE_TYPE_MUSICVIDEOS_OVERVIEW: // Music Videos strLabel = g_localizeStrings.Get(20389); break; case NODE_TYPE_RECENTLY_ADDED_MUSICVIDEOS: // Recently Added Music Videos strLabel = g_localizeStrings.Get(20390); break; default: CLog::Log(LOGWARNING, "%s - Unknown nodetype requested %d", __FUNCTION__, pNode->GetChildType()); return false; } } return true; }