Allow rescanning media folders
Co-Authored-By: codex <[email protected]>
This commit is contained in:
1 parent
0a026209aa
commit
8c0986161a
3 files changed
+62
-1
No files matched your search
+26
@@ -250,6 +250,32 @@ impl Client {
|
||||
Ok(resp.items)
|
||||
}
|
||||
|
||||
/// Ask Emby to rescan/refresh a library folder or media folder.
|
||||
pub async fn refresh_item(&self, item_id: &str) -> Result<()> {
|
||||
let url = format!("{}/Items/{item_id}/Refresh", self.server);
|
||||
let resp = self
|
||||
.http
|
||||
.post(&url)
|
||||
.headers(self.headers())
|
||||
.query(&[
|
||||
("Recursive", "true"),
|
||||
("ImageRefreshMode", "Default"),
|
||||
("MetadataRefreshMode", "Default"),
|
||||
("ReplaceAllImages", "false"),
|
||||
("ReplaceAllMetadata", "false"),
|
||||
])
|
||||
.send()
|
||||
.await
|
||||
.with_context(|| format!("POST {url}"))?;
|
||||
|
||||
let status = resp.status();
|
||||
if !status.is_success() {
|
||||
let body = resp.text().await.unwrap_or_default();
|
||||
return Err(anyhow!("refresh failed: HTTP {status}: {body}"));
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn stream_url(&self, item_id: &str) -> String {
|
||||
format!(
|
||||
"{}/Videos/{}/stream?Static=true&api_key={}&DeviceId={}",
|
||||
|
||||
Reference in new issue
Block a user