Playlist rc6
Should correct all points raised in RC5
Merge request reports
Activity
Filter activity
added 10 commits
- 1a04534f - Task: Allow parser to give optional Playlist context to a task
- b189d439 - VLCMetadata: Check if file already preparsed by libVLC playlist importer
- ac057940 - Prober: Add interface to abstract different discoverer behavior
- 4d37f40b - FsDiscoverer: Use new Probe decisions
- 92892b4a - MetadataParser: Import playlist files
- 46036bf3 - Folder: Add a table containing root points to ignore
- 9761e98e - MetadataParser: Exclude created entry folder from refresh list
- 6aec547b - Paylist: Add a table associating folders and playlists
- c519cbc9 - MediaLibrary: Add info log when a folder is being deleted
- 3bee0da5 - FsDiscoverer: Add playlist deletion case
Toggle commit listadded 9 commits
- 5a931a70 - Task: Allow parser to give optional Playlist context to a task
- a0498a8d - Prober: Add interface to abstract different discoverer behavior
- c6cb521f - FsDiscoverer: Use new Probe decisions
- 3f28c7d8 - MetadataParser: Import playlist files
- 32b94eb0 - Folder: Add a table containing root points to ignore
- f2e58cb6 - MetadataParser: Exclude created entry folder from refresh list
- d48cf39c - Paylist: Add a table associating folders and playlists
- eca58de9 - MediaLibrary: Add info log when a folder is being deleted
- 441b2ad2 - FsDiscoverer: Add playlist deletion case
Toggle commit list85 103 { 86 LOG_ERROR( "Failed to add media ", task.mrl, " to the media library" ); 87 return parser::Task::Status::Fatal; 104 auto t = m_ml->getConn()->newTransaction(); 105 LOG_INFO( "Adding ", task.mrl ); 106 task.media = Media::create( m_ml, IMedia::Type::Unknown, utils::file::fileName( task.mrl ) ); 107 if ( task.media == nullptr ) 108 { 109 LOG_ERROR( "Failed to add media ", task.mrl, " to the media library" ); 110 return parser::Task::Status::Fatal; 111 } 112 // For now, assume all media are made of a single file 113 task.file = task.media->addFile( *task.fileFs, task.parentFolder->id(), 114 task.parentFolderFs->device()->isRemovable(), 115 File::Type::Main ); 116 t->commit(); 288 t2->commit(); 289 return; 290 } 291 bool isDirectory; 292 try 293 { 294 isDirectory = utils::fs::isDirectory( utils::file::toLocalPath( mrl ) ); 295 } 296 catch ( std::system_error& ex ) 297 { 298 LOG_ERROR( ex.what() ); 299 return; 300 } 301 LOG_INFO( "Importing ", isDirectory ? "folder " : "file ", mrl, " in the playlist ", task.mrl ); 302 auto directoryMrl = utils::file::directory( mrl ); 303 auto parentFolder = Folder::fromMrl( m_ml, directoryMrl ); 123 130 return self; 124 131 } 125 132 133 void Folder::excludeEntryFolder( MediaLibraryPtr ml, int64_t folderId ) 134 { 135 std::string req = "INSERT INTO ExcludedEntryFolder(folder_id) VALUES(?)"; 136 sqlite::Tools::executeRequest( ml->getConn(), req, sqlite::ForeignKey( folderId ) );