Merge branch 'testing' into 'master'

Part of 1.2

See merge request piotrex43/RcGcDw!5
This commit is contained in:
Frisk 2018-06-25 19:09:14 +00:00
commit eb4e0ec970
9 changed files with 409 additions and 287 deletions

Binary file not shown.

View file

@ -5,9 +5,9 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2018-06-23 17:33+0200\n"
"PO-Revision-Date: 2018-06-24 00:35+0200\n"
"Last-Translator: \n"
"POT-Creation-Date: 2018-06-25 18:01+0200\n"
"PO-Revision-Date: 2018-06-25 18:02+0200\n"
"Last-Translator: MarkusRost\n"
"Language-Team: \n"
"Language: de\n"
"MIME-Version: 1.0\n"
@ -32,7 +32,7 @@ msgstr "Neue Dateiversion {name}"
msgid "([preview]({link}) | [undo]({undolink}))"
msgstr "([Vorschau]({link}) | [zurücksetzen]({undolink}))"
#: rcgcdw.py:117 rcgcdw.py:133
#: rcgcdw.py:117 rcgcdw.py:140
msgid "Options"
msgstr "Optionen"
@ -40,15 +40,15 @@ msgstr "Optionen"
msgid "Uploaded {name}"
msgstr "Neue Datei {name}"
#: rcgcdw.py:126
#: rcgcdw.py:131
msgid "**No license!**"
msgstr "**Keine Lizenz!**"
#: rcgcdw.py:133
#: rcgcdw.py:140
msgid "([preview]({link}))"
msgstr "([Vorschau]({link}))"
#: rcgcdw.py:134
#: rcgcdw.py:141
msgid ""
"{desc}\n"
"License: {license}"
@ -56,302 +56,306 @@ msgstr ""
"{desc}\n"
"Lizenz: {license}"
#: rcgcdw.py:137
#: rcgcdw.py:144
msgid "Deleted page {article}"
msgstr "Löschte {article}"
#: rcgcdw.py:140
#: rcgcdw.py:147
msgid "Deleted redirect {article} by overwriting"
msgstr "Löschte die Weiterleitung {article} um Platz zu machen"
#: rcgcdw.py:143
#: rcgcdw.py:150
msgid "A redirect has been made"
msgstr "Eine Weiterleitung wurde erstellt"
#: rcgcdw.py:143
#: rcgcdw.py:150
msgid "No redirect has been made"
msgstr "Die Erstellung einer Weiterleitung wurde unterdrückt"
#: rcgcdw.py:144
#: rcgcdw.py:151
msgid "Moved {article} to {target}"
msgstr "Verschob {article} nach {target}"
#: rcgcdw.py:147
#: rcgcdw.py:154
msgid "Moved {article} to {title} over redirect"
msgstr "Verschob {article} nach {target} und überschrieb eine Weiterleitung\""
#: rcgcdw.py:150
#: rcgcdw.py:157
msgid "Moved protection settings from {article} to {title}"
msgstr "Verschob die Schutzeinstellungen von {article} nach {title}"
#: rcgcdw.py:154
#: rcgcdw.py:161
msgid "infinity and beyond"
msgstr "alle Ewigkeit"
#: rcgcdw.py:155
#: rcgcdw.py:162
msgid "Blocked {blocked_user} for {time}"
msgstr "Sperrte {blocked_user} für {time}"
#: rcgcdw.py:159
#: rcgcdw.py:166
msgid "Changed block settings for {blocked_user}"
msgstr "Änderte die Sperreinstellungen für {blocked_user}"
#: rcgcdw.py:163
#: rcgcdw.py:170
msgid "Unblocked {blocked_user}"
msgstr "Hob die Sperre von {blocked_user} auf"
#: rcgcdw.py:167
#: rcgcdw.py:174
msgid "Left a comment on {target}'s profile"
msgstr "Hinterließ ein Kommentar auf dem Profil von {target}"
#: rcgcdw.py:171
#: rcgcdw.py:178
msgid "Replied to a comment on {target}'s profile"
msgstr "Antwortete auf ein Kommentar auf dem Profil von {target}"
#: rcgcdw.py:175
#: rcgcdw.py:182
msgid "Edited a comment on {target}'s profile"
msgstr "Bearbeitete ein Kommentar auf dem Profil von {target}"
#: rcgcdw.py:179
#: rcgcdw.py:186
msgid "Location"
msgstr "Wohnort"
#: rcgcdw.py:181
#: rcgcdw.py:188
msgid "About me"
msgstr "\"Über mich\"-Abschnitt"
#: rcgcdw.py:183
#: rcgcdw.py:190
msgid "Google link"
msgstr "Google-Konto"
#: rcgcdw.py:185
#: rcgcdw.py:192
msgid "Facebook link"
msgstr "Facebook-Seite"
#: rcgcdw.py:187
#: rcgcdw.py:194
msgid "Twitter link"
msgstr "Twitter-Benutzernamen"
#: rcgcdw.py:189
#: rcgcdw.py:196
msgid "Reddit link"
msgstr "Reddit-Benutzernamen"
#: rcgcdw.py:191
#: rcgcdw.py:198
msgid "Twitch link"
msgstr "Twitch-Account"
#: rcgcdw.py:193
#: rcgcdw.py:200
msgid "PSN link"
msgstr "PSN-Account"
#: rcgcdw.py:195
#: rcgcdw.py:202
msgid "VK link"
msgstr "VK-Account"
#: rcgcdw.py:197
#: rcgcdw.py:204
msgid "XVL link"
msgstr "Xbox-Live-Tag"
#: rcgcdw.py:199
#: rcgcdw.py:206
msgid "Steam link"
msgstr "Steam-Account"
#: rcgcdw.py:201
#: rcgcdw.py:208
msgid "Unknown"
msgstr "Unbekannt"
#: rcgcdw.py:202
#: rcgcdw.py:209
msgid "Edited {target}'s profile"
msgstr "Bearbeitete das Profil von {target}"
#: rcgcdw.py:203
#: rcgcdw.py:210
msgid "{field} field changed to: {desc}"
msgstr "{field} geändert zu: {desc}"
#: rcgcdw.py:207
#: rcgcdw.py:214
msgid "Deleted a comment on {target}'s profile"
msgstr "Löschte ein Kommentar auf dem Profil von {target}"
#: rcgcdw.py:210
#: rcgcdw.py:217
msgid "Changed group membership for {target}"
msgstr "Änderte die Gruppenzugehörigkeit von {target}"
#: rcgcdw.py:214 rcgcdw.py:216
#: rcgcdw.py:221 rcgcdw.py:223
msgid "none"
msgstr "keine"
#: rcgcdw.py:217 rcgcdw.py:311
#: rcgcdw.py:224 rcgcdw.py:349
msgid "No description provided"
msgstr "Keine Zusammenfassung angegeben"
#: rcgcdw.py:218
#: rcgcdw.py:225
msgid "Groups changed from {old_groups} to {new_groups} {reason}"
msgstr "Änderte die Gruppenzugehörigkeit von {old_groups} auf {new_groups}: {reason}"
#: rcgcdw.py:221
#: rcgcdw.py:228
msgid "Protected {target}"
msgstr "Schützte {target}"
#: rcgcdw.py:225
#: rcgcdw.py:232
msgid "Changed protection level for {article}"
msgstr "Änderte den Schutzstatus von {article}"
#: rcgcdw.py:229
#: rcgcdw.py:236
msgid "Removed protection from {article}"
msgstr "Entfernte den Schutz von {article}"
#: rcgcdw.py:232
#: rcgcdw.py:239
msgid "Changed visibility of revision(s) on page {article} "
msgstr "Änderte die Sichtbarkeit einiger Versionen von {article}"
#: rcgcdw.py:235
#: rcgcdw.py:242
msgid "Imported {article} with {count} revision(s)"
msgstr "Importierte {article} mit {count} Versionen"
#: rcgcdw.py:238
#: rcgcdw.py:245
msgid "Restored {article}"
msgstr "Stellte {article} wieder her"
#: rcgcdw.py:241
#: rcgcdw.py:248
msgid "Changed visibility of log events"
msgstr "Änderte die Sichtbarkeit eines Logbucheintrags"
#: rcgcdw.py:244
#: rcgcdw.py:251
msgid "Imported interwiki"
msgstr "Importierte Interwiki"
#: rcgcdw.py:247
#: rcgcdw.py:254
msgid "Edited abuse filter number {number}"
msgstr "Änderte Missbrauchsfilter {number}"
#: rcgcdw.py:250
#: rcgcdw.py:257
msgid "Merged revision histories of {article} into {dest}"
msgstr "Vereinigte Versionsgeschichten von {article} in {dest}"
#: rcgcdw.py:253
#: rcgcdw.py:260
msgid "Added an entry to the interwiki table"
msgstr "Fügte ein Interwiki-Präfix hinzu"
#: rcgcdw.py:254 rcgcdw.py:258
#: rcgcdw.py:261 rcgcdw.py:265
msgid "Prefix: {prefix}, website: {website} | {desc}"
msgstr "Präfix: {prefix}, URL: {website} | {desc}"
#: rcgcdw.py:257
#: rcgcdw.py:264
msgid "Edited an entry in interwiki table"
msgstr "Änderte ein Interwiki-Präfix"
#: rcgcdw.py:261
#: rcgcdw.py:268
msgid "Deleted an entry in interwiki table"
msgstr "Entfernte ein Interwiki-Präfix"
#: rcgcdw.py:262
#: rcgcdw.py:269
msgid "Prefix: {prefix} | {desc}"
msgstr "Präfix: {prefix} | {desc}"
#: rcgcdw.py:265
#: rcgcdw.py:272
msgid "Changed the content model of the page {article}"
msgstr "Änderte das Inhaltsmodell von {article}"
#: rcgcdw.py:266
#: rcgcdw.py:273
msgid "Model changed from {old} to {new}: {reason}"
msgstr "Modell geändert von {old} zu {new}: {reason}"
#: rcgcdw.py:269
#: rcgcdw.py:276
msgid "Edited the sprite for {article}"
msgstr "Edited the sprite for {article}"
#: rcgcdw.py:272
#: rcgcdw.py:279
msgid "Created the sprite sheet for {article}"
msgstr "Created the sprite sheet for {article}"
#: rcgcdw.py:275
#: rcgcdw.py:282
msgid "Edited the slice for {article}"
msgstr "Edited the slice for {article}"
#: rcgcdw.py:278
#: rcgcdw.py:285
msgid "Created a tag \"{tag}\""
msgstr "Erstellte die Markierung \"{tag}\""
#: rcgcdw.py:281
#: rcgcdw.py:289
msgid "Deleted a tag \"{tag}\""
msgstr "Löschte die Markierung \"{tag}\""
#: rcgcdw.py:284
#: rcgcdw.py:293
msgid "Activated a tag \"{tag}\""
msgstr "Aktivierte die Markierung \"{tag}\""
#: rcgcdw.py:287
#: rcgcdw.py:296
msgid "Deactivated a tag \"{tag}\""
msgstr "Deaktivierte die Markierung \"{tag}\""
#: rcgcdw.py:405
#: rcgcdw.py:317
msgid "Tags"
msgstr "Markierungen"
#: rcgcdw.py:443
msgid "Unable to process the event"
msgstr "Ereignis kann nicht verabreitet werden"
#: rcgcdw.py:405
#: rcgcdw.py:443
msgid "error"
msgstr "Fehler"
#: rcgcdw.py:485
#: rcgcdw.py:523
msgid "Daily overview"
msgstr "Tägliche Übersicht"
#: rcgcdw.py:508 rcgcdw.py:509
#: rcgcdw.py:539
msgid " ({} actions)"
msgstr " ({} Aktionen)"
#: rcgcdw.py:540
msgid " UTC ({} actions)"
msgstr " UTC ({} Aktionen)"
#: rcgcdw.py:542 rcgcdw.py:543
msgid "But nobody came"
msgstr "Keine Aktivität"
#: rcgcdw.py:512
msgid " ({} actions)"
msgstr "({} Aktionen)"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Admin actions"
msgstr "Adminaktionen"
msgstr "Admin-Aktionen"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Bytes changed"
msgstr "Bytes geändert"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Day score"
msgstr "Tageswert"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Edits made"
msgstr "Bearbeitungen"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Most active hours"
msgstr "Aktivste Stunden"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Most active users"
msgstr "Aktivste Benutzer"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "New articles"
msgstr "Neue Artikel"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "New files"
msgstr "Neue Dateien"
#: rcgcdw.py:512
msgid "UTC ({} actions)"
msgstr "UTC ({} Aktionen)"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Unique contributors"
msgstr "Einzelne Autoren"
#: rcgcdw.py:625
#: rcgcdw.py:664
msgid "Connection status"
msgstr "Verbindungsstatus"
#: rcgcdw.py:625
#: rcgcdw.py:664
msgid "{wiki} seems to be down or unreachable."
msgstr "Das {wiki} scheint unerreichbar zu sein."
#: rcgcdw.py:635
#: rcgcdw.py:683
msgid "{wiki} is back up!"
msgstr "Das {wiki} ist wieder erreichbar."

