Fix some of the comments on r1148
This commit is contained in:
parent
a27b6d3561
commit
2c3e9276aa
@ -65,10 +65,10 @@ SongLoader::Result SongLoader::LoadLocal() {
|
|||||||
return Error;
|
return Error;
|
||||||
QByteArray data(file.read(PlaylistParser::kMagicSize));
|
QByteArray data(file.read(PlaylistParser::kMagicSize));
|
||||||
|
|
||||||
ParserBase* parser = playlist_parser_->TryMagic(data);
|
ParserBase* parser = playlist_parser_->MaybeGetParserForMagic(data);
|
||||||
if (parser) {
|
if (parser) {
|
||||||
// It's a playlist!
|
// It's a playlist!
|
||||||
file.seek(0);
|
file.reset();
|
||||||
songs_ = parser->Load(&file, QFileInfo(filename).path());
|
songs_ = parser->Load(&file, QFileInfo(filename).path());
|
||||||
} else {
|
} else {
|
||||||
// Not a playlist, so just assume it's a song
|
// Not a playlist, so just assume it's a song
|
||||||
@ -252,7 +252,7 @@ void SongLoader::EndOfStreamReached() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void SongLoader::MagicReady() {
|
void SongLoader::MagicReady() {
|
||||||
parser_ = playlist_parser_->TryMagic(buffer_);
|
parser_ = playlist_parser_->MaybeGetParserForMagic(buffer_);
|
||||||
|
|
||||||
if (!parser_) {
|
if (!parser_) {
|
||||||
// It doesn't look like a playlist, so just finish
|
// It doesn't look like a playlist, so just finish
|
||||||
|
@ -70,7 +70,7 @@ ParserBase* PlaylistParser::ParserForExtension(const QString& suffix) const {
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ParserBase* PlaylistParser::ParserForData(const QByteArray &data) const {
|
ParserBase* PlaylistParser::MaybeGetParserForMagic(const QByteArray &data) const {
|
||||||
foreach (ParserBase* p, parsers_) {
|
foreach (ParserBase* p, parsers_) {
|
||||||
if (p->TryMagic(data))
|
if (p->TryMagic(data))
|
||||||
return p;
|
return p;
|
||||||
@ -78,10 +78,6 @@ ParserBase* PlaylistParser::ParserForData(const QByteArray &data) const {
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ParserBase* PlaylistParser::TryMagic(const QByteArray &data) const {
|
|
||||||
return ParserForData(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
SongList PlaylistParser::Load(const QString &filename, ParserBase* p) const {
|
SongList PlaylistParser::Load(const QString &filename, ParserBase* p) const {
|
||||||
QFileInfo info(filename);
|
QFileInfo info(filename);
|
||||||
|
|
||||||
|
@ -34,14 +34,13 @@ public:
|
|||||||
QStringList file_extensions() const;
|
QStringList file_extensions() const;
|
||||||
QString filters() const;
|
QString filters() const;
|
||||||
|
|
||||||
ParserBase* TryMagic(const QByteArray& data) const;
|
ParserBase* MaybeGetParserForMagic(const QByteArray& data) const;
|
||||||
|
|
||||||
SongList Load(const QString& filename, ParserBase* parser = 0) const;
|
SongList Load(const QString& filename, ParserBase* parser = 0) const;
|
||||||
void Save(const SongList& songs, const QString& filename) const;
|
void Save(const SongList& songs, const QString& filename) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ParserBase* ParserForExtension(const QString& suffix) const;
|
ParserBase* ParserForExtension(const QString& suffix) const;
|
||||||
ParserBase* ParserForData(const QByteArray& data) const;
|
|
||||||
|
|
||||||
QList<ParserBase*> parsers_;
|
QList<ParserBase*> parsers_;
|
||||||
};
|
};
|
||||||
|
@ -91,7 +91,7 @@ void PLSParser::Save(const SongList &songs, QIODevice *device, const QDir &dir)
|
|||||||
|
|
||||||
s.sync();
|
s.sync();
|
||||||
|
|
||||||
temp_file.seek(0);
|
temp_file.reset();
|
||||||
device->write(temp_file.readAll());
|
device->write(temp_file.readAll());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,6 +139,5 @@ void XSPFParser::Save(const SongList &songs, QIODevice *device, const QDir &dir)
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool XSPFParser::TryMagic(const QByteArray &data) const {
|
bool XSPFParser::TryMagic(const QByteArray &data) const {
|
||||||
QByteArray lower(data.toLower());
|
return data.contains("<playlist") && data.contains("<trackList");
|
||||||
return lower.contains("<playlist") && lower.contains("<tracklist");
|
|
||||||
}
|
}
|
||||||
|
@ -109,7 +109,7 @@ TEST_F(SongLoaderTest, LoadRemoteMp3) {
|
|||||||
QEventLoop loop;
|
QEventLoop loop;
|
||||||
QObject::connect(loader_.get(), SIGNAL(LoadFinished(bool)),
|
QObject::connect(loader_.get(), SIGNAL(LoadFinished(bool)),
|
||||||
&loop, SLOT(quit()));
|
&loop, SLOT(quit()));
|
||||||
loop.exec();
|
loop.exec(QEventLoop::ExcludeUserInputEvents);
|
||||||
|
|
||||||
// Check the signal was emitted with Success
|
// Check the signal was emitted with Success
|
||||||
ASSERT_EQ(1, spy.count());
|
ASSERT_EQ(1, spy.count());
|
||||||
@ -129,7 +129,7 @@ TEST_F(SongLoaderTest, LoadRemote404) {
|
|||||||
QEventLoop loop;
|
QEventLoop loop;
|
||||||
QObject::connect(loader_.get(), SIGNAL(LoadFinished(bool)),
|
QObject::connect(loader_.get(), SIGNAL(LoadFinished(bool)),
|
||||||
&loop, SLOT(quit()));
|
&loop, SLOT(quit()));
|
||||||
loop.exec();
|
loop.exec(QEventLoop::ExcludeUserInputEvents);
|
||||||
|
|
||||||
// Check the signal was emitted with Error
|
// Check the signal was emitted with Error
|
||||||
ASSERT_EQ(1, spy.count());
|
ASSERT_EQ(1, spy.count());
|
||||||
@ -146,7 +146,7 @@ TEST_F(SongLoaderTest, LoadRemotePls) {
|
|||||||
QEventLoop loop;
|
QEventLoop loop;
|
||||||
QObject::connect(loader_.get(), SIGNAL(LoadFinished(bool)),
|
QObject::connect(loader_.get(), SIGNAL(LoadFinished(bool)),
|
||||||
&loop, SLOT(quit()));
|
&loop, SLOT(quit()));
|
||||||
loop.exec();
|
loop.exec(QEventLoop::ExcludeUserInputEvents);
|
||||||
|
|
||||||
// Check the signal was emitted with Success
|
// Check the signal was emitted with Success
|
||||||
ASSERT_EQ(1, spy.count());
|
ASSERT_EQ(1, spy.count());
|
||||||
@ -169,7 +169,7 @@ TEST_F(SongLoaderTest, LoadRemotePlainText) {
|
|||||||
QEventLoop loop;
|
QEventLoop loop;
|
||||||
QObject::connect(loader_.get(), SIGNAL(LoadFinished(bool)),
|
QObject::connect(loader_.get(), SIGNAL(LoadFinished(bool)),
|
||||||
&loop, SLOT(quit()));
|
&loop, SLOT(quit()));
|
||||||
loop.exec();
|
loop.exec(QEventLoop::ExcludeUserInputEvents);
|
||||||
|
|
||||||
// Check the signal was emitted with Error
|
// Check the signal was emitted with Error
|
||||||
ASSERT_EQ(1, spy.count());
|
ASSERT_EQ(1, spy.count());
|
||||||
|
@ -58,5 +58,5 @@ TemporaryResource::TemporaryResource(const QString& filename) {
|
|||||||
resource.open(QIODevice::ReadOnly);
|
resource.open(QIODevice::ReadOnly);
|
||||||
write(resource.readAll());
|
write(resource.readAll());
|
||||||
|
|
||||||
seek(0);
|
reset();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user