User

Difference between revisions of "Yug/common.js"

< User:Yug

Line 13: Line 13:
 
// @include      https://www.wikidata.org/wiki/Q*
 
// @include      https://www.wikidata.org/wiki/Q*
 
// @grant        GM_xmlhttpRequest
 
// @grant        GM_xmlhttpRequest
 +
// ==/UserScript==
 +
 +
// ==UserScript==
 +
// @name        Wikidata Editor
 +
// @namespace    https://example.com
 +
// @version      1.0
 +
// @description  Edit a Wikidata page
 +
// @include      https://www.wikidata.org/wiki/Q*
 +
// @grant        none
 
// ==/UserScript==
 
// ==/UserScript==
  
Line 28: Line 37:
  
 
     // Your Wikidata entity ID (QID)
 
     // Your Wikidata entity ID (QID)
     const entityId = "Q170146";
+
     var entityId = "Q170146";
 +
 
 
     // Property ID (P4)
 
     // Property ID (P4)
     const propertyId = "P4";
+
     var propertyId = "P4";
 +
 
 
     // Value to set (Q359)
 
     // Value to set (Q359)
     const newValue = "Q359";
+
     var newValue = "Q359";
  
 
     // Fetch current data
 
     // Fetch current data
     fetch("https://lingualibre.org/api.php?action=wbgetentities&format=json&ids="+ entityId)  
+
     fetch("https://lingualibre.org/api?action=wbgetentities&format=json&ids=" + entityId)
    .then(response => response.json())
+
        .then(function(response) {
         .then(data => {
+
            return response.json();
 +
        })
 +
         .then(function(data) {
 
             if (data.success) {
 
             if (data.success) {
 
                 // Modify data
 
                 // Modify data
Line 59: Line 72:
  
 
                 // Submit changes
 
                 // Submit changes
                 return fetch("https://lingualibre.org/api.php?action=wbeditentity&format=json", {
+
                 fetch("https://lingualibre.org/api?action=wbeditentity&format=json", {
 
                     method: "POST",
 
                     method: "POST",
 
                     body: JSON.stringify({
 
                     body: JSON.stringify({
Line 69: Line 82:
 
                         "Content-Type": "application/x-www-form-urlencoded",
 
                         "Content-Type": "application/x-www-form-urlencoded",
 
                     },
 
                     },
 +
                })
 +
                .then(function(response) {
 +
                    return response.json();
 +
                })
 +
                .then(function(responseData) {
 +
                    console.log("Edit response:", responseData);
 +
                })
 +
                .catch(function(error) {
 +
                    console.error("An error occurred:", error);
 
                 });
 
                 });
 
             }
 
             }
 
         })
 
         })
         .then(response => response.json())
+
         .catch(function(error) {
        .then(responseData => {
 
            console.log("Edit response:", responseData);
 
        })
 
        .catch(error => {
 
 
             console.error("An error occurred:", error);
 
             console.error("An error occurred:", error);
 
         });
 
         });
 
})();
 
})();

Revision as of 14:30, 2 October 2023

// Modules loader, conditional
// Sound library
if(/^User:Elfix\/LinguaLibre:Explore_the_sound_library(\/[a-z_-]+)?$/.test( mw.config.get( 'wgPageName' ) ) ) {
 mw.loader.load( '/index.ptitle=User:Elfix/MediaWiki:SoundLibrary.js&action=raw&ctype=text/javascript'); 
}


// ==UserScript==
// @name         Wikidata Editor
// @namespace    https://example.com
// @version      1.0
// @description  Edit a Wikidata page
// @include      https://www.wikidata.org/wiki/Q*
// @grant        GM_xmlhttpRequest
// ==/UserScript==

// ==UserScript==
// @name         Wikidata Editor
// @namespace    https://example.com
// @version      1.0
// @description  Edit a Wikidata page
// @include      https://www.wikidata.org/wiki/Q*
// @grant        none
// ==/UserScript==

// ==UserScript==
// @name         Wikidata Editor
// @namespace    https://example.com
// @version      1.0
// @description  Edit a Wikidata page
// @include      https://www.wikidata.org/wiki/Q*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Your Wikidata entity ID (QID)
    var entityId = "Q170146";

    // Property ID (P4)
    var propertyId = "P4";

    // Value to set (Q359)
    var newValue = "Q359";

    // Fetch current data
    fetch("https://lingualibre.org/api?action=wbgetentities&format=json&ids=" + entityId)
        .then(function(response) {
            return response.json();
        })
        .then(function(data) {
            if (data.success) {
                // Modify data
                data.entities[entityId].claims[propertyId] = [
                    {
                        mainsnak: {
                            snaktype: "value",
                            property: propertyId,
                            datavalue: {
                                value: {
                                    "entity-type": "item",
                                    "numeric-id": newValue.replace("Q", "")
                                },
                                type: "wikibase-entityid"
                            }
                        },
                        rank: "normal",
                        references: [],
                    }
                ];

                // Submit changes
                fetch("https://lingualibre.org/api?action=wbeditentity&format=json", {
                    method: "POST",
                    body: JSON.stringify({
                        id: entityId,
                        data: JSON.stringify(data.entities[entityId]),
                        summary: "Updating property P4",
                    }),
                    headers: {
                        "Content-Type": "application/x-www-form-urlencoded",
                    },
                })
                .then(function(response) {
                    return response.json();
                })
                .then(function(responseData) {
                    console.log("Edit response:", responseData);
                })
                .catch(function(error) {
                    console.error("An error occurred:", error);
                });
            }
        })
        .catch(function(error) {
            console.error("An error occurred:", error);
        });
})();