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('\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('configPost.folder_image', config.folder_image)
console.log('config', config.message) console.log(' =========== config', config)
} else { } else {
console.log(' ') console.log(' ')

View File

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

View File

@ -35,13 +35,14 @@ const params = {
prop: 'text', prop: 'text',
section: 0 section: 0
}; };
const remplacedTitle = title.replace(' ', '_') const remplacedTitle = title.replace(/ /g, '_');
console.log('url de l article: ', `https://wiki.openstreetmap.org/wiki/` + title) console.log('url de l article: ', `https://wiki.openstreetmap.org/wiki/` + title)
let message = '' 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 ............') console.log('envoi du message ............')
@ -51,35 +52,40 @@ export function sendMessageWikiOSMOfTheDay(message, download_description_src) {
message, message,
} }
let filePathImage = `${process.cwd()}/assets/blog_posts_medias/osm_wiki_description_page.jpg` let filePathImage = `${process.cwd()}/assets/blog_posts_medias/osm_wiki_description_page.jpg`
if (download_description_src) { if (url_image) {
// let filePathImage = '' no_picture_found = false;
if (download_description_src) { console.log("firstPictureSource found", url_image)
console.log("firstPictureSource found", download_description_src) let extension = 'png';
if (url_image.indexOf('.jpg') !== -1) {
// check if picture already exist let extension = 'jpg';
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)
})
} }
// 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 { } else {
console.log('::::::::::::: no image description') console.log('::::::::::::: no image description')
filePathImage = `${process.cwd()}/assets/blog_posts_medias/osm_wiki_description_page.jpg` filePathImage = `${process.cwd()}/assets/blog_posts_medias/osm_wiki_description_page.jpg`
@ -92,14 +98,16 @@ axios.get(wikiApiUrl, { params })
.then(response => { .then(response => {
// console.log('wikiApiUrl', wikiApiUrl) // console.log('wikiApiUrl', wikiApiUrl)
let keys = Object.keys(response.data) let keys = Object.keys(response.data)
console.log('keys', keys) // console.log('keys', keys)
const articleContent = response.data.parse.text['*']; const articleContent = response.data.parse.text['*'];
let resultpicture = getSourceOfDescriptorPageContent(articleContent) let resultpicture = getSourceOfDescriptorPageContent(articleContent)
console.log('resultpicture', resultpicture) console.log(':::::::::: resultpicture', resultpicture)
if (resultpicture === "pas d'image de description dans le HTML") { 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; let firstParagraph;
if (articleContent.includes('<p>')) { if (articleContent.includes('<p>')) {
@ -115,7 +123,7 @@ axios.get(wikiApiUrl, { params })
// return String.fromCharCode(code); // return String.fromCharCode(code);
// }); // });
console.log('image', download_description_src) // console.log('image', url_image)
console.log('-----------------') console.log('-----------------')
// Générer le message // Générer le message
const formules = [ const formules = [
@ -127,18 +135,23 @@ axios.get(wikiApiUrl, { params })
"Le wiki #OSM vous présente" "Le wiki #OSM vous présente"
]; ];
const formule = formules[randomIntFromInterval(0, formules.length - 1)]; 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}) [https://wiki.openstreetmap.org/wiki/${remplacedTitle}](https://wiki.openstreetmap.org/wiki/${remplacedTitle})
${sanitizedTextWithoutEntities} ${sanitizedTextWithoutEntities}
${suggestion_add_picture}
#openstreetmap #wiki #RTFW #openstreetmap #wiki #RTFW
`; `;
console.log(message); 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