[libcalamaresui] Use refactored loadYaml

This commit is contained in:
Adriaan de Groot 2018-02-26 15:06:13 +01:00
parent 261c545476
commit e5ca8e091f

View File

@ -103,41 +103,18 @@ ModuleManager::doInit()
continue; continue;
} }
QFile descriptorFile( descriptorFileInfo.absoluteFilePath() ); bool ok = false;
QVariant moduleDescriptor; QVariantMap moduleDescriptorMap = CalamaresUtils::loadYaml( descriptorFileInfo, &ok );
if ( descriptorFile.exists() && descriptorFile.open( QFile::ReadOnly | QFile::Text ) ) QString moduleName = ok ? moduleDescriptorMap.value( "name" ).toString() : QString();
{
QByteArray ba = descriptorFile.readAll();
try
{
YAML::Node doc = YAML::Load( ba.constData() );
moduleDescriptor = CalamaresUtils::yamlToVariant( doc ); if ( ok && ( moduleName == currentDir.dirName() ) &&
} !m_availableDescriptorsByModuleName.contains( moduleName ) )
catch ( YAML::Exception& e )
{ {
cWarning() << "YAML parser error " << e.what(); m_availableDescriptorsByModuleName.insert( moduleName, moduleDescriptorMap );
continue; m_moduleDirectoriesByModuleName.insert( moduleName,
}
}
if ( moduleDescriptor.isValid() &&
!moduleDescriptor.isNull() &&
moduleDescriptor.type() == QVariant::Map )
{
QVariantMap moduleDescriptorMap = moduleDescriptor.toMap();
if ( moduleDescriptorMap.value( "name" ) == currentDir.dirName() &&
!m_availableDescriptorsByModuleName.contains( moduleDescriptorMap.value( "name" ).toString() ) )
{
m_availableDescriptorsByModuleName.insert( moduleDescriptorMap.value( "name" ).toString(),
moduleDescriptorMap );
m_moduleDirectoriesByModuleName.insert( moduleDescriptorMap.value( "name" ).toString(),
descriptorFileInfo.absoluteDir().absolutePath() ); descriptorFileInfo.absoluteDir().absolutePath() );
} }
} }
}
else else
{ {
cWarning() << "Cannot cd into module directory " cWarning() << "Cannot cd into module directory "