Binary file not shown.

View file

@ -5,9 +5,9 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2018-06-23 17:33+0200\n"
"PO-Revision-Date: 2018-06-24 11:03+0200\n"
"Last-Translator: Frisk <piotrex43@protonmail.ch>\n"
"POT-Creation-Date: 2018-06-25 18:01+0200\n"
"PO-Revision-Date: 2018-06-25 18:03+0200\n"
"Last-Translator: JSBM\n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -35,7 +35,7 @@ msgstr "Téléversement d'une nouvelle version de {name}"
msgid "([preview]({link}) | [undo]({undolink}))"
msgstr "([Aperçu]({link}) | [Annuler]({undolink}))"
#: rcgcdw.py:117 rcgcdw.py:133
#: rcgcdw.py:117 rcgcdw.py:140
msgid "Options"
msgstr "Options"
@ -43,15 +43,15 @@ msgstr "Options"
msgid "Uploaded {name}"
msgstr "Téléversement de {name}"
#: rcgcdw.py:126
#: rcgcdw.py:131
msgid "**No license!**"
msgstr "**Aucune license!**"
#: rcgcdw.py:133
#: rcgcdw.py:140
msgid "([preview]({link}))"
msgstr "([Aperçu]({link}))"
#: rcgcdw.py:134
#: rcgcdw.py:141
msgid ""
"{desc}\n"
"License: {license}"
@ -59,302 +59,306 @@ msgstr ""
"{desc}\n"
"License: {license}"
#: rcgcdw.py:137
#: rcgcdw.py:144
msgid "Deleted page {article}"
msgstr "Suppression de la page {article}"
#: rcgcdw.py:140
#: rcgcdw.py:147
msgid "Deleted redirect {article} by overwriting"
msgstr "Suppression par écrasement de la redirection {article}"
#: rcgcdw.py:143
#: rcgcdw.py:150
msgid "A redirect has been made"
msgstr "Une redirection a été créée"
#: rcgcdw.py:143
#: rcgcdw.py:150
msgid "No redirect has been made"
msgstr "Aucune redirection créée"
#: rcgcdw.py:144
#: rcgcdw.py:151
msgid "Moved {article} to {target}"
msgstr "Déplacement de {article} vers {target}"
#: rcgcdw.py:147
#: rcgcdw.py:154
msgid "Moved {article} to {title} over redirect"
msgstr "Déplacement de {article} vers {title} par redirection"
#: rcgcdw.py:150
#: rcgcdw.py:157
msgid "Moved protection settings from {article} to {title}"
msgstr "Transfert des paramètres de protection de {article} vers {title}"
#: rcgcdw.py:154
#: rcgcdw.py:161
msgid "infinity and beyond"
msgstr "toujours"
#: rcgcdw.py:155
#: rcgcdw.py:162
msgid "Blocked {blocked_user} for {time}"
msgstr "{blocked user} a été bloqué pour {time}"
#: rcgcdw.py:159
#: rcgcdw.py:166
msgid "Changed block settings for {blocked_user}"
msgstr "Modification des paramètres de blocage pour {blocked_user}"
#: rcgcdw.py:163
#: rcgcdw.py:170
msgid "Unblocked {blocked_user}"
msgstr "{blocked_user} a été débloqué"
#: rcgcdw.py:167
#: rcgcdw.py:174
msgid "Left a comment on {target}'s profile"
msgstr "Ajout d'un commentaire sur le profil de {target}"
#: rcgcdw.py:171
#: rcgcdw.py:178
msgid "Replied to a comment on {target}'s profile"
msgstr "Réponse à un commentaire sur le profil de {target}"
#: rcgcdw.py:175
#: rcgcdw.py:182
msgid "Edited a comment on {target}'s profile"
msgstr "Édition d'un commentaire sur le profil de {target}"
#: rcgcdw.py:179
#: rcgcdw.py:186
msgid "Location"
msgstr "Emplacement"
#: rcgcdw.py:181
#: rcgcdw.py:188
msgid "About me"
msgstr "À propos de moi"
#: rcgcdw.py:183
#: rcgcdw.py:190
msgid "Google link"
msgstr "Lien Google"
#: rcgcdw.py:185
#: rcgcdw.py:192
msgid "Facebook link"
msgstr "Lien Facebook"
#: rcgcdw.py:187
#: rcgcdw.py:194
msgid "Twitter link"
msgstr "Lien Twitter"
#: rcgcdw.py:189
#: rcgcdw.py:196
msgid "Reddit link"
msgstr "Lien Reddit"
#: rcgcdw.py:191
#: rcgcdw.py:198
msgid "Twitch link"
msgstr "Lien Twitch"
#: rcgcdw.py:193
#: rcgcdw.py:200
msgid "PSN link"
msgstr "Lien PSN"
#: rcgcdw.py:195
#: rcgcdw.py:202
msgid "VK link"
msgstr "Lien VK"
#: rcgcdw.py:197
#: rcgcdw.py:204
msgid "XVL link"
msgstr "Lien XVL"
#: rcgcdw.py:199
#: rcgcdw.py:206
msgid "Steam link"
msgstr "Lien Steam"
#: rcgcdw.py:201
#: rcgcdw.py:208
msgid "Unknown"
msgstr "Inconnu"
#: rcgcdw.py:202
#: rcgcdw.py:209
msgid "Edited {target}'s profile"
msgstr "Modification du profil de {target}"
#: rcgcdw.py:203
#: rcgcdw.py:210
msgid "{field} field changed to: {desc}"
msgstr "{field} modifié pour: {desc}"
#: rcgcdw.py:207
#: rcgcdw.py:214
msgid "Deleted a comment on {target}'s profile"
msgstr "Retrait d'un commentaire sur le profil de {target}"
#: rcgcdw.py:210
#: rcgcdw.py:217
msgid "Changed group membership for {target}"
msgstr "Modification des groupes pour {target}"
#: rcgcdw.py:214 rcgcdw.py:216
#: rcgcdw.py:221 rcgcdw.py:223
msgid "none"
msgstr "aucun"
#: rcgcdw.py:217 rcgcdw.py:311
#: rcgcdw.py:224 rcgcdw.py:349
msgid "No description provided"
msgstr "Aucune description"
#: rcgcdw.py:218
#: rcgcdw.py:225
msgid "Groups changed from {old_groups} to {new_groups} {reason}"
msgstr "Groupe modifié de {old_groups} vers {new_groups}: {reason}"
#: rcgcdw.py:221
#: rcgcdw.py:228
msgid "Protected {target}"
msgstr "Protection de {target}"
#: rcgcdw.py:225
#: rcgcdw.py:232
msgid "Changed protection level for {article}"
msgstr "Modification du niveau de protection de {article}"
#: rcgcdw.py:229
#: rcgcdw.py:236
msgid "Removed protection from {article}"
msgstr "Retrait de la protection de {article}"
#: rcgcdw.py:232
#: rcgcdw.py:239
msgid "Changed visibility of revision(s) on page {article} "
msgstr "Modification de la visibilité de révision(s) sur la page {article} "
#: rcgcdw.py:235
#: rcgcdw.py:242
msgid "Imported {article} with {count} revision(s)"
msgstr "Article {article} importé avec {count} révision(s)"
#: rcgcdw.py:238
#: rcgcdw.py:245
msgid "Restored {article}"
msgstr "Restauration de {article}"
#: rcgcdw.py:241
#: rcgcdw.py:248
msgid "Changed visibility of log events"
msgstr "Modification de la visibilité d'évènements des journaux"
#: rcgcdw.py:244
#: rcgcdw.py:251
msgid "Imported interwiki"
msgstr "Importation d'interwiki"
#: rcgcdw.py:247
#: rcgcdw.py:254
msgid "Edited abuse filter number {number}"
msgstr "Édition de la règle {number} du filtre anti-abus"
#: rcgcdw.py:250
#: rcgcdw.py:257
msgid "Merged revision histories of {article} into {dest}"
msgstr "Fusion de l'historique de {article} vers {dest}"
#: rcgcdw.py:253
#: rcgcdw.py:260
msgid "Added an entry to the interwiki table"
msgstr "Ajout d'une entrée à la table interwiki"
#: rcgcdw.py:254 rcgcdw.py:258
#: rcgcdw.py:261 rcgcdw.py:265
msgid "Prefix: {prefix}, website: {website} | {desc}"
msgstr "Préfixe: {prefix}, site: {website} | {desc}"
#: rcgcdw.py:257
#: rcgcdw.py:264
msgid "Edited an entry in interwiki table"
msgstr "Modification d'une entrée de la table interwiki"
#: rcgcdw.py:261
#: rcgcdw.py:268
msgid "Deleted an entry in interwiki table"
msgstr "Retrait d'une entrée de la table interwiki"
#: rcgcdw.py:262
#: rcgcdw.py:269
msgid "Prefix: {prefix} | {desc}"
msgstr "Préfixe: {prefix} | {desc}"
#: rcgcdw.py:265
#: rcgcdw.py:272
msgid "Changed the content model of the page {article}"
msgstr "Modification du modèle de contenu de l'article {article}"
#: rcgcdw.py:266
#: rcgcdw.py:273
msgid "Model changed from {old} to {new}: {reason}"
msgstr "Modèle changé de {old} à {new}: {reason}"
#: rcgcdw.py:269
#: rcgcdw.py:276
msgid "Edited the sprite for {article}"
msgstr "Édition du sprite de {article}"
#: rcgcdw.py:272
#: rcgcdw.py:279
msgid "Created the sprite sheet for {article}"
msgstr "Création d'une feuille de sprite pour {article}"
#: rcgcdw.py:275
#: rcgcdw.py:282
msgid "Edited the slice for {article}"
msgstr ""
#: rcgcdw.py:278
#: rcgcdw.py:285
msgid "Created a tag \"{tag}\""
msgstr "Création du tag « {tag} »"
#: rcgcdw.py:281
#: rcgcdw.py:289
msgid "Deleted a tag \"{tag}\""
msgstr "Suppression du tag « {tag} »"
#: rcgcdw.py:284
#: rcgcdw.py:293
msgid "Activated a tag \"{tag}\""
msgstr "Activation du tag « {tag} »"
#: rcgcdw.py:287
#: rcgcdw.py:296
msgid "Deactivated a tag \"{tag}\""
msgstr "Désactivation du tag « {tag} »"
#: rcgcdw.py:405
#: rcgcdw.py:317
msgid "Tags"
msgstr "Tags"
#: rcgcdw.py:443
msgid "Unable to process the event"
msgstr "Impossible d'analyser l'évènement"
#: rcgcdw.py:405
#: rcgcdw.py:443
msgid "error"
msgstr "erreur"
#: rcgcdw.py:485
#: rcgcdw.py:523
msgid "Daily overview"
msgstr "Résumé de la journée"
#: rcgcdw.py:508 rcgcdw.py:509
msgid "But nobody came"
msgstr "Aucune activité"
#: rcgcdw.py:512
#: rcgcdw.py:539
msgid " ({} actions)"
msgstr " ({} actions)"
#: rcgcdw.py:512
#: rcgcdw.py:540
msgid " UTC ({} actions)"
msgstr " UTC ({} actions)"
#: rcgcdw.py:542 rcgcdw.py:543
msgid "But nobody came"
msgstr "Aucune activité"
#: rcgcdw.py:547
msgid "Admin actions"
msgstr "Actions d'administrateur"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Bytes changed"
msgstr "Octets modifiés"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Day score"
msgstr "Score du jour"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Edits made"
msgstr "Modifications effectuées"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Most active hours"
msgstr "Heures les plus actives"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Most active users"
msgstr "Membres les plus actifs"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "New articles"
msgstr "Nouveaux articles"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "New files"
msgstr "Nouveaux fichiers"
#: rcgcdw.py:512
msgid "UTC ({} actions)"
msgstr "UTC ({} actions)"
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Unique contributors"
msgstr "Contributeurs uniques"
#: rcgcdw.py:625
#: rcgcdw.py:664
msgid "Connection status"
msgstr "Statut de connexion"
#: rcgcdw.py:625
#: rcgcdw.py:664
msgid "{wiki} seems to be down or unreachable."
msgstr "{wiki} semble être down ou inatteignable."
#: rcgcdw.py:635
#: rcgcdw.py:683
msgid "{wiki} is back up!"
msgstr "{wiki} est de retour!"

