removeModelFromLists static method
Removes a specific model from the lists
Implementation
static Future<void> removeModelFromLists(ModelSpec spec) async {
try {
final prefs = await _prefs;
for (final file in spec.files) {
switch (file.prefsKey) {
case 'installed_model_file_name':
final models = prefs.getStringList('installed_models') ?? <String>[];
models.remove(file.filename);
await prefs.setStringList('installed_models', models);
break;
case 'installed_lora_file_name':
final loras = prefs.getStringList('installed_loras') ?? <String>[];
loras.remove(file.filename);
await prefs.setStringList('installed_loras', loras);
break;
case 'embedding_model_file':
final models = prefs.getStringList('installed_embedding_models') ?? <String>[];
models.remove(file.filename);
await prefs.setStringList('installed_embedding_models', models);
break;
case 'embedding_tokenizer_file':
final tokenizers = prefs.getStringList('installed_tokenizers') ?? <String>[];
tokenizers.remove(file.filename);
await prefs.setStringList('installed_tokenizers', tokenizers);
break;
}
}
debugPrint('Removed model from lists: ${spec.name}');
} catch (e) {
debugPrint('Failed to remove model from lists: $e');
}
}