From: Piotr Kosko/Native/Web API (PLT) /SRPOL/Engineer/Samsung Electronics Date: Wed, 20 Jan 2021 13:29:50 +0000 (+0100) Subject: [Common] Moved convertUriToPath to common::tools X-Git-Tag: submit/tizen/20210128.113801~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F00%2F251900%2F3;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Common] Moved convertUriToPath to common::tools convertingUriToPath is used in few modules and usage of one version of this function will be beneficial. [Verification] TCT exif, package, metadata 100% pass. Change-Id: Ifbca0fa3a83de0757faa30b214e4b298c4678789 --- diff --git a/src/common/tools.cc b/src/common/tools.cc index 6e79ee6e..2d871227 100644 --- a/src/common/tools.cc +++ b/src/common/tools.cc @@ -596,5 +596,26 @@ std::string ConvertToLowerCase(const std::string& input_string) { return output_string; } +std::string ltrim(const std::string& s) { + ScopeLogger(); + std::string str = s; + auto pos = str.find_first_not_of(" "); + str.erase(0, pos); + return str; +} + +std::string ConvertUriToPath(const std::string& str) { + const std::string URI_PREFIX = "file://"; + ScopeLogger(); + std::string path = ltrim(str); + std::string prefix = path.substr(0, URI_PREFIX.size()); + + if (prefix == URI_PREFIX) { + return path.substr(URI_PREFIX.size()); + } else { + return path; + } +} + } // namespace tools } // namespace common diff --git a/src/common/tools.h b/src/common/tools.h index 17e1e98e..84df7276 100644 --- a/src/common/tools.h +++ b/src/common/tools.h @@ -121,6 +121,8 @@ void PrintDeprecationWarningFor(const char* className, const char* replacement = std::string ConvertToLowerCase(const std::string& input_string); +std::string ConvertUriToPath(const std::string& uri); + } // namespace tools } // namespace common diff --git a/src/exif/exif_instance.cc b/src/exif/exif_instance.cc index b0cf17cd..6bae127c 100644 --- a/src/exif/exif_instance.cc +++ b/src/exif/exif_instance.cc @@ -63,7 +63,7 @@ void ExifInstance::ExifManagerGetExifInfo(const picojson::value& args, picojson: ScopeLogger(); const std::string& uri = args.get("uri").get(); - const std::string& file_path = ExifUtil::convertUriToPath(uri); + const std::string& file_path = common::tools::ConvertUriToPath(uri); const double callback_id = args.get("callbackId").get(); const std::string& real_path = common::FilesystemProvider::Create().GetRealPath(file_path); @@ -108,7 +108,7 @@ void ExifInstance::ExifManagerSaveExifInfo(const picojson::value& args, picojson const double callback_id = args.get("callbackId").get(); const std::string& file_uri = args.get("uri").get(); - const std::string& file_path = ExifUtil::convertUriToPath(file_uri); + const std::string& file_path = common::tools::ConvertUriToPath(file_uri); const std::string& real_path = common::FilesystemProvider::Create().GetRealPath(file_path); CHECK_STORAGE_ACCESS(real_path, &out); @@ -143,7 +143,7 @@ void ExifInstance::ExifManagerGetThumbnail(const picojson::value& args, picojson ScopeLogger(); const std::string& uri = args.get("uri").get(); - const std::string& file_path = ExifUtil::ExifUtil::convertUriToPath(uri); + const std::string& file_path = common::tools::ConvertUriToPath(uri); const std::string& real_path = common::FilesystemProvider::Create().GetRealPath(file_path); CHECK_STORAGE_ACCESS(real_path, &out); diff --git a/src/exif/exif_util.cc b/src/exif/exif_util.cc index ebf2c0a4..2737c1fd 100644 --- a/src/exif/exif_util.cc +++ b/src/exif/exif_util.cc @@ -49,8 +49,6 @@ const std::string EXPOSURE_PROGRAM_PORTRAIT_MODE = "PORTRAIT_MODE"; const std::string EXPOSURE_PROGRAM_LANDSCAPE_MODE = "LANDSCAPE_MODE"; const std::string DUMMY = ""; // For unexpected input handling - -const std::string URI_PREFIX = "file://"; } // namespace const std::size_t ExifTypeInfo::ByteSize = 1; @@ -213,39 +211,6 @@ const std::string& ExifUtil::exposureProgramToString(ExposureProgram value) { } } -// Example: -// in: uri = file://TZ_USER_IMAGES/exif.jpg -// out: path = TZ_USER_IMAGES/exif.jpg -std::string ExifUtil::convertUriToPath(const std::string& str) { - ScopeLogger(); - std::string path = ltrim(str); - std::string prefix = path.substr(0, URI_PREFIX.size()); - - if (prefix == URI_PREFIX) { - return path.substr(URI_PREFIX.size()); - } else { - return path; - } -} - -std::string ExifUtil::ltrim(const std::string& s) { - ScopeLogger(); - std::string str = s; - std::string::iterator i; - for (i = str.begin(); i != str.end(); ++i) { - if (!isspace(*i)) { - break; - } - } - - if (i == str.end()) { - str.clear(); - } else { - str.erase(str.begin(), i); - } - return str; -} - time_t ExifUtil::exifDateTimeOriginalToTimeT(const char* string) { ScopeLogger(); int year, month, day, hour, min, sec; diff --git a/src/exif/exif_util.h b/src/exif/exif_util.h index 1dab85ac..e816f29e 100644 --- a/src/exif/exif_util.h +++ b/src/exif/exif_util.h @@ -114,9 +114,6 @@ class ExifUtil { static ExposureProgram stringToExposureProgram(const std::string& exposure_program); static const std::string& exposureProgramToString(ExposureProgram value); - static std::string convertUriToPath(const std::string& str); - static std::string ltrim(const std::string& s); - static time_t exifDateTimeOriginalToTimeT(const char* string); static std::string timeTToExifDateTimeOriginal(time_t time); static const Rationals timeTToExifGpsTimeStamp(time_t time); diff --git a/src/exif/get_exif_info.cc b/src/exif/get_exif_info.cc index 4cd21c48..34e1cf81 100644 --- a/src/exif/get_exif_info.cc +++ b/src/exif/get_exif_info.cc @@ -23,6 +23,7 @@ #include "common/logger.h" #include "common/platform_result.h" +#include "common/tools.h" #include "exif/exif_util.h" @@ -468,7 +469,7 @@ void GetExifInfo::DataForeachFunction(ExifContent* content, void* user_data) { PlatformResult GetExifInfo::LoadFromURI(const std::string& uri, JsonValue* result) { ScopeLogger(); - const std::string& file_path = ExifUtil::convertUriToPath(uri); + const std::string& file_path = common::tools::ConvertUriToPath(uri); ExifData* ed = exif_data_new_from_file(file_path.c_str()); if (!ed) { return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Error reading exif from file", diff --git a/src/metadata/metadata_file_handle.cc b/src/metadata/metadata_file_handle.cc index 2dfe0020..71a01edb 100644 --- a/src/metadata/metadata_file_handle.cc +++ b/src/metadata/metadata_file_handle.cc @@ -22,6 +22,7 @@ #include "common/platform_enum.h" #include "common/platform_exception.h" #include "common/scope_exit.h" +#include "common/tools.h" namespace extension { namespace metadata { @@ -81,33 +82,8 @@ PlatformResult convertErrorCode(int err) { } } -std::string ltrim(const std::string& s) { - ScopeLogger(); - std::string str = s; - std::string::iterator i; - for (i = str.begin(); i != str.end(); ++i) { - if (!isspace(*i)) { - break; - } - } - str.erase(str.begin(), i); - return str; -} - -std::string convertUriToPath(const std::string& str) { - const std::string URI_PREFIX = "file://"; - ScopeLogger(); - std::string path = ltrim(str); - std::string prefix = path.substr(0, URI_PREFIX.size()); - - if (prefix == URI_PREFIX) { - return path.substr(URI_PREFIX.size()); - } else { - return path; - } -} - -MetadataFileHandle::MetadataFileHandle(int id) : handle_(nullptr), id_(id), width_(0), height_(0), lyrics_num_(0) { +MetadataFileHandle::MetadataFileHandle(int id) + : handle_(nullptr), id_(id), width_(0), height_(0), lyrics_num_(0) { ScopeLogger(); } @@ -145,7 +121,7 @@ MetadataFileHandle::~MetadataFileHandle() { PlatformResult MetadataFileHandle::Initialize(const std::string& uri) { ScopeLogger(); - auto path = convertUriToPath(uri); + auto path = common::tools::ConvertUriToPath(uri); int result = metadata_extractor_create(&handle_); if (METADATA_EXTRACTOR_ERROR_NONE != result) { diff --git a/src/metadata/metadata_instance.cc b/src/metadata/metadata_instance.cc index 36d6fdfb..e06dca57 100644 --- a/src/metadata/metadata_instance.cc +++ b/src/metadata/metadata_instance.cc @@ -155,7 +155,7 @@ void MetadataInstance::MetadataFileHandleGetArtwork(const picojson::value& args, } void MetadataInstance::MetadataFileHandleGetThumbnailFrame(const picojson::value& args, - picojson::object& out) { + picojson::object& out) { ScopeLogger(); const std::string& uri = args.get("uri").get(); const int id = static_cast(args.get("id").get()); diff --git a/src/package/package_instance.cc b/src/package/package_instance.cc index c1779c6a..0613621a 100644 --- a/src/package/package_instance.cc +++ b/src/package/package_instance.cc @@ -184,39 +184,6 @@ static void PackageListenerCb(const char* type, const char* package, } } -static std::string ltrim(const std::string& s) { - ScopeLogger(); - std::string str = s; - std::string::iterator i; - for (i = str.begin(); i != str.end(); ++i) { - if (!isspace(*i)) { - break; - } - } - if (i == str.end()) { - str.clear(); - } else { - str.erase(str.begin(), i); - } - return str; -} - -static std::string convertUriToPath(const std::string& uri) { - ScopeLogger(); - std::string result; - std::string schema("file://"); - std::string str = ltrim(uri); - - std::string _schema = str.substr(0, schema.size()); - if (_schema == schema) { - result = str.substr(schema.size()); - } else { - result = str; - } - - return result; -} - PackageInstance::PackageInstance() { ScopeLogger(); @@ -303,7 +270,7 @@ void PackageInstance::PackageManagerInstall(const picojson::value& args, picojso int callback_id = static_cast(args.get("callbackId").get()); const std::string& packageFileURI = - convertUriToPath(args.get("packageFileURI").get()); + common::tools::ConvertUriToPath(args.get("packageFileURI").get()); int progress_callback_id = static_cast(args.get("progressCallbackId").get()); const std::string real_path = common::FilesystemProvider::Create().GetRealPath(packageFileURI);