Binary file not shown.

View file

@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: RcGcDw\n"
"POT-Creation-Date: 2018-06-23 17:32+0200\n"
"PO-Revision-Date: 2018-06-23 17:33+0200\n"
"POT-Creation-Date: 2018-06-25 18:01+0200\n"
"PO-Revision-Date: 2018-06-25 18:02+0200\n"
"Last-Translator: Frisk <piotrex43@protonmail.ch>\n"
"Language-Team: \n"
"Language: pl\n"
@ -18,30 +18,39 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
#: rcgcdw.py:103
msgid "(N!) "
msgstr "(N!) "
#: rcgcdw.py:103
msgid "m "
msgstr "d "
#: rcgcdw.py:116
msgid "Uploaded a new version of {name}"
msgstr "Przesłał(a) nową wersję {name}"
#: rcgcdw.py:117
msgid "([preview]({link}) | [undo]({undolink}))"
msgstr "([podgląd]({link}) | [wycofaj]({undolink}))"
#: rcgcdw.py:117 rcgcdw.py:140
msgid "Options"
msgstr "Opcje"
#: rcgcdw.py:119
msgid "Uploaded {name}"
msgstr "Przesłał(a) {name}"
#: rcgcdw.py:131
msgid "**No license!**"
msgstr "**Brak licencji!**"
#: rcgcdw.py:140
msgid "([preview]({link}))"
msgstr "([podgląd]({link}))"
#: rcgcdw.py:141
msgid ""
"{desc}\n"
"License: {license}"
@ -49,230 +58,309 @@ msgstr ""
"{desc}\n"
"Licencja: {license}"
#: rcgcdw.py:144
msgid "Deleted page {article}"
msgstr "Usunął/usunęła {article}"
#: rcgcdw.py:147
msgid "Deleted redirect {article} by overwriting"
msgstr ""
"Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla "
"przenoszonej strony"
#: rcgcdw.py:150
msgid "A redirect has been made"
msgstr "Zostało utworzone przekierowanie"
#: rcgcdw.py:150
msgid "No redirect has been made"
msgstr "Nie utworzono przekierowania"
#: rcgcdw.py:151
msgid "Moved {article} to {target}"
msgstr "Przeniósł/przeniosła {article} do {target}"
#: rcgcdw.py:154
msgid "Moved {article} to {title} over redirect"
msgstr "Przeniósł/przeniosła {article} do strony przekierowującej {target}"
#: rcgcdw.py:157
msgid "Moved protection settings from {article} to {title}"
msgstr "Przeniesiono ustawienia zabezpieczeń z {article} do {title}"
#: rcgcdw.py:161
msgid "infinity and beyond"
msgstr "wieczność"
#: rcgcdw.py:162
msgid "Blocked {blocked_user} for {time}"
msgstr "Zablokowano {blocked_user} na {time}"
#: rcgcdw.py:166
msgid "Changed block settings for {blocked_user}"
msgstr "Zmienił ustawienia blokady {blocked_user}"
#: rcgcdw.py:170
msgid "Unblocked {blocked_user}"
msgstr "Zablokował {blocked_user} na {time}"
msgstr "Odblokował {blocked_user}"
#: rcgcdw.py:174
msgid "Left a comment on {target}'s profile"
msgstr "Pozostawiono komentarz na profilu użytkownika {target}"
#: rcgcdw.py:178
msgid "Replied to a comment on {target}'s profile"
msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}"
#: rcgcdw.py:182
msgid "Edited a comment on {target}'s profile"
msgstr "Edytowano komentarz na profilu użytkownika {target}"
#: rcgcdw.py:186
msgid "Location"
msgstr "Lokacja"
#: rcgcdw.py:188
msgid "About me"
msgstr "O mnie"
#: rcgcdw.py:190
msgid "Google link"
msgstr "link Google"
#: rcgcdw.py:192
msgid "Facebook link"
msgstr "link Facebook"
#: rcgcdw.py:194
msgid "Twitter link"
msgstr "link Twitter"
#: rcgcdw.py:196
msgid "Reddit link"
msgstr "link Reddit"
#: rcgcdw.py:198
msgid "Twitch link"
msgstr "link Twitch"
#: rcgcdw.py:200
msgid "PSN link"
msgstr "link PSN"
#: rcgcdw.py:202
msgid "VK link"
msgstr "link VK"
#: rcgcdw.py:204
msgid "XVL link"
msgstr "link XVL"
#: rcgcdw.py:206
msgid "Steam link"
msgstr "link Steam"
#: rcgcdw.py:208
msgid "Unknown"
msgstr "Nieznana"
#: rcgcdw.py:209
msgid "Edited {target}'s profile"
msgstr "Edytowano profil użytkownika {target}"
#: rcgcdw.py:210
msgid "{field} field changed to: {desc}"
msgstr "pole {field} zostało zmienione na: {desc}"
#: rcgcdw.py:214
msgid "Deleted a comment on {target}'s profile"
msgstr "Usunął komentarz na profilu użytkownika {target}"
#: rcgcdw.py:217
msgid "Changed group membership for {target}"
msgstr "Zmieniono przynależność do grup dla {target}"
#: rcgcdw.py:221 rcgcdw.py:223
msgid "none"
msgstr "brak"
#: rcgcdw.py:224 rcgcdw.py:349
msgid "No description provided"
msgstr "Nie podano opisu zmian"
#: rcgcdw.py:225
msgid "Groups changed from {old_groups} to {new_groups} {reason}"
msgstr "Grupy zmienione z {old_groups} do {new_groups} {desc}"
#: rcgcdw.py:228
msgid "Protected {target}"
msgstr "Zabezpieczono {target}"
#: rcgcdw.py:232
msgid "Changed protection level for {article}"
msgstr "Zmieniono poziom zabezpieczeń {article}"
#: rcgcdw.py:236
msgid "Removed protection from {article}"
msgstr "Usunięto zabezpieczenie {article}"
#: rcgcdw.py:239
msgid "Changed visibility of revision(s) on page {article} "
msgstr "Zmieniono widoczność wersji na stroni {article}"
#: rcgcdw.py:242
msgid "Imported {article} with {count} revision(s)"
msgstr "Zaimportowano {article} z {count} wersjami"
#: rcgcdw.py:245
msgid "Restored {article}"
msgstr "Przywrócono {article)"
#: rcgcdw.py:248
msgid "Changed visibility of log events"
msgstr "Zmieniono widoczność logów"
#: rcgcdw.py:251
msgid "Imported interwiki"
msgstr "Zaimportowano interwiki"
#: rcgcdw.py:254
msgid "Edited abuse filter number {number}"
msgstr "Edytowano filtr nadużyć numer (number)"
#: rcgcdw.py:257
msgid "Merged revision histories of {article} into {dest}"
msgstr "Połączono historie {article} z {dest}"
#: rcgcdw.py:260
msgid "Added an entry to the interwiki table"
msgstr "Dodano wpis do tabeli interwiki"
#: rcgcdw.py:261 rcgcdw.py:265
msgid "Prefix: {prefix}, website: {website} | {desc}"
msgstr "Prefix: {prefix}, strona: {website} | desc"
#: rcgcdw.py:264
msgid "Edited an entry in interwiki table"
msgstr "Edytowano wpis interwiki"
#: rcgcdw.py:268
msgid "Deleted an entry in interwiki table"
msgstr "Usunięto wpis interwiki"
#: rcgcdw.py:269
msgid "Prefix: {prefix} | {desc}"
msgstr "Prefix: {prefix} | {desc}"
#: rcgcdw.py:272
msgid "Changed the content model of the page {article}"
msgstr "Zmieniono model zawartości {article}"
#: rcgcdw.py:273
msgid "Model changed from {old} to {new}: {reason}"
msgstr "Model został zmieniony z {old} na {new}: {reason}"
#: rcgcdw.py:276
msgid "Edited the sprite for {article}"
msgstr "Edytowano sprite dla {article}"
#: rcgcdw.py:279
msgid "Created the sprite sheet for {article}"
msgstr "Utworzono sprite sheet dla {article}"
#: rcgcdw.py:282
msgid "Edited the slice for {article}"
msgstr "Edytowano część sprite dla {article}"
#: rcgcdw.py:285
msgid "Created a tag \"{tag}\""
msgstr "Utworzono tag \"{tag}\""
#: rcgcdw.py:289
msgid "Deleted a tag \"{tag}\""
msgstr "Usunięto tag \"{tag}\""
#: rcgcdw.py:293
msgid "Activated a tag \"{tag}\""
msgstr "Aktywowano tag \"{tag}\""
#: rcgcdw.py:296
msgid "Deactivated a tag \"{tag}\""
msgstr "Dezaktywowano tag \"{tag}\""
#: rcgcdw.py:317
msgid "Tags"
msgstr "Tagi"
#: rcgcdw.py:443
msgid "Unable to process the event"
msgstr "Nie udało się odczytać wydarzenia"
#: rcgcdw.py:443
msgid "error"
msgstr "błąd"
#: rcgcdw.py:523
msgid "Daily overview"
msgstr "Podsumowanie dnia"
msgid "But nobody came"
msgstr "Ale nikt nie przyszedł"
#: rcgcdw.py:539
msgid " ({} actions)"
msgstr "({} akcji)"
#: rcgcdw.py:540
msgid " UTC ({} actions)"
msgstr " UTC ({} akcji)"
#: rcgcdw.py:542 rcgcdw.py:543
msgid "But nobody came"
msgstr "Ale nikt nie przyszedł"
#: rcgcdw.py:547
msgid "Admin actions"
msgstr "Akcji administratorskich"
#: rcgcdw.py:547
msgid "Bytes changed"
msgstr "Zmienionych bajtów"
#: rcgcdw.py:547
msgid "Day score"
msgstr "Wynik dnia"
#: rcgcdw.py:547
msgid "Edits made"
msgstr "Zrobionych edycji"
#: rcgcdw.py:547
msgid "Most active hours"
msgstr "Najbardziej aktywne godziny"
#: rcgcdw.py:547
msgid "Most active users"
msgstr "Najbardziej aktywni użytkownicy"
#: rcgcdw.py:547
msgid "New articles"
msgstr "Nowych artykułów"
#: rcgcdw.py:547
msgid "New files"
msgstr "Nowych plików"
msgid "UTC ({} actions)"
msgstr "UTC ({} akcji)"
#: rcgcdw.py:547
msgid "Unique contributors"
msgstr "Unikalnych edytujących"
#: rcgcdw.py:664
msgid "Connection status"
msgstr "Problem z połączeniem"
#: rcgcdw.py:664
msgid "{wiki} seems to be down or unreachable."
msgstr "{wiki} nie działa lub jest nieosiągalna."
#: rcgcdw.py:683
msgid "{wiki} is back up!"
msgstr "{wiki} jest ponownie osiągalna!"

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-06-23 17:33+0200\n"
"POT-Creation-Date: 2018-06-25 18:01+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -31,7 +31,7 @@ msgstr ""
msgid "([preview]({link}) | [undo]({undolink}))"
msgstr ""
#: rcgcdw.py:117 rcgcdw.py:133
#: rcgcdw.py:117 rcgcdw.py:140
msgid "Options"
msgstr ""
@ -39,317 +39,321 @@ msgstr ""
msgid "Uploaded {name}"
msgstr ""
#: rcgcdw.py:126
#: rcgcdw.py:131
msgid "**No license!**"
msgstr ""
#: rcgcdw.py:133
#: rcgcdw.py:140
msgid "([preview]({link}))"
msgstr ""
#: rcgcdw.py:134
#: rcgcdw.py:141
msgid ""
"{desc}\n"
"License: {license}"
msgstr ""
#: rcgcdw.py:137
#: rcgcdw.py:144
msgid "Deleted page {article}"
msgstr ""
#: rcgcdw.py:140
#: rcgcdw.py:147
msgid "Deleted redirect {article} by overwriting"
msgstr ""
#: rcgcdw.py:143
#: rcgcdw.py:150
msgid "A redirect has been made"
msgstr ""
#: rcgcdw.py:143
#: rcgcdw.py:150
msgid "No redirect has been made"
msgstr ""
#: rcgcdw.py:144
#: rcgcdw.py:151
msgid "Moved {article} to {target}"
msgstr ""
#: rcgcdw.py:147
#: rcgcdw.py:154
msgid "Moved {article} to {title} over redirect"
msgstr ""
#: rcgcdw.py:150
#: rcgcdw.py:157
msgid "Moved protection settings from {article} to {title}"
msgstr ""
#: rcgcdw.py:154
#: rcgcdw.py:161
msgid "infinity and beyond"
msgstr ""
#: rcgcdw.py:155
#: rcgcdw.py:162
msgid "Blocked {blocked_user} for {time}"
msgstr ""
#: rcgcdw.py:159
#: rcgcdw.py:166
msgid "Changed block settings for {blocked_user}"
msgstr ""
#: rcgcdw.py:163
#: rcgcdw.py:170
msgid "Unblocked {blocked_user}"
msgstr ""
#: rcgcdw.py:167
#: rcgcdw.py:174
msgid "Left a comment on {target}'s profile"
msgstr ""
#: rcgcdw.py:171
#: rcgcdw.py:178
msgid "Replied to a comment on {target}'s profile"
msgstr ""
#: rcgcdw.py:175
#: rcgcdw.py:182
msgid "Edited a comment on {target}'s profile"
msgstr ""
#: rcgcdw.py:179
#: rcgcdw.py:186
msgid "Location"
msgstr ""
#: rcgcdw.py:181
#: rcgcdw.py:188
msgid "About me"
msgstr ""
#: rcgcdw.py:183
#: rcgcdw.py:190
msgid "Google link"
msgstr ""
#: rcgcdw.py:185
#: rcgcdw.py:192
msgid "Facebook link"
msgstr ""
#: rcgcdw.py:187
#: rcgcdw.py:194
msgid "Twitter link"
msgstr ""
#: rcgcdw.py:189
#: rcgcdw.py:196
msgid "Reddit link"
msgstr ""
#: rcgcdw.py:191
#: rcgcdw.py:198
msgid "Twitch link"
msgstr ""
#: rcgcdw.py:193
#: rcgcdw.py:200
msgid "PSN link"
msgstr ""
#: rcgcdw.py:195
#: rcgcdw.py:202
msgid "VK link"
msgstr ""
#: rcgcdw.py:197
#: rcgcdw.py:204
msgid "XVL link"
msgstr ""
#: rcgcdw.py:199
#: rcgcdw.py:206
msgid "Steam link"
msgstr ""
#: rcgcdw.py:201
#: rcgcdw.py:208
msgid "Unknown"
msgstr ""
#: rcgcdw.py:202
#: rcgcdw.py:209
msgid "Edited {target}'s profile"
msgstr ""
#: rcgcdw.py:203
#: rcgcdw.py:210
msgid "{field} field changed to: {desc}"
msgstr ""
#: rcgcdw.py:207
#: rcgcdw.py:214
msgid "Deleted a comment on {target}'s profile"
msgstr ""
#: rcgcdw.py:210
#: rcgcdw.py:217
msgid "Changed group membership for {target}"
msgstr ""
#: rcgcdw.py:214 rcgcdw.py:216
#: rcgcdw.py:221 rcgcdw.py:223
msgid "none"
msgstr ""
#: rcgcdw.py:217 rcgcdw.py:311
#: rcgcdw.py:224 rcgcdw.py:349
msgid "No description provided"
msgstr ""
#: rcgcdw.py:218
#: rcgcdw.py:225
msgid "Groups changed from {old_groups} to {new_groups} {reason}"
msgstr ""
#: rcgcdw.py:221
#: rcgcdw.py:228
msgid "Protected {target}"
msgstr ""
#: rcgcdw.py:225
#: rcgcdw.py:232
msgid "Changed protection level for {article}"
msgstr ""
#: rcgcdw.py:229
#: rcgcdw.py:236
msgid "Removed protection from {article}"
msgstr ""
#: rcgcdw.py:232
#: rcgcdw.py:239
msgid "Changed visibility of revision(s) on page {article} "
msgstr ""
#: rcgcdw.py:235
#: rcgcdw.py:242
msgid "Imported {article} with {count} revision(s)"
msgstr ""
#: rcgcdw.py:238
#: rcgcdw.py:245
msgid "Restored {article}"
msgstr ""
#: rcgcdw.py:241
#: rcgcdw.py:248
msgid "Changed visibility of log events"
msgstr ""
#: rcgcdw.py:244
#: rcgcdw.py:251
msgid "Imported interwiki"
msgstr ""
#: rcgcdw.py:247
#: rcgcdw.py:254
msgid "Edited abuse filter number {number}"
msgstr ""
#: rcgcdw.py:250
#: rcgcdw.py:257
msgid "Merged revision histories of {article} into {dest}"
msgstr ""
#: rcgcdw.py:253
#: rcgcdw.py:260
msgid "Added an entry to the interwiki table"
msgstr ""
#: rcgcdw.py:254 rcgcdw.py:258
#: rcgcdw.py:261 rcgcdw.py:265
msgid "Prefix: {prefix}, website: {website} | {desc}"
msgstr ""
#: rcgcdw.py:257
#: rcgcdw.py:264
msgid "Edited an entry in interwiki table"
msgstr ""
#: rcgcdw.py:261
#: rcgcdw.py:268
msgid "Deleted an entry in interwiki table"
msgstr ""
#: rcgcdw.py:262
#: rcgcdw.py:269
msgid "Prefix: {prefix} | {desc}"
msgstr ""
#: rcgcdw.py:265
#: rcgcdw.py:272
msgid "Changed the content model of the page {article}"
msgstr ""
#: rcgcdw.py:266
#: rcgcdw.py:273
msgid "Model changed from {old} to {new}: {reason}"
msgstr ""
#: rcgcdw.py:269
#: rcgcdw.py:276
msgid "Edited the sprite for {article}"
msgstr ""
#: rcgcdw.py:272
#: rcgcdw.py:279
msgid "Created the sprite sheet for {article}"
msgstr ""
#: rcgcdw.py:275
#: rcgcdw.py:282
msgid "Edited the slice for {article}"
msgstr ""
#: rcgcdw.py:278
#: rcgcdw.py:285
msgid "Created a tag \"{tag}\""
msgstr ""
#: rcgcdw.py:281
#: rcgcdw.py:289
msgid "Deleted a tag \"{tag}\""
msgstr ""
#: rcgcdw.py:284
#: rcgcdw.py:293
msgid "Activated a tag \"{tag}\""
msgstr ""
#: rcgcdw.py:287
#: rcgcdw.py:296
msgid "Deactivated a tag \"{tag}\""
msgstr ""
#: rcgcdw.py:405
#: rcgcdw.py:317
msgid "Tags"
msgstr ""
#: rcgcdw.py:443
msgid "Unable to process the event"
msgstr ""
#: rcgcdw.py:405
#: rcgcdw.py:443
msgid "error"
msgstr ""
#: rcgcdw.py:485
#: rcgcdw.py:523
msgid "Daily overview"
msgstr ""
#: rcgcdw.py:508 rcgcdw.py:509
msgid "But nobody came"
msgstr ""
#: rcgcdw.py:512
#: rcgcdw.py:539
msgid " ({} actions)"
msgstr ""
#: rcgcdw.py:512
#: rcgcdw.py:540
msgid " UTC ({} actions)"
msgstr ""
#: rcgcdw.py:542 rcgcdw.py:543
msgid "But nobody came"
msgstr ""
#: rcgcdw.py:547
msgid "Admin actions"
msgstr ""
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Bytes changed"
msgstr ""
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Day score"
msgstr ""
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Edits made"
msgstr ""
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Most active hours"
msgstr ""
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Most active users"
msgstr ""
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "New articles"
msgstr ""
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "New files"
msgstr ""
#: rcgcdw.py:512
msgid "UTC ({} actions)"
msgstr ""
#: rcgcdw.py:512
#: rcgcdw.py:547
msgid "Unique contributors"
msgstr ""
#: rcgcdw.py:625
#: rcgcdw.py:664
msgid "Connection status"
msgstr ""
#: rcgcdw.py:625
#: rcgcdw.py:664
msgid "{wiki} seems to be down or unreachable."
msgstr ""
#: rcgcdw.py:635
#: rcgcdw.py:683
msgid "{wiki} is back up!"
msgstr ""

