|
@@ -1,7 +1,7 @@
|
|
|
import axios from 'axios';
|
|
|
import fetchCookie = require('fetch-cookie');
|
|
|
import { writeFileSync } from 'fs';
|
|
|
-import { MWBot } from 'mediawiki2';
|
|
|
+import { MWBot, WikiError } from 'mediawiki2';
|
|
|
import nodeFetch from 'node-fetch';
|
|
|
import { firefox } from 'playwright';
|
|
|
import { CookieJar } from 'tough-cookie';
|
|
@@ -108,7 +108,14 @@ export default class {
|
|
|
return this.bot.simpleUpload({
|
|
|
file: mediaFileName,
|
|
|
filename,
|
|
|
- }).then(() => filename)
|
|
|
+ })
|
|
|
+ .then(() => filename)
|
|
|
+ .catch(error => {
|
|
|
+ if (error instanceof WikiError && error.data.result === 'Warning') {
|
|
|
+ const {duplicate} = error.data.warnings;
|
|
|
+ if (duplicate) return duplicate[0];
|
|
|
+ } else throw error;
|
|
|
+ })
|
|
|
});
|
|
|
mediaItems.push(mediaPromise);
|
|
|
});
|