aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/DownloadUtils.hpp3
-rw-r--r--include/Path.hpp7
2 files changed, 9 insertions, 1 deletions
diff --git a/include/DownloadUtils.hpp b/include/DownloadUtils.hpp
index 3eff519..6d96cd6 100644
--- a/include/DownloadUtils.hpp
+++ b/include/DownloadUtils.hpp
@@ -1,5 +1,6 @@
#pragma once
+#include "Path.hpp"
#include <string>
#include <vector>
#include <functional>
@@ -21,7 +22,7 @@ namespace QuickMedia {
using DownloadErrorHandler = std::function<bool(std::string&)>;
DownloadResult download_to_string(const std::string &url, std::string &result, const std::vector<CommandArg> &additional_args, bool use_tor, bool use_browser_useragent = false, bool fail_on_error = true);
- DownloadResult download_to_string_cache(const std::string &url, std::string &result, const std::vector<CommandArg> &additional_args, bool use_tor, bool use_browser_useragent = false, DownloadErrorHandler error_handler = nullptr);
+ DownloadResult download_to_string_cache(const std::string &url, std::string &result, const std::vector<CommandArg> &additional_args, bool use_tor, bool use_browser_useragent = false, DownloadErrorHandler error_handler = nullptr, Path cache_path = "");
DownloadResult download_to_file(const std::string &url, const std::string &destination_filepath, const std::vector<CommandArg> &additional_args, bool use_tor, bool use_browser_useragent = false);
DownloadResult download_to_json(const std::string &url, rapidjson::Document &result, const std::vector<CommandArg> &additional_args, bool use_tor, bool use_browser_useragent = false, bool fail_on_error = true);
} \ No newline at end of file
diff --git a/include/Path.hpp b/include/Path.hpp
index 46c8dee..19c8eb9 100644
--- a/include/Path.hpp
+++ b/include/Path.hpp
@@ -37,6 +37,13 @@ namespace QuickMedia {
return "";
}
+ Path parent() {
+ size_t slash_index = data.rfind('/');
+ if(slash_index != std::string::npos || slash_index == 0)
+ return Path(data.substr(0, slash_index));
+ return Path("/");
+ }
+
std::string data;
};
} \ No newline at end of file