sunflower 0.4.5 → 0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +1 -1
- data/example-bot.rb +7 -8
- data/lib/sunflower/commontasks.rb +3 -77
- data/lib/sunflower/core.rb +257 -78
- data/lib/sunflower/list.rb +255 -0
- data/lib/sunflower.rb +1 -1
- metadata +3 -12
- data/lib/sunflower/listmaker.rb +0 -160
- data/scripts/ZDBOT.rb +0 -62
- data/scripts/aktualizacjapilkarzy.rb +0 -339
- data/scripts/author-list.rb +0 -36
- data/scripts/changeimage.rb +0 -42
- data/scripts/fix-multiple-same-refs.rb +0 -102
- data/scripts/insight.rb +0 -133
- data/scripts/make-id2team-list.rb +0 -32
- data/scripts/wanted.rb +0 -72
- data/use-easy-bot.rb +0 -54
data/scripts/wanted.rb
DELETED
@@ -1,72 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
require 'sunflower.rb'
|
4
|
-
require 'pp'
|
5
|
-
|
6
|
-
s=Sunflower.new('pl.wikipedia.org')
|
7
|
-
print "Logging in to #{s.wikiURL}... "
|
8
|
-
#s.login
|
9
|
-
print "done!\n"
|
10
|
-
|
11
|
-
# EDIT SUMMARY BELOW
|
12
|
-
$summary='aktualizacja'
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
$all=File.open('wantedpages-20110211.txt', 'rb'){|f| f.read.force_encoding 'UTF-8'}.split(/\r?\n/).map{|ln| a=ln.split("\t"); a[1]=a[1].to_i; a}
|
18
|
-
|
19
|
-
puts "Lock'd and loaded"
|
20
|
-
|
21
|
-
def get a, b
|
22
|
-
a,b=a.to_i, b.to_i
|
23
|
-
$all.select{|name, count| count.between? a,b}.map{|name, count| "* [[#{name}]] - #{count}"}.join "\n"
|
24
|
-
end
|
25
|
-
|
26
|
-
|
27
|
-
ranges=[
|
28
|
-
100..9999,
|
29
|
-
50..99,
|
30
|
-
40..49,
|
31
|
-
30..39,
|
32
|
-
25..29,
|
33
|
-
22..24,
|
34
|
-
20..21,
|
35
|
-
18..19,
|
36
|
-
16..17,
|
37
|
-
15, 14, 13, 12, 11, 10,
|
38
|
-
9, 8, 7, 6, 5
|
39
|
-
]
|
40
|
-
|
41
|
-
kat='A'
|
42
|
-
|
43
|
-
ranges.each do |rng|
|
44
|
-
if rng.is_a?(Range)
|
45
|
-
a,b = rng.begin, rng.end
|
46
|
-
else
|
47
|
-
a,b = rng, rng
|
48
|
-
end
|
49
|
-
|
50
|
-
n="#{a}-#{b}"
|
51
|
-
n="#{a}+" if b==9999
|
52
|
-
n="#{a}" if b==a
|
53
|
-
|
54
|
-
intro=<<EOF
|
55
|
-
Na tej stronie znajdują się najbardziej potrzebne strony, do których linki pojawiają się na #{n} stronach. Bazę utworzył Saper w lutym 2011 roku ([http://toolserver.org/~saper/wantedpages-20110211.txt pełna lista, ok. 37 MB]).
|
56
|
-
|
57
|
-
''Po prawej podana jest liczba dolinkowanych. Niebieskie linki do wycięcia. Czerwone do ewentualnego przenoszenia na podstrony [[Wikipedia:Brakujące hasła|brakujących haseł]].''
|
58
|
-
|
59
|
-
[[Kategoria:Najbardziej potrzebne strony| #{kat}]]
|
60
|
-
EOF
|
61
|
-
|
62
|
-
title="Wikipedia:Propozycje tematów/Najbardziej potrzebne #{n} #{b==24 ? 'linki' : 'linków'}"
|
63
|
-
|
64
|
-
File.open(n+'.txt', 'wb'){|f| f.write "#{intro}\n\n#{get a,b}"}
|
65
|
-
|
66
|
-
|
67
|
-
kat=kat.succ
|
68
|
-
|
69
|
-
|
70
|
-
puts n
|
71
|
-
end
|
72
|
-
|
data/use-easy-bot.rb
DELETED
@@ -1,54 +0,0 @@
|
|
1
|
-
require 'sunflower-commontasks.rb'
|
2
|
-
|
3
|
-
# EDIT WIKI URL BELOW
|
4
|
-
s=Sunflower.new('en.wikipedia.org')
|
5
|
-
|
6
|
-
print "Logging in to #{s.wikiURL}... "
|
7
|
-
# EDIT USERNAME AND PASSWORD BELOW
|
8
|
-
s.login('Username','password')
|
9
|
-
print "done!\n"
|
10
|
-
|
11
|
-
print "Reading articles list... "
|
12
|
-
# EDIT FILENAME BELOW
|
13
|
-
f=File.open('filename.txt')
|
14
|
-
list=f.read.sub(/\357\273\277/,'').strip.split(/\r?\n/)
|
15
|
-
print "done!\n\n"
|
16
|
-
|
17
|
-
# EDIT SUMMARY BELOW
|
18
|
-
$summary='Sunflower: test'
|
19
|
-
|
20
|
-
list.each do |title|
|
21
|
-
print "Reading page #{title}... "
|
22
|
-
page=Page.get(title)
|
23
|
-
print "done.\n"
|
24
|
-
print "Modifying... "
|
25
|
-
|
26
|
-
page.execute([
|
27
|
-
# commands to execute on each article
|
28
|
-
# zostaną wykonane w takiej kolejności, jak podane; wywal albo zakomentuj i wstaw własne
|
29
|
-
# EDIT BELOW
|
30
|
-
[:replace, 'test1', 'test2', true], #zamieni pierwsze wystąpienie test1 na test2 w artykule
|
31
|
-
[:replace, 'asd', 'fgh'], #jw., ale zamieni każde wystąpienie
|
32
|
-
[:replace, /(\d+).(\d+)/, '\1,\2'], #jw., ale używając regeksów; należy używać \1, nie $1
|
33
|
-
[:prepend, 'Some text.'], #doda na początku artykułu dwa entery i tekst
|
34
|
-
[:append, 'Some more text.', 4], #jw., ale na końcu i 4 entery; można podać dowolną liczbę
|
35
|
-
[:code_cleanup], #część WP:SK, zamierzam uzupełnić
|
36
|
-
[:friendly_infobox], #oczyszczony sprzątacz infoboksów
|
37
|
-
|
38
|
-
#a teraz przykłady flag; też je wywal/zakomentuj
|
39
|
-
#każda flaga ma skróty; required=r, summary=s - można używać zamiennie
|
40
|
-
[[:replace, 'required'], 'qwe', 'rty'] #zamieni każde qwe na rty; jeśli nie uda mu się wykonać żadnych zmian, anuluje wszystko, co zrobiły inne polecenia oraz nie będzie zapisywał artykułu
|
41
|
-
[:replace, 'r', 'summary:testowy opis'], 'qwe', 'rty'] #jw., ale w razie sukcesu doda tekst (wraz z przecinkiem) do opisu zmian; można używać dowolnej liczby flag dla jednego polecenia, w dowolnej kolejności
|
42
|
-
|
43
|
-
#Teoretycznie możliwe jest też użycie flag only-if oraz only-if-not (skróty: oi, !oi; po dwukropku trzeba podać nazwę modułu (np. replace), który musi/nie może zostać uruchomiony i wykonać zmian, aby uruchomił się moduł oznaczony flagą. Ale to trochę bez sensu, bo w gruncie rzeczy nie wiadomo, co taki replace zrobił, a na razie wszystkie pozostałe zawsze coś zmienią. Kiedyś jednak może się przydać).
|
44
|
-
# EDIT ABOVE
|
45
|
-
])
|
46
|
-
|
47
|
-
print "done.\n"
|
48
|
-
print "Saving... "
|
49
|
-
page.save
|
50
|
-
print "done!\n\n"
|
51
|
-
end
|
52
|
-
|
53
|
-
print 'Finished! Press any key to close.'
|
54
|
-
gets
|