summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--server/modules/downloaders/curl/main.cpp19
-rw-r--r--server/modules/downloaders/curl/src/curl_download.cpp1
2 files changed, 18 insertions, 2 deletions
diff --git a/server/modules/downloaders/curl/main.cpp b/server/modules/downloaders/curl/main.cpp
index 667f4a3..46b6ee7 100644
--- a/server/modules/downloaders/curl/main.cpp
+++ b/server/modules/downloaders/curl/main.cpp
@@ -227,6 +227,23 @@ bool downloader::delete_download(int download_id, bool delete_data)
{
delete downloads[download_id];
downloads.erase(download_id);
+ //metadata cleanup
+ {
+ //TODO: handle errors
+ if(api->metadata_remove(this, compute_var_name(download_id, "name")))
+ {
+ if(api->metadata_remove(this, compute_var_name(download_id, "download_path")))
+ {
+ char param_name[16];
+ for(int i = 0;; i++)
+ {
+ snprintf(param_name, 15, "param_%d", i);
+ if(!api->metadata_remove(this, compute_var_name(download_id, param_name)))
+ break;
+ }
+ }
+ }
+ }
}
//TODO:
return true;
@@ -278,7 +295,7 @@ bool downloader::metadata_drop(int download_id, std::string var)
if(!var.empty())
{
downloads[download_id]->metadata.erase(var);
- api->metadata_remove(this, compute_var_name(download_id, var));
+ return api->metadata_remove(this, compute_var_name(download_id, var));
}
else
{
diff --git a/server/modules/downloaders/curl/src/curl_download.cpp b/server/modules/downloaders/curl/src/curl_download.cpp
index d80a6e4..17629e5 100644
--- a/server/modules/downloaders/curl/src/curl_download.cpp
+++ b/server/modules/downloaders/curl/src/curl_download.cpp
@@ -103,7 +103,6 @@ bool curl_download::delete_download()
{
cancel_transfer = true;
curl_easy_cleanup(easy_handle);
- //TODO: cleanup metadata
return true; //TODO:
}