Paul26 claimed this task.
Paul26 closed this task as "Resolved".
Paul26 triaged this task as "High" priority.
Paul26 added a comment.
Voici le code pour la validation de cette tâche. Ce code a été intégré dans
les fichiers joints :
import pywikibot
from utils import validate_url, get_archived_url, log_activity
def add_archived_url_to_wikidata(item, original_url):
"""
Ajoute l'URL archivée à un élément Wikidata en tant que déclaration.
"""
archived_url = get_archived_url(original_url)
# Vérification si la déclaration existe déjà
claims = item.claims.get('P854', []) # P854 est le prédicat pour l'URL
source sur Wikidata
for claim in claims:
if claim.target == archived_url:
log_activity(f"L'URL archivée est déjà ajoutée :
{archived_url}")
return
# Création de la nouvelle déclaration
site = pywikibot.Site("wikidata", "wikidata")
property_854 = pywikibot.Property("wikibase-item", "P854") # Propriété
pour les URLs sources
claim = pywikibot.Claim(site, "P854")
claim.setTarget(archived_url)
# Ajouter la déclaration à l'élément
item.addClaim(claim)
item.save(summary="Ajout d'une URL archivée via Wikiwix")
log_activity(f"URL archivée ajoutée à l'élément : {item.title()} ->
{archived_url}")
def main():
site = pywikibot.Site("wikidata", "wikidata")
repo = site.data_repository()
# Recherche des éléments récents (à adapter selon les critères de
recherche)
for item in repo.recentchanges(namespaces=0, total=50):
url = item.get('title')
if validate_url(url):
add_archived_url_to_wikidata(item, url)
if __name__ == "__main__":
main()
F58947359: utils.py <https://phabricator.wikimedia.org/F58947359>
F58947358: config.py <https://phabricator.wikimedia.org/F58947358>
F58947357: bot.py <https://phabricator.wikimedia.org/F58947357>
F58947356: user-config.py <https://phabricator.wikimedia.org/F58947356>
TASK DETAIL
https://phabricator.wikimedia.org/T390359
EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/
To: Paul26
Cc: Aklapper, pywikibot-bugs-list, Paul26, mevo, Danny_Benjafield_WMDE,
S8321414, Astuthiodit_1, karapayneWMDE, Invadibot, PotsdamLamb, Jyoo1011,
maantietaja, JohnsonLee01, SHEKH, Dijkstra, Khutuck, Nintendofan885, Akuckartz,
Zkhalido, Aram, Viztor, Nandana, Wenyi, Lahi, Gq86, GoranSMilovanovic, QZanden,
Tbscho, KimKelting, MayS, LawExplorer, Mdupont, JJMC89, Dvorapa, _jensen,
rosalieper, Altostratus, Avicennasis, Hannolans, Scott_WUaS, mys_721tx,
Wikidata-bugs, Xqt, Hydriz, aude, jayvdb, Nemo_bis, Lydia_Pintscher, Masti,
Alchimista, Mbch331
_______________________________________________
pywikibot-bugs mailing list -- [email protected]
To unsubscribe send an email to [email protected]