sunflower 0.4.5 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
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