-
Notifications
You must be signed in to change notification settings - Fork 1
/
tagPhotos.js
executable file
·105 lines (86 loc) · 2.36 KB
/
tagPhotos.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/usr/bin/env node
/**
* Skrypt kategoryzujący zdjęcia opublikowane przez poszczególnych użytkowników
*/
var bot = require('nodemw'),
client = new bot('config.js'),
images = [];
var PREFIX = 'Plik:IMG '; // 11 ujęć
function getBatch(start) {
client.getImages(start, function(err, data, next) {
images = images.concat(data);
if (next) {
getBatch(next);
}
else {
console.log('Images count: ' + images.length);
processImages(images);
}
});
}
function processImages(images) {
client.logIn(function(err) {
var total = images.length,
item = 1;
images.forEach(function(image) {
if ((typeof PREFIX !== 'undefined') && image.title.indexOf(PREFIX) !== 0) {
//return;
}
client.getImageInfo(image.title, function(err, meta) {
console.log((item++) + '/' + total + ': ' + image.title + '...');
if (!meta || !meta.exif) {
return;
}
var marker = false,
remove = false;
// sprawdź autora zdjęcia
switch(meta.user) {
case 'Macbre':
if (meta.exif.Model === 'Canon EOS 450D') {
marker = 'Fotografie użytkownika Macbre';
}
break;
case 'Porywacz zwlok':
//if (meta.exif.Model === 'Canon EOS 600D') {
marker = 'Fotografie 11 ujęć';
//}
break;
case 'Jan Kaczmarek 22':
if (meta.exif.Model === 'NIKON 1 J2') {
marker = 'Fotografie użytkownika Jan Kaczmarek 22';
}
break;
/**/
case 'Inaçio Angelos':
remove = true;
break;
}
if (remove === true) {
client.log('Usuwam %s...', image.title);
client.delete(image.title, 'Usuwam zdjęcia autorstwa ' + meta.user, function(err, res) {
if (!err) {
client.log('%s usunięty', image.title);
}
});
}
if (marker !== false) {
console.log(image.title + ' sprawdzam (' + meta.user + ')...');
client.getArticle(image.title, function(err, content) {
// zdjęcie już oznaczone
if (content.indexOf(marker) > -1) {
return;
}
// dodaj szablon
var template = '{{Szablon:' + marker + '}}';
content = (template + "\n\n" + (content || '')).trim();
console.log(image.title + ' oznaczam...');
client.edit(image.title, content, 'Oznaczanie zdjęć', function(err, data) {
console.log(image.title + ' oznaczony!');
});
});
}
});
});
});
}
getBatch(0);