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 -- pywikibot-bugs@lists.wikimedia.org
To unsubscribe send an email to pywikibot-bugs-le...@lists.wikimedia.org

Reply via email to