add:添加本地传输模式(主要处理不能操作同一个文件逻辑和变量替换逻辑)
This commit is contained in:
parent
f90b867f79
commit
1677765111
6
.vscode/settings.json
vendored
6
.vscode/settings.json
vendored
@ -20,9 +20,9 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"visualizerFile": "${workspaceRoot}/.vscode/qt5.natvis",
|
"visualizerFile": "${workspaceRoot}/.vscode/qt5.natvis",
|
||||||
// "args": [
|
"args": [
|
||||||
// "-n", "1"
|
"-u", "0"
|
||||||
// ]
|
]
|
||||||
},
|
},
|
||||||
"cmake.environment": {
|
"cmake.environment": {
|
||||||
"PATH": "${env:PATH};"
|
"PATH": "${env:PATH};"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.16)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
project(transm VERSION 1.3.1 LANGUAGES CXX)
|
project(transm VERSION 1.3.2 LANGUAGES CXX)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
@ -472,9 +472,10 @@ bool CClient::request_update_list(const std::string& param)
|
|||||||
}
|
}
|
||||||
|
|
||||||
const auto& sr = task_list_[index];
|
const auto& sr = task_list_[index];
|
||||||
|
bool local_trans = false;
|
||||||
if (sr->id == own_id_) {
|
if (sr->id == own_id_) {
|
||||||
TLOGW("You can't update your own file!!!");
|
TLOGW("local_trans path handle mode!!!");
|
||||||
return false;
|
local_trans = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 读取list文件
|
// 读取list文件
|
||||||
@ -513,13 +514,29 @@ bool CClient::request_update_list(const std::string& param)
|
|||||||
auto v = COfStr::split(hitem, "|");
|
auto v = COfStr::split(hitem, "|");
|
||||||
if (v.size() >= 2) {
|
if (v.size() >= 2) {
|
||||||
auto pr = variable_handle(list_file_full, v[0], true);
|
auto pr = variable_handle(list_file_full, v[0], true);
|
||||||
|
pr = COfPath::standardize(pr);
|
||||||
if (!fs::exists(pr)) {
|
if (!fs::exists(pr)) {
|
||||||
TLOGE("file {} not exist.", pr);
|
TLOGE("file {} not exist.", pr);
|
||||||
valid = false;
|
valid = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
TLOGI("--->check pass {}:{}", line, pr);
|
TLOGI("--->check pass {}:{}", line, pr);
|
||||||
mre[line++] = pr + "|" + v[1];
|
auto sec = v[1];
|
||||||
|
if (local_trans) {
|
||||||
|
sec = variable_handle(list_file_full, v[1], true);
|
||||||
|
sec = COfPath::standardize(sec);
|
||||||
|
if (!fs::is_directory(sec) || !fs::exists(sec)) {
|
||||||
|
TLOGE("not directory or {} not exist.", pr);
|
||||||
|
valid = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (COfPath::is_same_dir(pr, sec)) {
|
||||||
|
TLOGE("Local Trans Can't Transfer {} to {}", pr, sec);
|
||||||
|
valid = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mre[line++] = pr + "|" + sec;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
valid = false;
|
valid = false;
|
||||||
@ -527,7 +544,7 @@ bool CClient::request_update_list(const std::string& param)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
TLOGE("Judge List File {} Format Not Passed.", list_file_full);
|
TLOGE("Judge List File {} Format Or Logic Not Passed.", list_file_full);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
ofen
2
ofen
@ -1 +1 @@
|
|||||||
Subproject commit c9ab756852084c1d6f8e5fb90c2e8d6c441a08d3
|
Subproject commit a667080d96395792cd3c6066ef0ebe6c8b508bbe
|
Loading…
x
Reference in New Issue
Block a user