Professional Documents
Culture Documents
/config/globalConfig";
import { GcpData } from "../constants/gcpConstants";
import { addErrorLog } from "../fireBase/logHandler";
import { getFilesCBResponse } from "../model/common.interface";
import { findFile } from "./assetUtils";
import { removeTags,decodeHtmlEntities } from "./commonUtils";
return "";
}
};
export async function doesFolderPathExist(folderPath: string) {
try {
const [files] = await storage.bucket(bucketName).getFiles({
prefix: folderPath,
delimiter: "/",
});
return files.length > 0 ? true : false;
} catch (error: any) {
await addErrorLog(`Error checking folder path existence:${error?.message}`,
"doesFolderPathExist");
return false;
}
}
interface DayItem {
PageName: string;
PageTitle: string;
DisplayPageNumber: string;
Articles: Record<string, ArticleItem[]>;
}
interface JsonContent {
DayIndex: Record<string, DayItem>;
}
// if(parseInt(dayItem.DisplayPageNumber)==6){
await
getAdvertisementDetails(jsonContent.DayIndex[daykey].PageName,path);
await getPagePhotosDetails(dayItem.PageName,path,'Page');
if (dayItem.Articles && dayItem.Articles.length > 0) {
for (const articlekey in dayItem.Articles) {
const articleItem: ArticleItem = dayItem.Articles[articlekey];
resultArticles[articlekey] = {
pageName:dayItem.PageName || '',
pageTitle:dayItem.PageTitle || '',
tagName:articleItem.TagName || '',
columnTitle: articleItem.ColumnTitle,
status: "Extracted",
pageNo: parseInt(dayItem.DisplayPageNumber) || '',
sourceId: 'Harns',
numberOfPages: parseInt(jsonContent.DayIndex.length.toString()),
editionName:jsonContent.EditionName,
};
articleDataFetch[articlekey] = await
getArticleDetails(jsonContent.DayIndex[daykey].Articles[articlekey].ArticleName,pat
h);
await
getArticlePhotos(jsonContent.DayIndex[daykey].Articles[articlekey].ArticleName,path
);
articlePhotoDataFetch['articlePhotographs'] = await
getArticlePhotoDetails(jsonContent.DayIndex[daykey].Articles[articlekey].ArticleNam
e,path);
// pageDataFect[articlekey] = await
getPageDetails(dayItem.PageName,path);
linkDataFetch[articlekey] = await
getLinkDetails(jsonContent.DayIndex[daykey].Articles[articlekey].ArticleName,path);
mergedObject.push(Object.assign(
{},
resultArticles[articlekey],
// pageDataFect[articlekey]?pageDataFect[articlekey]:'',
articleDataFetch[articlekey]?articleDataFetch[articlekey]:'',
articlePhotoDataFetch,
linkDataFetch[articlekey]?linkDataFetch[articlekey]:'',
));
}
}
// }
}
}
return mergedObject;
})
const result = await Promise.all(promises);
return result;
} catch (error: any) {
await addErrorLog(error?.message, "getContentFromJsonFile");
return "";
}
};
if (fileExists) {
const [contents] = await file.download();
const jsonContent = JSON.parse(contents);
for (const linkkey in jsonContent.linkJson) {
if (jsonContent.linkJson[linkkey].ArticleLink === articleId) {
const toAarticle =
jsonContent.linkJson[linkkey].FromLinkArticle.split("_");
linkData = {
"continuationTo": articleId,
"continuationFrom": jsonContent.linkJson[linkkey].FromLinkArticle,
"combinedArticleUrl":"/test/Harns/PublicationData/TOI/toim/"+dateSplit[2]+"/"+dateS
plit[1]+"/"+dateSplit[0]+"/"+parseInt(dateSplit[3])+"/
img/"+jsonContent.linkJson[linkkey].FromLinkArticle+"_"+articleId+".jpg"
};
}
}
}
return linkData;
if (fileExists) {
const [contents] = await file.download();
const jsonContent = JSON.parse(contents);
articleData = {
"articleTitle": jsonContent.ArticleTitle ?
decodeHtmlEntities(jsonContent.ArticleTitle) : "",
"articleBody" : jsonContent.ArticleBody ?
decodeHtmlEntities(jsonContent.ArticleBody) : "",
"id" : jsonContent.ArticleName ?
jsonContent.ArticleName.replace(/_toim/, '') : "",
"articleName" : jsonContent.ArticleName ?
jsonContent.ArticleName : "",
"articleAuthor" : jsonContent.ArticleAuthor?
jsonContent.ArticleAuthor: "",
"editionDate" :endDate,
"editionISODate" : edISODate.toISOString(),
"articleURL" : jsonContent.ArticleName
?`/test/Harns/PublicationData/TOI/toim/${dateSplit[2]}/${dateSplit[1]}/$
{dateSplit[0]}/${parseInt(dateSplit[3])}/img/${jsonContent.ArticleName}.jpg` : "",
"pageUrl" : jsonContent.ArticleName
?`/test/Harns/PublicationData/TOI/toim/${dateSplit[2]}/${dateSplit[1]}/$
{dateSplit[0]}/${parseInt(dateSplit[3])}/img/${dateSplit[0]}_${dateSplit[1]}_$
{dateSplit[2]}_${dateSplit[3]}_toim.jpg` : "",
// "totalContentCharacterCount" :
(jsonContent.ArticleTitle+jsonContent.ArticleBody).length,
"articleStoryDate" : jsonContent.articleStoryDate?
jsonContent.articleStoryDate: "",
}
}
return articleData;
}