Custom update url for each shop.
This commit is contained in:
+61
-19
@@ -27,21 +27,29 @@ fn main() -> Result<(), csv::Error> {
|
|||||||
let mut rdr = csv::Reader::from_reader(file);
|
let mut rdr = csv::Reader::from_reader(file);
|
||||||
|
|
||||||
let mut records: Vec<Record> = Vec::new();
|
let mut records: Vec<Record> = Vec::new();
|
||||||
|
let mut old_source_url: String = "".to_string();
|
||||||
|
|
||||||
for result in rdr.deserialize() {
|
for result in rdr.deserialize() {
|
||||||
let record: ExportRecord = result?;
|
let record: ExportRecord = result?;
|
||||||
println!("{:?}", record);
|
//println!("{:?}", record);
|
||||||
|
|
||||||
|
let mut temp_target_url_copy: Vec<String> = record.path.split("/").map(|s| s.to_string()).collect();
|
||||||
let mut temp_target_url: Vec<String> = record.path.split("/").map(|s| s.to_string()).collect();
|
let mut temp_target_url: Vec<String> = record.path.split("/").map(|s| s.to_string()).collect();
|
||||||
|
|
||||||
// Modify to new target url
|
if temp_target_url_copy.len() > 2 && temp_target_url_copy[temp_target_url_copy.len() - 2].parse::<i32>().ok().is_some() {
|
||||||
if temp_target_url[0].eq("gewuerze") {
|
println!("{:#?}", temp_target_url_copy[temp_target_url_copy.len() - 2]);
|
||||||
temp_target_url.remove(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if temp_target_url.len() > 2 && temp_target_url[temp_target_url.len() - 2].parse::<i32>().ok().is_some() {
|
let sales_channel;
|
||||||
|
let id = record.subshop_id.unwrap();
|
||||||
|
|
||||||
|
if id.clone().eq("3") { // Lodner Geschmackswelten
|
||||||
|
sales_channel = "019774250010707285e7d325962e0089";
|
||||||
|
|
||||||
|
if temp_target_url.len() > 2 && temp_target_url[temp_target_url.len() - 2].parse::<i32>().ok().is_some() && !record.attr1.clone().unwrap().eq("NULL") {
|
||||||
temp_target_url.remove(temp_target_url.len() - 2); // Remove number before product name
|
temp_target_url.remove(temp_target_url.len() - 2); // Remove number before product name
|
||||||
}
|
|
||||||
|
//temp_target_url.insert(0, "pfeffer-kontor".to_string());
|
||||||
|
|
||||||
if !record.attr1.clone().unwrap().eq("NULL") {
|
if !record.attr1.clone().unwrap().eq("NULL") {
|
||||||
temp_target_url.push(record.attr1.unwrap()); // Add article number if not null
|
temp_target_url.push(record.attr1.unwrap()); // Add article number if not null
|
||||||
@@ -58,20 +66,9 @@ fn main() -> Result<(), csv::Error> {
|
|||||||
// Combine source url
|
// Combine source url
|
||||||
let source_url = source_url_vec.join("/");
|
let source_url = source_url_vec.join("/");
|
||||||
|
|
||||||
let sales_channel;
|
|
||||||
let id = record.subshop_id.unwrap();
|
|
||||||
|
|
||||||
if id.clone().eq("3") { // Lodner Geschmackswelten
|
if !old_source_url.eq(source_url.clone().as_str()) {
|
||||||
sales_channel = "0197660872e672e9ba3140ddf689f4fb";
|
old_source_url = source_url.clone();
|
||||||
} else if id.clone().eq("1") { // Lodner Gewürze
|
|
||||||
sales_channel = "0197660872d9706581cbe77994a4caa1";
|
|
||||||
} else if id.clone().eq("2") { // Pfefferkontor
|
|
||||||
sales_channel = "0197660872e1717c9854226725628bf7";
|
|
||||||
} else if id.eq("4") { // Crazy Snack
|
|
||||||
sales_channel = "0197660872ea73468ba300fc2cb73d35";
|
|
||||||
} else { // Set for all when no subshop id
|
|
||||||
sales_channel = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
records.push(Record{
|
records.push(Record{
|
||||||
source_url,
|
source_url,
|
||||||
@@ -82,6 +79,51 @@ fn main() -> Result<(), csv::Error> {
|
|||||||
sales_channel_id: Some(sales_channel.to_string()),
|
sales_channel_id: Some(sales_channel.to_string()),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if id.clone().eq("1") { // Lodner Gewürze
|
||||||
|
//sales_channel = "0197742500027367a2f45220911057e8";
|
||||||
|
sales_channel = "019774250010707285e7d325962e0089"; // Set Geschmackswelten ID because, both shops got combined
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} else if id.clone().eq("2") { // Pfefferkontor
|
||||||
|
sales_channel = "01977425000c72f3b2f6015decfed1f4";
|
||||||
|
|
||||||
|
if temp_target_url.len() > 2 && temp_target_url[temp_target_url.len() - 2].parse::<i32>().ok().is_some() && !record.attr1.clone().unwrap().eq("NULL") {
|
||||||
|
temp_target_url.remove(temp_target_url.len() - 2); // Remove number before product name
|
||||||
|
|
||||||
|
if !record.attr1.clone().unwrap().eq("NULL") {
|
||||||
|
temp_target_url.push(record.attr1.unwrap()); // Add article number if not null
|
||||||
|
}
|
||||||
|
|
||||||
|
// Combine to new target url
|
||||||
|
let target_url = temp_target_url.join("/");
|
||||||
|
|
||||||
|
|
||||||
|
// Build source url
|
||||||
|
let mut source_url_vec: Vec<String> = Vec::new();
|
||||||
|
source_url_vec.push(record.path);
|
||||||
|
|
||||||
|
// Combine source url
|
||||||
|
let source_url = source_url_vec.join("/");
|
||||||
|
|
||||||
|
|
||||||
|
records.push(Record{
|
||||||
|
source_url,
|
||||||
|
target_url: Some(target_url),
|
||||||
|
http_code: Some("301".to_string()),
|
||||||
|
enabled: Some("1".to_string()),
|
||||||
|
query_params_handling: Some("1".to_string()), // 1 to ignore query parameters
|
||||||
|
sales_channel_id: Some(sales_channel.to_string()),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else if id.eq("4") { // Crazy Snack
|
||||||
|
sales_channel = "0197660872ea73468ba300fc2cb73d35";
|
||||||
|
} else { // Set for all when no subshop id
|
||||||
|
sales_channel = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let new_csv = File::create("redirects.csv")?;
|
let new_csv = File::create("redirects.csv")?;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user