Commit b2d6d63f authored by edwin's avatar edwin

change fetch behavior from enter sku to enter url, update download all logic

parent 6171c913
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
const baseurl = "https://digitallibrary-external.fastretailing.com/"; const baseurl = "https://digitallibrary-external.fastretailing.com/";
const fetchNumber = 30; const fetchNumber = 30;
const sleepTime = 2500; const sleepTime = 3000;
let allowDebugMessage = true; let allowDebugMessage = true;
// adding the lightbox (control panel) to the body // adding the lightbox (control panel) to the body
...@@ -87,7 +87,8 @@ ...@@ -87,7 +87,8 @@
document.querySelector("#fetch-lightbox .info-message").innerHTML = ""; document.querySelector("#fetch-lightbox .info-message").innerHTML = "";
for (let SKU of SKUlist) { for (let SKU of SKUlist) {
let assetlist = await fetchSKU(SKU); let currentms = new Date().getTime();
let assetlist = await fetchSKU(SKU, `${baseurl}api/asset?time=${currentms}&t=datacategory%2Fasset&w=${SKU}&r=north&z=${fetchNumber}&c=DEFAULT`);
// determine whether it is product file // determine whether it is product file
...@@ -176,10 +177,19 @@ ...@@ -176,10 +177,19 @@
document.querySelector("#fetch-lightbox .info-message").innerHTML = ""; document.querySelector("#fetch-lightbox .info-message").innerHTML = "";
for (let SKU of SKUlist) { for (let SKU of SKUlist) {
let assetlist = await fetchSKU(SKU);
let downloadlist = filtering(assetlist, SKU); let currentms = new Date().getTime();
await downloadList(downloadlist["product"], `${SKU}`); // old
// let assetlist = await fetchSKU(SKU, `${baseurl}api/asset?time=${currentms}&t=datacategory%2Fasset&w=${SKU}&r=north&z=${fetchNumber}&et=hk&c=DEFAULT`);
// new
let assetlist = await fetchSKU(SKU, `${baseurl}api/asset?time=${currentms}&t=main_product%2FGU%2F${SKU}&t=datacategory%2Fecasset&r=north&z=${fetchNumber}&et=hk&c=DEFAULT`);
await downloadList(assetlist, `${SKU}`);
await sleep(sleepTime); await sleep(sleepTime);
// &t=datacategory%2Fasset&w=341947&r=north&z=30&c=DEFAULT
currentms = new Date().getTime();
assetlist = await fetchSKU(SKU, `${baseurl}api/asset?time=${currentms}&t=datacategory%2Fasset&w=${SKU}&r=north&z=${fetchNumber}&c=DEFAULT`);
let downloadlist = filtering(assetlist, SKU);
await downloadList(downloadlist["model"], `${SKU}_model`); await downloadList(downloadlist["model"], `${SKU}_model`);
await sleep(sleepTime); await sleep(sleepTime);
} }
...@@ -189,15 +199,12 @@ ...@@ -189,15 +199,12 @@
} }
//grabbing single SKU data //grabbing single SKU data
async function fetchSKU(SKU = "") { async function fetchSKU(SKU, url = "") {
if (SKU.length == 0) { if (SKU.length == 0 || url.length == 0) {
return; return;
} }
let currentms = new Date().getTime();
let url = `${baseurl}api/asset?time=${currentms}&t=datacategory%2Fasset&w=${SKU}&r=north&z=${fetchNumber}&c=DEFAULT`;
let config = getConfig(); let config = getConfig();
addDebugMessage(`Start fetching SKU=${SKU}`); addDebugMessage(`Start fetching SKU=${SKU}`);
return await fetch(url, config) return await fetch(url, config)
...@@ -271,18 +278,13 @@ ...@@ -271,18 +278,13 @@
let multilist = assetlist.reduce(function (arrlist, item) { let multilist = assetlist.reduce(function (arrlist, item) {
if (item.filename.includes(`goods_${SKU}_sub`) || let tagid = item.tags.map(x => x.id);
item.filename.includes(`_${SKU}_chip`) ||
(item.filename.match(new RegExp(`^goods_[0-9]{2}_${SKU}$`)) && item.models.length === 0 && item.products.length === 1)) { // file name include SKU and no model
arrlist["product"].push(item);
} else if (item.filename.includes(`${SKU}_I0`) || if (item.filename.includes("GU_")) {
(item.filename.includes("goods") && !item.filename.includes(SKU)) ||
item.tags.map(x => x.id).includes("assettype/Poster") || item.filename.includes("GU_")) {
// not adding to model // not adding to model
} else { } else if(tagid.includes("Appeal POP") || tagid.includes("Model")) {
arrlist["model"].push(item); arrlist["model"].push(item);
} }
return arrlist; return arrlist;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment