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", | ||||
|         // "args": [ | ||||
|         //     "-n", "1" | ||||
|         // ] | ||||
|         "args": [ | ||||
|             "-u", "0" | ||||
|         ] | ||||
|     }, | ||||
|     "cmake.environment": { | ||||
|         "PATH": "${env:PATH};" | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| 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_REQUIRED ON) | ||||
| 
 | ||||
|  | ||||
| @ -472,9 +472,10 @@ bool CClient::request_update_list(const std::string& param) | ||||
|     } | ||||
| 
 | ||||
|     const auto& sr = task_list_[index]; | ||||
|     bool local_trans = false; | ||||
|     if (sr->id == own_id_) { | ||||
|         TLOGW("You can't update your own file!!!"); | ||||
|         return false; | ||||
|         TLOGW("local_trans path handle mode!!!"); | ||||
|         local_trans = true; | ||||
|     } | ||||
| 
 | ||||
|     // 读取list文件
 | ||||
| @ -513,13 +514,29 @@ bool CClient::request_update_list(const std::string& param) | ||||
|         auto v = COfStr::split(hitem, "|"); | ||||
|         if (v.size() >= 2) { | ||||
|             auto pr = variable_handle(list_file_full, v[0], true); | ||||
|             pr = COfPath::standardize(pr); | ||||
|             if (!fs::exists(pr)) { | ||||
|                 TLOGE("file {} not exist.", pr); | ||||
|                 valid = false; | ||||
|                 break; | ||||
|             } | ||||
|             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; | ||||
|         } | ||||
|         valid = false; | ||||
| @ -527,7 +544,7 @@ bool CClient::request_update_list(const std::string& param) | ||||
|     } | ||||
| 
 | ||||
|     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; | ||||
|     } | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										2
									
								
								ofen
									
									
									
									
									
								
							
							
								
								
								
								
								
								
									
									
								
							
						
						
									
										2
									
								
								ofen
									
									
									
									
									
								
							| @ -1 +1 @@ | ||||
| Subproject commit c9ab756852084c1d6f8e5fb90c2e8d6c441a08d3 | ||||
| Subproject commit a667080d96395792cd3c6066ef0ebe6c8b508bbe | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user