View file

@ -20,7 +20,7 @@
#WARNING! SHITTY CODE AHEAD. ENTER ONLY IF YOU ARE SURE YOU CAN TAKE IT
#You have been warned
import time, logging, json, requests, datetime, re, gettext, math, random, os.path, schedule
import time, logging, json, requests, datetime, re, gettext, math, random, os.path, schedule, sys
from bs4 import BeautifulSoup
from collections import defaultdict, Counter
from urllib.parse import quote_plus
@ -57,7 +57,7 @@ def safe_read(request, *keys):
logging.warning("Failure while extracting data from request on key {key} in {change}".format(key=item, change=request))
return None
except ValueError:
logging.warning("Failure while extracting data from request in {change}".format(key=item, change=request))
logging.warning("Failure while extracting data from request in {change}".format(change=request))
return None
return request
@ -283,9 +283,11 @@ def webhook_formatter(action, STATIC, **params):
elif action == 34:
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=article_encoded)
embed["title"] = _("Created a tag \"{tag}\"").format(tag=params["additional"]["tag"])
recent_changes.update_tags()
elif action == 35:
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=article_encoded)
embed["title"] = _("Deleted a tag \"{tag}\"").format(tag=params["additional"]["tag"])
recent_changes.update_tags()
elif action == 36:
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=article_encoded)
embed["title"] = _("Activated a tag \"{tag}\"").format(tag=params["additional"]["tag"])
@ -303,6 +305,16 @@ def webhook_formatter(action, STATIC, **params):
embed["description"] = params["desc"]
embed["color"] = random.randrange(1, 16777215) if colornumber is None else math.floor(colornumber)
embed["timestamp"] = STATIC["timestamp"]
if STATIC["tags"]:
tag_displayname = []
if "fields" not in embed:
embed["fields"] = []
for tag in STATIC["tags"]:
if tag in recent_changes.tags:
tag_displayname.append(recent_changes.tags[tag])
else:
tag_displayname.append(tag)
embed["fields"].append({"name": _("Tags"), "value": ", ".join(tag_displayname)})
data["embeds"].append(dict(embed))
data['avatar_url'] = settings["avatars"]["embed"]
formatted_embed = json.dumps(data, indent=4)
@ -332,7 +344,7 @@ def handle_discord_http(code, formatted_embed, headers):
def first_pass(change): #I've decided to split the embed formatter and change handler, maybe it's more messy this way, I don't know
parsedcomment = (BeautifulSoup(change["parsedcomment"], "lxml")).get_text()
logging.debug(change)
STATIC_VARS = {"timestamp": change["timestamp"]}
STATIC_VARS = {"timestamp": change["timestamp"], "tags": change["tags"]}
if not parsedcomment:
parsedcomment = _("No description provided")
if change["type"] == "edit":
@ -511,31 +523,28 @@ def day_overview(): #time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time.ti
embed["title"] = _("Daily overview")
embed["url"] = "https://{wiki}.gamepedia.com/Special:Statistics".format(wiki=settings["wiki"])
embed["color"] = settings["appearance"]["daily_overview"]["color"]
embed["author"]["icon_url"] = settings["appearance"]["daily_overview"]["icon"]
embed["author"]["name"] = settings["wikiname"]
embed["author"]["url"] = "https://{wiki}.gamepedia.com/".format(wiki=settings["wiki"])
if activity:
v = activity.values()
active_users = []
for user, numberu in Counter(activity).most_common(list(v).count(max(v))): #find most active users
active_users.append(user)
the_one = random.choice(active_users)
embed["author"]["icon_url"] = settings["appearance"]["daily_overview"]["icon"]
embed["author"]["name"] = settings["wikiname"]
embed["author"]["url"] = "https://{wiki}.gamepedia.com/".format(wiki=settings["wiki"])
#embed["author"]["name"] = the_one
#if re.match(r"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b", the_one) is not None:
#author_url = "https://{wiki}.gamepedia.com/Special:Contributions/{user}".format(wiki=settings["wiki"], user=the_one)
#else:
#author_url = "https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=the_one)
#embed["author"]["url"] = author_url
v = hours.values()
active_hours = []
for hour, numberh in Counter(hours).most_common(list(v).count(max(v))): #find most active users
active_hours.append(str(hour))
usramount = _(" ({} actions)").format(numberu)
houramount = _(" UTC ({} actions)").format(numberh)
else:
active_users = [_("But nobody came")] #a reference to my favorite game of all the time, sorry ^_^
active_hours = [_("But nobody came")]
numberu, numberh = (0, 0)
usramount = ""
houramount = ""
embed["fields"] = []
fields = ((_("Most active users"), ', '.join(active_users) + _(" ({} actions)").format(numberu)), (_("Edits made"), edits), (_("New files"), files), (_("Admin actions"), admin), (_("Bytes changed"), changed_bytes), (_("New articles"), new_articles), (_("Unique contributors"), str(len(activity))), (_("Most active hours"), ', '.join(active_hours) + _("UTC ({} actions)").format(numberh)), (_("Day score"), str(overall)))
fields = ((_("Most active users"), ', '.join(active_users) + usramount), (_("Edits made"), edits), (_("New files"), files), (_("Admin actions"), admin), (_("Bytes changed"), changed_bytes), (_("New articles"), new_articles), (_("Unique contributors"), str(len(activity))), (_("Most active hours"), ', '.join(active_hours) + houramount), (_("Day score"), str(overall)))
for name, value in fields:
embed["fields"].append({"name": name, "value": value})
data = {}
@ -555,6 +564,7 @@ class recent_changes_class(object):
downtimecredibility = 0
last_downtime = 0
clock = 0
tags = {}
if settings["limitrefetch"] != -1:
with open("lastchange.txt", "r") as record:
file_content = record.read().strip()
@ -590,6 +600,9 @@ class recent_changes_class(object):
changes.reverse()
except ValueError:
logging.warning("ValueError in fetching changes")
if changes.url == "https://www.gamepedia.com":
logging.critical("The wiki specified in the settings most probably doesn't exist, got redirected to gamepedia.com")
sys.exit(1)
self.downtime_controller()
return None
except KeyError:
@ -652,8 +665,17 @@ class recent_changes_class(object):
self.last_downtime = time.time()
def clear_cache(self):
self.map_ips = {}
def update_tags(self):
tags_read = safe_read(self.safe_request("https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=tags&tgprop=name%7Cdisplayname".format(wiki=settings["wiki"])), "query", "tags")
if tags_read:
for tag in tags_read:
self.tags[tag["name"]] = (BeautifulSoup(tag["displayname"], "lxml")).get_text()
else:
logging.warning("Could not retrive tags. Internal names will be used!")
recent_changes = recent_changes_class()
recent_changes.update_tags()
time.sleep(1.0)
recent_changes.fetch(amount=settings["limitrefetch" ] if settings["limitrefetch"] != -1 else settings["limit"])
schedule.every(settings["cooldown"]).seconds.do(recent_changes.fetch)

View file

@ -3,7 +3,7 @@
"wiki": "minecraft",
"lang": "en",
"header": {
"user-agent": "FrisksRcGcDw/1.0"
"user-agent": "FrisksRcGcDw/1.1"
},
"limit": 11,
"webhookURL": "https://discordapp.com/api/webhooks/111111111111111111/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",