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/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