本文整理汇总了C++中MetadataLookup::GetDownloads方法的典型用法代码示例。如果您正苦于以下问题:C++ MetadataLookup::GetDownloads方法的具体用法?C++ MetadataLookup::GetDownloads怎么用?C++ MetadataLookup::GetDownloads使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MetadataLookup
的用法示例。
在下文中一共展示了MetadataLookup::GetDownloads方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: customEvent
//.........这里部分代码省略.........
ProgramInfo *pginfo = list[0]->GetData().value<ProgramInfo *>();
if (pginfo)
{
m_busyRecList.removeAll(pginfo);
}
}
}
else if (levent->type() == MetadataFactorySingleResult::kEventType)
{
MetadataFactorySingleResult *mfsr =
dynamic_cast<MetadataFactorySingleResult*>(levent);
if (!mfsr)
return;
MetadataLookup *lookup = mfsr->result;
if (!lookup)
return;
ProgramInfo *pginfo = lookup->GetData().value<ProgramInfo *>();
// This null check could hang us as this pginfo would then never be
// removed
if (!pginfo)
return;
LOG(VB_GENERAL, LOG_DEBUG, "I found the following data:");
LOG(VB_GENERAL, LOG_DEBUG,
QString(" Input Title: %1").arg(pginfo->GetTitle()));
LOG(VB_GENERAL, LOG_DEBUG,
QString(" Input Sub: %1").arg(pginfo->GetSubtitle()));
LOG(VB_GENERAL, LOG_DEBUG,
QString(" Title: %1").arg(lookup->GetTitle()));
LOG(VB_GENERAL, LOG_DEBUG,
QString(" Subtitle: %1").arg(lookup->GetSubtitle()));
LOG(VB_GENERAL, LOG_DEBUG,
QString(" Season: %1").arg(lookup->GetSeason()));
LOG(VB_GENERAL, LOG_DEBUG,
QString(" Episode: %1").arg(lookup->GetEpisode()));
LOG(VB_GENERAL, LOG_DEBUG,
QString(" Inetref: %1").arg(lookup->GetInetref()));
LOG(VB_GENERAL, LOG_DEBUG,
QString(" User Rating: %1").arg(lookup->GetUserRating()));
if (lookup->GetSubtype() != kProbableGenericTelevision)
pginfo->SaveSeasonEpisode(lookup->GetSeason(), lookup->GetEpisode());
pginfo->SaveInetRef(lookup->GetInetref());
if (m_updaterules)
{
RecordingRule *rule = new RecordingRule();
if (rule)
{
rule->LoadByProgram(pginfo);
if (rule->m_inetref.isEmpty() &&
(rule->m_searchType == kNoSearch))
{
rule->m_inetref = lookup->GetInetref();
}
rule->m_season = lookup->GetSeason();
rule->m_episode = lookup->GetEpisode();
rule->Save();
delete rule;
}
}
if (m_updateartwork)
{
ArtworkMap map = lookup->GetDownloads();
SetArtwork(lookup->GetInetref(),
lookup->GetIsCollection() ? 0 : lookup->GetSeason(),
gCoreContext->GetMasterHostName(), map);
}
m_busyRecList.removeAll(pginfo);
}
else if (levent->type() == MetadataFactoryNoResult::kEventType)
{
MetadataFactoryNoResult *mfnr = dynamic_cast<MetadataFactoryNoResult*>(levent);
if (!mfnr)
return;
MetadataLookup *lookup = mfnr->result;
if (!lookup)
return;
ProgramInfo *pginfo = lookup->GetData().value<ProgramInfo *>();
// This null check could hang us as this pginfo would then never be removed
if (!pginfo)
return;
m_busyRecList.removeAll(pginfo);
}
}
示例2: run
void MetadataImageDownload::run()
{
RunProlog();
// Always handle thumbnails first, they're higher priority.
ThumbnailData *thumb;
while ((thumb = moreThumbs()) != NULL)
{
QString sFilename = getDownloadFilename(thumb->title, thumb->url);
bool exists = QFile::exists(sFilename);
if (!exists && !thumb->url.isEmpty())
{
if (!GetMythDownloadManager()->download(thumb->url, sFilename))
{
LOG(VB_GENERAL, LOG_ERR,
QString("MetadataImageDownload: failed to download thumbnail from: %1")
.arg(thumb->url));
delete thumb;
continue;
}
}
// inform parent we have thumbnail ready for it
if (QFile::exists(sFilename) && m_parent)
{
LOG(VB_GENERAL, LOG_DEBUG,
QString("Threaded Image Thumbnail Download: %1")
.arg(sFilename));
thumb->url = sFilename;
QCoreApplication::postEvent(m_parent,
new ThumbnailDLEvent(thumb));
}
else
delete thumb;
}
MetadataLookup *lookup;
while ((lookup = moreDownloads()) != NULL)
{
DownloadMap downloads = lookup->GetDownloads();
DownloadMap downloaded;
for (DownloadMap::iterator i = downloads.begin();
i != downloads.end(); ++i)
{
VideoArtworkType type = i.key();
ArtworkInfo info = i.value();
QString filename = getDownloadFilename( type, lookup,
info.url );
if (lookup->GetHost().isEmpty())
{
QString path = getLocalWritePath(lookup->GetType(), type);
QDir dirPath(path);
if (!dirPath.exists())
if (!dirPath.mkpath(path))
{
LOG(VB_GENERAL, LOG_ERR,
QString("Metadata Image Download: Unable to create "
"path %1, aborting download.").arg(path));
QCoreApplication::postEvent(m_parent,
new ImageDLFailureEvent(lookup));
continue;
}
QString finalfile = path + "/" + filename;
QString oldurl = info.url;
info.url = finalfile;
if (!QFile::exists(finalfile) || lookup->GetAllowOverwrites())
{
QFile dest_file(finalfile);
if (dest_file.exists())
{
QFileInfo fi(finalfile);
GetMythUI()->RemoveFromCacheByFile(fi.fileName());
dest_file.remove();
}
LOG(VB_GENERAL, LOG_INFO,
QString("Metadata Image Download: %1 ->%2")
.arg(oldurl).arg(finalfile));
QByteArray *download = new QByteArray();
GetMythDownloadManager()->download(oldurl, download);
QImage testImage;
bool didLoad = testImage.loadFromData(*download);
if (!didLoad)
{
LOG(VB_GENERAL, LOG_ERR,
QString("Tried to write %1, but it appears to be "
"an HTML redirect (filesize %2).")
.arg(oldurl).arg(download->size()));
delete download;
download = NULL;
QCoreApplication::postEvent(m_parent,
new ImageDLFailureEvent(lookup));
continue;
}
if (dest_file.open(QIODevice::WriteOnly))
//.........这里部分代码省略.........
示例3: run
void MetadataImageDownload::run()
{
// Always handle thumbnails first, they're higher priority.
ThumbnailData *thumb;
while ((thumb = moreThumbs()) != NULL)
{
QString sFilename = getDownloadFilename(thumb->title, thumb->url);
bool exists = QFile::exists(sFilename);
if (!exists && !thumb->url.isEmpty())
GetMythDownloadManager()->download(thumb->url, sFilename);
// inform parent we have thumbnail ready for it
if (QFile::exists(sFilename) && m_parent)
{
VERBOSE(VB_GENERAL|VB_EXTRA,
QString("Threaded Image Thumbnail Download: %1")
.arg(sFilename));
thumb->url = sFilename;
QCoreApplication::postEvent(m_parent,
new ThumbnailDLEvent(thumb));
}
else
delete thumb;
}
MetadataLookup *lookup;
while ((lookup = moreDownloads()) != NULL)
{
DownloadMap downloads = lookup->GetDownloads();
DownloadMap downloaded;
for (DownloadMap::iterator i = downloads.begin();
i != downloads.end(); ++i)
{
ArtworkType type = i.key();
ArtworkInfo info = i.value();
QString filename = getDownloadFilename( type, lookup,
info.url );
if (lookup->GetHost().isEmpty())
{
QString path = getLocalWritePath(lookup->GetType(), type);
QDir dirPath(path);
if (!dirPath.exists())
if (!dirPath.mkpath(path))
{
VERBOSE(VB_GENERAL,
QString("Metadata Image Download: Unable to create "
"path %1, aborting download.").arg(path));
continue;
}
QString finalfile = path + "/" + filename;
QString oldurl = info.url;
info.url = finalfile;
if (!QFile::exists(finalfile) || lookup->GetAllowOverwrites())
{
QFile dest_file(finalfile);
if (dest_file.exists())
{
QFileInfo fi(finalfile);
GetMythUI()->RemoveFromCacheByFile(fi.fileName());
dest_file.remove();
}
VERBOSE(VB_GENERAL,
QString("Metadata Image Download: %1 ->%2")
.arg(oldurl).arg(finalfile));
QByteArray *download = new QByteArray();
GetMythDownloadManager()->download(oldurl, download);
QImage testImage;
bool didLoad = testImage.loadFromData(*download);
if (!didLoad)
{
VERBOSE(VB_IMPORTANT,QString("Tried to write %1, "
"but it appears to be an HTML redirect "
"(filesize %2).")
.arg(oldurl).arg(download->size()));
delete download;
download = NULL;
continue;
}
if (dest_file.open(QIODevice::WriteOnly))
{
off_t size = dest_file.write(*download, download->size());
if (size != download->size())
{
VERBOSE(VB_IMPORTANT,
QString("Image Download: Error Writing Image "
"to file: %1").arg(finalfile));
}
else
downloaded.insert(type, info);
}
delete download;
}
else
downloaded.insert(type, info);
//.........这里部分代码省略.........