A first glimpse into the power of PAWS

import os
import pymysql

import mwapi

We can connect to the database, the user credentials are already set up. As long as we don't print out os.environ, they will stay secret.

conn = pymysql.connect(
    host=os.environ['MYSQL_HOST'],
    user=os.environ['MYSQL_USERNAME'],
    password=os.environ['MYSQL_PASSWORD'],
    database='dewiki_p',
    charset='utf8'
)

Let's try to find our user account in the user table:

with conn.cursor() as cur:
    cur.execute('use dewiki_p')
    cur.execute("""SELECT * from user where user_name = %s""", os.environ["MYSQL_USERNAME"])
    print(cur.fetchall())
((6332, b'Cirdan', b'', None, None, None, None, None, None, None, None, None, None, None, 23966, None),)

That's really neat! We will be able to work out queries and processing from PAWS without having to fiddle around on Toolforge -- and we can learn all about Jupyter notebooks.

We will now try to see whether we can monitor what the InternetArchiveBot is up to using the MediaWiki API:

session = mwapi.Session('https://de.wikipedia.org', user_agent=f"{os.environ['MYSQL_USERNAME']}@PAWS")

last_contribs = session.get(action="query", list="usercontribs", ucuser="InternetArchiveBot", uclimit=100)
for contrib in last_contribs["query"]["usercontribs"]:
    print(contrib["title"])
Deutsche Handballmeisterschaft 1948 – Offene Meisterschaft der Britischen Besatzungszone
Deutsche Handballmeister
Deutsche Guggenheim
Deutsche Grundstücksauktionen
Deutsche Grundkarte
Deutsche Grammophon
Deutsche Goldreserven
Deutsche Glasfaser
Deutsche Gesellschaft für die Vereinten Nationen
Deutsche Gesellschaft für das hochbegabte Kind
Deutsche Gesellschaft für Wundheilung und Wundbehandlung
Deutsche Gesellschaft für Ur- und Frühgeschichte
Deutsche Gesellschaft für Systemaufstellungen
Deutsche Gesellschaft für Sprechwissenschaft und Sprecherziehung
Deutsche Gesellschaft für Soziale Psychiatrie
Deutsche Gesellschaft für Schiffahrts- und Marinegeschichte
Deutsche Gesellschaft für Publizistik- und Kommunikationswissenschaft
Deutsche Gesellschaft für Psychoanalyse, Psychotherapie, Psychosomatik und Tiefenpsychologie
Deutsche Gesellschaft für Prävention und Intervention bei Kindesmisshandlung und -vernachlässigung
Deutsche Gesellschaft für Positiv-Psychologische Forschung
Deutsche Gesellschaft für Pneumologie und Beatmungsmedizin
Deutsche Gesellschaft für Ordenskunde
Deutsche Gesellschaft für Online-Forschung
Deutsche Gesellschaft für Neurointensiv- und Notfallmedizin
Deutsche Gesellschaft für Neurochirurgie
Deutsche Gesellschaft für Medizinische Psychologie
Deutsche Gesellschaft für Medaillenkunst
Deutsche Gesellschaft für Materialkunde
Deutsche Gesellschaft für Luft- und Raumfahrt
Deutsche Gesellschaft für Internationale Zusammenarbeit
Deutsche Gesellschaft für Immunologie
Deutsche Gesellschaft für Heereskunde
Deutsche Gesellschaft für Hauswirtschaft
Deutsche Gesellschaft für Gartenkunst und Landschaftskultur
Deutsche Gesellschaft für Audiologie
Deutsche Gesellschaft für Angiologie
Deutsche Gesellschaft für Allgemeinmedizin und Familienmedizin
Deutsche Gesellschaft Zwangserkrankungen
Deutsche Genbank Obst
Deutsche Gehörlosenzeitung
Deutsche Gebärdensprache
Deutsche Gastruppen im Ersten Weltkrieg
Deutsche GT-Meisterschaft
Deutsche Fußballnationalmannschaft (U-21-Männer)
Deutsche Fußballnationalmannschaft
Deutsche Fußballmeisterschaft 1921/22
Deutsche Funkturm
Deutsche Frauenhaar-Sammlung
Deutsche Franziskanerprovinz
Deutsche Formel-4-Meisterschaft
Deutsche Flugsicherung
Deutsche Floorballnationalmannschaft
Deutsche Filmakademie
Deutsche Fertighaus Holding
Deutsche Fed-Cup-Mannschaft
Deutsche Fechtmeisterschaften 2006
Deutsche Fechtmeisterschaften 2004
Deutsche Fechtmeisterschaften 2003
Deutsche Energiewirtschaft
Deutsche Energie-Agentur
Deutsche Eishockey Liga
Deutsche Eisenbahn-Neubaustrecken
Deutsche Effecten- und Wechsel-Beteiligungsgesellschaft
Deutsche EU-Ratspräsidentschaft 2007
Deutsche Digitale Bibliothek
Deutsche Dialekte
Deutsche Demokratische Republik
Deutsche Cricket-Nationalmannschaft
Deutsche Christliche Studentenvereinigung
Deutsche Christlich-Soziale Volkspartei
Deutsche Botschaft Wien
Deutsche Botschaft Tokio
Deutsche Botschaft Tirana
Deutsche Botschaft Prag
Deutsche Botschaft Montevideo
Deutsche Botschaft Monrovia
Deutsche Bischofskonferenz
Deutsche Bibliotheksstatistik
Deutsche Barockgalerie
Deutsche Bank Prize in Financial Economics
Deutsche Bank
Deutsche Bandynationalmannschaft der Herren
Deutsche Bahn Stiftung
Deutsche Bahn
Deutsche BKK
Deutsche Auslandsgemeinde
Deutsche Atlantische Gesellschaft
Deutsche Aktuarvereinigung
Deutsche Aktionstage Nachhaltigkeit
Deutsche Akademie für Psychoanalyse
Deutsche Akademie für Kulinaristik
Deutsche Akademie für Fernsehen
Deutsche Akademie (Rechtsextreme Organisation)
Deutsche Akademie (1925)
Deutsche Airplay-Charts
Deutsche ATSB-Fußballmeisterschaft 1929/30
Deutsche ATSB-Fußballmeisterschaft 1928/29
Deutsche ATSB-Fußballmeisterschaft 1925/26
Deutschbaselitz
Deutschamerikaner