up picture with wiki

This commit is contained in:
Tykayn 2025-02-10 23:11:46 +01:00 committed by tykayn
parent 9b67221aa5
commit 024ac97cb1
4 changed files with 51 additions and 38 deletions

View File

@ -79,7 +79,7 @@ export default function sendPostMastodon(config) {
console.log('\n\n =========== le message ne sera PAS réellement posté sur le compte @' + config.author + '@' + process.env.INSTANCE_MASTODON + ' =========== \n')
// console.log('configPost.folder_image', config.folder_image)
console.log('config', config.message)
console.log(' =========== config', config)
} else {
console.log(' ')

View File

@ -26,7 +26,7 @@ export function getSourceOfDescriptorPageContent(HTMLcontent) {
}
console.log(sourcesSet)
console.log(selectedPicture)
return `https://wiki.openstreetmap.org${selectedPicture.trim()}`;
return `${selectedPicture.trim()}`;
} else {
console.log("pas d'image de description dans le HTML")
}

View File

@ -35,13 +35,14 @@ const params = {
prop: 'text',
section: 0
};
const remplacedTitle = title.replace(' ', '_')
const remplacedTitle = title.replace(/ /g, '_');
console.log('url de l article: ', `https://wiki.openstreetmap.org/wiki/` + title)
let message = ''
let download_description_src = ''
let no_picture_found = true;
let url_image = ''
export function sendMessageWikiOSMOfTheDay(message, download_description_src) {
export function sendMessageWikiOSMOfTheDay(message, url_image) {
console.log('envoi du message ............')
@ -51,35 +52,40 @@ export function sendMessageWikiOSMOfTheDay(message, download_description_src) {
message,
}
let filePathImage = `${process.cwd()}/assets/blog_posts_medias/osm_wiki_description_page.jpg`
if (download_description_src) {
// let filePathImage = ''
if (download_description_src) {
console.log("firstPictureSource found", download_description_src)
// check if picture already exist
console.log('on récupère l image de description : ', filePathImage)
downloadImage(download_description_src, filePathImage)
.then((res) => {
// suite du poste avec upload d'image
console.log('média téléchargé, on envoie le post')
configPost.image = filePathImage;
sendPostMastodon(configPost)
},
(err) => {
console.log('pas dimage trouvée pour l URL ', download_description_src, err)
sendPostMastodon(configPost)
}
)
.catch((err) => {
console.log('erreur avec cette URL ', download_description_src, err)
sendPostMastodon(configPost)
})
if (url_image) {
no_picture_found = false;
console.log("firstPictureSource found", url_image)
let extension = 'png';
if (url_image.indexOf('.jpg') !== -1) {
let extension = 'jpg';
}
// check if picture already exist
console.log('on récupère l image de description : ', filePathImage)
let saved_picture = 'post_picture.' + extension
downloadImage(url_image, saved_picture)
.then((res) => {
// suite du poste avec upload d'image
console.log('dl image response:', res)
console.log('média téléchargé, on envoie le post')
configPost.image = res;
sendPostMastodon(configPost)
},
(err) => {
console.log('pas dimage trouvée pour l URL ', url_image, err)
sendPostMastodon(configPost)
}
)
.catch((err) => {
console.log('erreur avec cette URL ', url_image, err)
sendPostMastodon(configPost)
})
} else {
console.log('::::::::::::: no image description')
filePathImage = `${process.cwd()}/assets/blog_posts_medias/osm_wiki_description_page.jpg`
@ -92,14 +98,16 @@ axios.get(wikiApiUrl, { params })
.then(response => {
// console.log('wikiApiUrl', wikiApiUrl)
let keys = Object.keys(response.data)
console.log('keys', keys)
// console.log('keys', keys)
const articleContent = response.data.parse.text['*'];
let resultpicture = getSourceOfDescriptorPageContent(articleContent)
console.log('resultpicture', resultpicture)
console.log(':::::::::: resultpicture', resultpicture)
if (resultpicture === "pas d'image de description dans le HTML") {
download_description_src = `${process.cwd()}/assets/blog_posts_medias/osm_wiki_description_page.jpg`
url_image = `${process.cwd()}/assets/blog_posts_medias/osm_wiki_description_page.jpg`
} else {
url_image = resultpicture
}
let firstParagraph;
if (articleContent.includes('<p>')) {
@ -115,7 +123,7 @@ axios.get(wikiApiUrl, { params })
// return String.fromCharCode(code);
// });
console.log('image', download_description_src)
// console.log('image', url_image)
console.log('-----------------')
// Générer le message
const formules = [
@ -127,18 +135,23 @@ axios.get(wikiApiUrl, { params })
"Le wiki #OSM vous présente"
];
const formule = formules[randomIntFromInterval(0, formules.length - 1)];
let suggestion_add_picture = '';
message = `${formule} : ${title}.
if (!no_picture_found) {
suggestion_add_picture = `Une image d'illustration pour cette page sous licence Creative Commons serait bienvenue, participez au wiki.`
}
message = `${formule} : ${remplacedTitle}.
[https://wiki.openstreetmap.org/wiki/${remplacedTitle}](https://wiki.openstreetmap.org/wiki/${remplacedTitle})
${sanitizedTextWithoutEntities}
${suggestion_add_picture}
#openstreetmap #wiki #RTFW
`;
console.log(message);
sendMessageWikiOSMOfTheDay(message, download_description_src)
sendMessageWikiOSMOfTheDay(message, url_image)
})

BIN
post_picture.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB