sunflower 0.2

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.
@@ -0,0 +1,49 @@
1
+ require 'sunflower-commontasks.rb'
2
+ require 'sunflower-listmaker.rb'
3
+
4
+ # EDIT WIKI URL BELOW
5
+ s=Sunflower.new
6
+
7
+ print "Logging in to #{s.wikiURL}... "
8
+ # EDIT USERNAME AND PASSWORD BELOW
9
+ s.login
10
+ print "done!\n"
11
+
12
+ print "Reading articles list... "
13
+ # EDIT FILENAME BELOW
14
+ str=HTTP.get(URI.parse('http://toolserver.org/~sk/cgi-bin/checkwiki/checkwiki.cgi?project=plwiki&view=bots&id=32&offset=0&limit=2500'))
15
+ list=str[(str.index('<pre>')+5)...(str.index('</pre>'))].strip.split(/\r?\n/)
16
+ print "done!\n\n"
17
+
18
+ # EDIT SUMMARY BELOW
19
+ $summary='poprawa podwójnych znaków pipe w linkach, [[WP:SK]]'
20
+
21
+ failcounter=0
22
+ list.each do |title|
23
+ begin
24
+ print "Reading page #{title}... "
25
+ page=Page.get(title)
26
+ print "done.\n"
27
+ print "Modifying... "
28
+
29
+ page.replace(/\[\[([^\|\]]+)\|\|([^\]]+)\]\]/, '[[\1|\2]]')
30
+ page.codeCleanup unless page.origText==page.text
31
+
32
+ print "done.\n"
33
+ print "Saving... "
34
+ page.save
35
+ print "done!\n\n"
36
+ rescue
37
+ failcounter+=1
38
+ if failcounter<5
39
+ print "#{failcounter}th error, retrying!\n"
40
+ redo
41
+ else
42
+ print "#{failcounter}th error!\n\n"
43
+ next
44
+ end
45
+ end
46
+ end
47
+
48
+ print 'Finished! Press any key to close.'
49
+ gets
@@ -0,0 +1,43 @@
1
+ require 'sunflower-commontasks.rb'
2
+ require 'sunflower-listmaker.rb'
3
+
4
+ # EDIT WIKI URL BELOW
5
+ s=Sunflower.new('pl.wikipedia.org')
6
+
7
+ print "Logging in to #{s.wikiURL}... "
8
+ # EDIT USERNAME AND PASSWORD BELOW
9
+ s.login
10
+ print "done!\n"
11
+
12
+ print "Reading articles list... "
13
+ # EDIT FILENAME BELOW
14
+ list=s.make_list('category', 'Kategoria:Nierozpoznany kod języka w szablonie lang')
15
+ print "done!\n\n"
16
+
17
+ # EDIT SUMMARY BELOW
18
+ $summary='dr.tech.'
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.replace(/(\{\{cytuj [^\}]+?\|\s*język\s*=\s*|\{\{(?:multi|)lang\|)(angielskim?|eng?lish|ang\.|ang|eng?\.|eng|\[\[(?:język |)angielski[^\]]*\]\])/i, '\1en')
27
+ page.replace(/(\{\{cytuj [^\}]+?\|\s*język\s*=\s*|\{\{(?:multi|)lang\|)(polskim?|pol\.|pol|pl\.|\[\[(?:język |)polski[^\]]*\]\])/i, '\1pl')
28
+ page.replace(/(\{\{cytuj [^\}]+?\|\s*język\s*=\s*|\{\{(?:multi|)lang\|)(rosyjskim?|r[uo]s\.|r[uo]s|\[\[(?:język |)rosyjski[^\]]*\]\])/i, '\1ru')
29
+ page.replace(/(\{\{cytuj [^\}]+?\|\s*język\s*=\s*|\{\{(?:multi|)lang\|)(cz)/i, '\1cs')
30
+ page.replace(/(\{\{cytuj [^\}]+?\|\s*język\s*=\s*|\{\{(?:multi|)lang\|)(dk)/i, '\1da')
31
+ page.replace(/(\{\{cytuj [^\}]+?\|\s*język\s*=\s*|\{\{(?:multi|)lang\|)(nb)/i, '\1no')
32
+ page.replace(/(\{\{cytuj [^\}]+?\|\s*język\s*=\s*|\{\{(?:multi|)lang\|)(jp)/i, '\1ja')
33
+ page.replace(/(\{\{cytuj [^\}]+?\|\s*język\s*=\s*|\{\{(?:multi|)lang\|)(greka|greckim?|gr\.?|eleka|eleckim?)/i, '\1el')
34
+ #page.text=page.text.gsub(/(\{\{cytuj [^\}]+?\|\s*język\s*=\s*|\{\{(?:multi|)lang\|)([^\}\|]+)/i){$1+$2.downcase.split(/[^a-z-]+/).join('{{!}}')}
35
+
36
+ print "done.\n"
37
+ print "Saving... "
38
+ page.save unless page.orig_text.downcase==page.text.downcase
39
+ print "done!\n\n"
40
+ end
41
+
42
+ print 'Finished! Press any key to close.'
43
+ gets
@@ -0,0 +1,102 @@
1
+ require 'sunflower-commontasks.rb'
2
+ require 'sunflower-listmaker.rb'
3
+
4
+ # EDIT WIKI URL BELOW
5
+ s=Sunflower.new
6
+
7
+ print "Logging in to #{s.wikiURL}... "
8
+ # EDIT USERNAME AND PASSWORD BELOW
9
+ s.login
10
+ print "done!\n"
11
+
12
+ print "Reading articles list... "
13
+ # EDIT FILENAME BELOW
14
+ list=s.make_list('file', 'multirefs.txt')
15
+ print "done!\n\n"
16
+
17
+ # EDIT SUMMARY BELOW
18
+ $summary='poprawa powtarzających się przypisów, [[WP:SK]]'
19
+
20
+ list.each do |title|
21
+ $refcount=0
22
+
23
+ print "Reading page #{title}... "
24
+ #page=Page.get(title)
25
+ page=Page.new
26
+ page.text=<<EOF
27
+ '''Abraham von Dohna''' (ur. [[11 grudnia]] [[1561]]r., zm. [[1 maja]] [[1613]] r. we [[Wrocław]]iu) – władca [[Syców|sycowskiego]] [[wolne państwo stanowe|wolnego państwa stanowego]] od [[1592]]<ref>A. i A. Galasowie, ''Dzieje Śląska w datach'', wyd. Rzeka, Wrocław 2001, s. 353.</ref>
28
+
29
+ ==Rodzina i pochodzenie==
30
+ Pochodził z [[Prusy|pruskiego]] [[Ród Dohnów|rodu von Dohna]], osiadłego na [[Śląsk]]u w [[XIII]] w. Był synem Abrahama von Dohna seniora, który był [[starosta|starostą]] [[Księstwo głogowskie|głogowskim]]. W [[1587]] r. poślubił Eleonorę von Saurma-Jeltsch.<ref>T. Kulak, W. Mrozowicz, ''Syców i okolice od czasów najdawniejszych po współczesność'', s. 47.</ref>
31
+
32
+ ==Kariera polityczna==
33
+ Był aktywny politycznie. Wcześnie rozpoczął karierę na [[dwór|dworze cesarskim]] uczestnicząc w licznych misjach dyplomatycznych na terenie [[Polska|Polski]] i [[Rosja|Rosji]], gdzie zabiegał o pogodzenie obu zwaśnionych państw w obliczu zagrożenia ze strony [[Imperium Osmańskie]]go oraz do [[Hiszpania|Hiszpanii]]. W [[1596]] r. został mianowany [[wójt|wójtem krajowym]] [[Łużyce|Łużyc Górnych]].<ref>''Ibidem'', s. 47.</ref>
34
+
35
+ ==Wolny pan stanowy Sycowa==
36
+ Ożenek z bogatą Eleonorą von Saurma-Jeltsch zapewnił mu znaczne fundusze na zakup sycowskiego wolnego państwa stanowego od zadłużonego [[Georg Wilhelm von Braun|Jerzego Wilhelma von Braun]] w [[1592]] r.<ref>''Ibidem'', s. 47.</ref>
37
+
38
+ Udało mu się zakończyć wieloletni spór o [[Międzybórz]] i okolice, który zakończył się jego utrata na rzecz [[Księstwo oleśnickie|księstwa oleśnickiego]]. W latach [[1604]]-[[1605|05]] za kwotę 50 tys. talarów nabył majątek [[Goszcz]]. Uregulował kwestie następstwa tronu w sycowskim wolnym państwie stanowym po swojej śmierci poprzez ustanowienie zasady [[primogenitura|primogenitury]], która została zatwierdzona przez [[cesarz]]a [[Rudolf II Habsburg|Rudolfa II]] w [[1600]] r.<ref>''Ibidem'', s. 48.</ref>
39
+
40
+ W [[1594]] r. rozpoczął budowę nowego [[Zamek w Sycowie|zamku]] w [[Syców|Sycowie]] razem z parkiem, która zastąpiła dotychczasowy zamek, który częściowo znajdował się w ruinie po oblężeniu za panowania [[Joachim I von Maltzan|Joachima von Maltzana]]. Ukończoną ją w [[1608]] r.
41
+
42
+ ===Sprawy religijne===
43
+ W [[1592]] r. wydał przywilej gwarantujący na terenie swojego państwa wolność religijna i uprawnienie dla [[Protestantyzm|protestantów]]. Chociaż wychował się w duchu protestantyzmu wyraźnie sprzyjał [[Katolicyzm|katolikom]], odbierając w [[1601]] r. sycowskim protestantom [[Kościół św. Piotra i Pawła w Sycowie|kościół św. Piotra i Pawła]], pozostawiając w ich rękach mniejszy kościół p.w. św. Michała.<ref>''Ibidem'', s. 47.</ref>
44
+
45
+ ===Sprawy gospodarcze i poszerzenie granic władztwa===
46
+ Podczas swoich rządów wykazał się dużą dbałością o zarządzanie swoimi dobrami. W [[1592]] r. dokupił [[Dziadowa Kłoda|Dziadową Kłodę]], a cztery lata później przyłączył dwie części [[Trębaczów|Trębaczowa]], sprzedając przy okazji [[Komorów]].<ref>''Ibidem'', s. 47.</ref> Od miasta [[Syców|Sycowa]] odkupił prawo wyszynku piwa i wina oraz kilka stawów rybnych. Na terenie swoich włości zakładał nowe [[folwark]]i oraz bażanciarnię. Zaradził uprawę [[winorośl]]i, [[chmiel]]u, owoców i warzyw. Rozwijała się gospodarka leśna i rybno-stawowa.<ref>''Ibidem'', s. 48.</ref>
47
+
48
+ ==Ostatnie lata życia i śmierć==
49
+ Pod koniec życia z powodu rozwijającego się [[artretyzm]]u zrezygnował z urzędu wójta Górnych Łużyc ([[1612]] r.) Niedługo potem,[[1 maja]] [[1613]] r. zmarł we [[Wrocław]]iu, zaś jego ciało zostało przewiezione do Sycowa, gdzie został pochowany [[28 czerwca]] w zbudowanej na jego prośbę nowej krypcie rodzinnej, która stanęła pod północna kaplicą boczną kościoła parafialnego św. Piotra i św. Pawła.<ref>''Ibidem'', s. 48.</ref>
50
+
51
+ == Bibliografia ==
52
+ * [[Teresa Kulak|T. Kulak]], [[Wojciech Mrozowicz|W. Mrozowicz]], ''Syców i okolice od czasów najdawniejszych po współczesność'', wyd. Oficyna wydawnicza ''Atut'', Wrocław-Syców 2000.
53
+ * J. Franzkowski, ''Geschichte der freien Standesherrschaft, der Stadt und des landrätlichen Kreises Gross Wartenberg'', Gross Wartenberg 1912.
54
+
55
+ == Przypisy==
56
+ <references/>
57
+
58
+ {{Poprzednik Następca|urząd=[[Plik:POL Syców COA.svg|40px]] [[Syców|Wolny pan stanowy Sycowa]] [[Plik:POL Syców COA.svg|40px]]|lata=[[1592]]- [[1613]]|pop=[[Georg Wilhelm von Braun]]|nast=[[Karl Hannibal von Dohna]]}}
59
+
60
+
61
+ [[Kategoria:Urodzeni w 1561]]
62
+ [[Kategoria:Zmarli w 1613]]
63
+
64
+ [[de:Abraham von Dohna]]
65
+ EOF
66
+ print "done.\n"
67
+ print "Modifying... "
68
+
69
+ page.replace("\r\n", "\n")
70
+
71
+ 30.times do
72
+ page.text=page.text.sub( # that's ugly, but simpliest
73
+ /<ref(?: name="([^"]+|)"|)>(.+?)<\/ref>([\s\S]+?)<ref(?: name="[^"]+"|)>\2<\/ref>(?:([\s\S]+?)<ref(?: name="[^"]+"|)>\2<\/ref>)?(?:([\s\S]+?)<ref(?: name="[^"]+"|)>\2<\/ref>)?(?:([\s\S]+?)<ref(?: name="[^"]+"|)>\2<\/ref>)?(?:([\s\S]+?)<ref(?: name="[^"]+"|)>\2<\/ref>)?(?:([\s\S]+?)<ref(?: name="[^"]+"|)>\2<\/ref>)?(?:([\s\S]+?)<ref(?: name="[^"]+"|)>\2<\/ref>)?(?:([\s\S]+?)<ref(?: name="[^"]+"|)>\2<\/ref>)?(?:([\s\S]+?)<ref(?: name="[^"]+"|)>\2<\/ref>)?/
74
+ ) do
75
+ # $1 = name pierwszego refa; $2 = tekst refów; $3..n = teksty między refami
76
+ name=($1.to_s!='' ? $1.to_s : 'auto-'+($refcount=$refcount+1).to_s)
77
+ res='<ref name="'+name+'">'+$2+'</ref>'+$3+'<ref name="'+name+'" />'
78
+
79
+ i=4
80
+ while(! eval("$#{i}").nil?)
81
+ res+=eval("$#{i}")+'<ref name="'+name+'" />'
82
+ i=i+1
83
+ end
84
+
85
+ res
86
+ end
87
+ end
88
+
89
+ page.codeCleanup
90
+
91
+
92
+
93
+ print "done.\n"
94
+ print "Saving... "
95
+ #page.save
96
+ page.dumpto 'reftest.txt'
97
+ gets
98
+ print "done!\n\n"
99
+ end
100
+
101
+ print 'Finished! Press any key to close.'
102
+ gets
@@ -0,0 +1,43 @@
1
+ require 'sunflower-commontasks.rb'
2
+ require 'sunflower-listmaker.rb'
3
+
4
+ # EDIT WIKI URL BELOW
5
+ s=Sunflower.new
6
+
7
+ print "Logging in to #{s.wikiURL}... "
8
+ # EDIT USERNAME AND PASSWORD BELOW
9
+ s.login
10
+ print "done!\n"
11
+
12
+ print "Reading articles list... "
13
+ # EDIT FILENAME BELOW
14
+ str=HTTP.get(URI.parse('http://toolserver.org/~sk/cgi-bin/checkwiki/checkwiki.cgi?project=plwiki&view=bots&id=11&offset=0&limit=2500'))
15
+ list=str[(str.index('<pre>')+5)...(str.index('</pre>'))].strip.split(/\r?\n/)
16
+ print "done!\n\n"
17
+
18
+ # EDIT SUMMARY BELOW
19
+ $summary='poprawa encji na znaki Unicode, [[WP:SK]]'
20
+
21
+ list.each do |title|
22
+ print "Reading page #{title}... "
23
+ page=Page.get(title)
24
+ print "done.\n"
25
+ print "Modifying... "
26
+
27
+ to='− → ← ↓ ↑ ∞ · • å à ñ ä ö ü ß – — ⇒ £ À ¢ ↔ " æ Å … ’ ‘'.split ' '
28
+ from='&minus; &rarr; &larr; &darr; &uarr; &infin; &middot; &bull; &aring; &agrave; &ntilde; &auml; &ouml; &uuml; &szlig; &ndash; &mdash; &rArr; &pound; &Agrave; &cent; &harr; &quot; &aelig; &Aring; &hellip; &rsquo; &lsquo;'.split ' '
29
+
30
+ from.each_index do |i|
31
+ page.replace(from[i], to[i])
32
+ end
33
+
34
+ page.codeCleanup unless page.origText==page.text
35
+
36
+ print "done.\n"
37
+ print "Saving... "
38
+ page.save
39
+ print "done!\n\n"
40
+ end
41
+
42
+ print 'Finished! Press any key to close.'
43
+ gets
@@ -0,0 +1,51 @@
1
+ require 'sunflower-commontasks.rb'
2
+ require 'sunflower-listmaker.rb'
3
+
4
+ # EDIT WIKI URL BELOW
5
+ s=Sunflower.new
6
+
7
+ print "Logging in to #{s.wikiURL}... "
8
+ # EDIT USERNAME AND PASSWORD BELOW
9
+ s.login
10
+ print "done!\n"
11
+
12
+ print "Reading articles list... "
13
+ # EDIT FILENAME BELOW
14
+ str=HTTP.get(URI.parse('http://toolserver.org/~sk/cgi-bin/checkwiki/checkwiki.cgi?project=plwiki&view=bots&id=16&offset=0&limit=2500'))
15
+ list=str[(str.index('<pre>')+5)...(str.index('</pre>'))].strip.split(/\r?\n/)
16
+ print "done!\n\n"
17
+
18
+ # EDIT SUMMARY BELOW
19
+ $summary='poprawa znaków kontrolnych Unicode, [[WP:SK]]'
20
+
21
+ failcounter=0
22
+ list.each do |title|
23
+ begin
24
+ print "Reading page #{title}... "
25
+ page=Page.get(title)
26
+ print "done.\n"
27
+ print "Modifying... "
28
+
29
+ page.replace(/|‎|​/, "")
30
+
31
+
32
+ page.codeCleanup
33
+
34
+ print "done.\n"
35
+ print "Saving... "
36
+ page.save
37
+ print "done!\n\n"
38
+ rescue
39
+ failcounter+=1
40
+ if failcounter<5
41
+ print "#{failcounter}th error, retrying!\n"
42
+ redo
43
+ else
44
+ print "#{failcounter}th error!\n\n"
45
+ next
46
+ end
47
+ end
48
+ end
49
+
50
+ print 'Finished! Press any key to close.'
51
+ gets
@@ -0,0 +1,133 @@
1
+ require 'net/http'
2
+ require 'uri'
3
+ require 'cgi'
4
+ include Net
5
+
6
+ require 'sunflower-core.rb'
7
+ s=Sunflower.new
8
+ s.login
9
+
10
+ przejrzane=Page.new 'Wikipedysta:PMG/przejrzane'
11
+ t=przejrzane.read
12
+
13
+
14
+ begin
15
+ f=File.open('puredata.txt','r')
16
+ pd1=f.read.split(/\r?\n/)
17
+ f.close
18
+ rescue
19
+ pd1=[]
20
+ end
21
+
22
+ pdv=[]
23
+ pdn=[]
24
+ pd1.each do |i|
25
+ n=i.split('|')
26
+ n[1]='' if n[1]==nil
27
+
28
+ pdn<<n[0]
29
+ pdv<<n[1]
30
+ end
31
+
32
+ f=File.open('puredata.txt','w')
33
+
34
+ $counter=0
35
+ nt=t.sub(/(\{\| class="wikitable sortable"(?:\s*!.+)+)\s*\|-([\s\S]+?)(\|\})/){
36
+ nl="\n" #shorten
37
+ before=$1
38
+ after=$3
39
+
40
+ data=$2.split("|-\n|")
41
+ data=data.map{|i|
42
+ i.strip.split(/\s*\|\s*/)
43
+ }
44
+
45
+ data2=[]
46
+ for d in data
47
+ d.shift if d[0].strip==''
48
+
49
+ # load puredata, if possible, and skip the rest
50
+ # if pd[d[-1]]!=nil #&& pd[d[-1]]!=''
51
+ i=pdn.index(d[-1])
52
+ if i!=nil && pdv[pdn.index(d[-1])]!=nil
53
+ puts d[-1]+': (datafile)'
54
+ puts ' '+pdv[i]
55
+
56
+ last=d[-1]
57
+ d[-1]=pdv[i]
58
+ d<<last
59
+
60
+ data2<<d
61
+ $counter=0
62
+
63
+ #rewrite puredata
64
+ f.write(d[-1]+'|'+pdv[i]+nl)
65
+ f.flush
66
+
67
+ next #skip the rest of loop
68
+ end
69
+
70
+ url=d[0].sub(/^\*+ \[(http:[^ ]+) [^\]]+\]$/,'\1')
71
+
72
+ #puts url
73
+ puts d[-1]+':' if $counter==0
74
+
75
+ begin
76
+ res=HTTP.get(URI.parse(url.sub(/&category=([^&]+)/){'&category='+CGI.escape($1)}))
77
+
78
+ f2=File.open('last.txt','w')
79
+ f2.write(res)
80
+ f2.close
81
+
82
+ res=~/Znaleziono (\d+) nieprzejrza/
83
+ num=$1
84
+ rescue Timeout::Error
85
+ num=nil
86
+ $counter+=3 #repeat only once
87
+ end
88
+
89
+ if num==nil
90
+ $counter+=1
91
+ if $counter<5
92
+ puts 'Retrying...'
93
+ redo
94
+ else
95
+ num=''
96
+ end
97
+ end
98
+
99
+ puts ' '+num
100
+
101
+ last=d[-1]
102
+ d[-1]=num
103
+ d<<last
104
+
105
+ data2<<d
106
+ $counter=0
107
+
108
+ #write puredata to file
109
+ f.write(d[-1]+'|'+num+nl)
110
+ f.flush
111
+ end
112
+
113
+ data3=nl
114
+ for d in data2
115
+ data3+='|-'+nl+'|'+d.join(nl+'|')+nl
116
+ end
117
+
118
+ months=%w(zero stycznia lutego marca kwietnia maja czerwca lipca sierpnia września października listopada grudnia)
119
+ d=Date.parse(Time.now.to_s)
120
+
121
+ before.sub(/(!Link do kategorii)/,'!'+d.day.to_s+' '+months[d.month]+' '+d.year.to_s+nl+'\1')+data3+after #print it out
122
+ }
123
+
124
+
125
+ f.close #puredata.txt
126
+
127
+ f=File.open('data2.txt','w')
128
+ f.write(nt)
129
+ f.close
130
+
131
+ $summary='aktualizacja'
132
+ przejrzane.write nt
133
+ przejrzane.save
@@ -0,0 +1,51 @@
1
+ require 'sunflower-commontasks.rb'
2
+ require 'sunflower-listmaker.rb'
3
+
4
+ # EDIT WIKI URL BELOW
5
+ s=Sunflower.new('pl.wikipedia.org')
6
+
7
+ print "Logging in to #{s.wikiURL}... "
8
+ # EDIT USERNAME AND PASSWORD BELOW
9
+ s.login
10
+ print "done!\n"
11
+
12
+ print "Reading articles list... "
13
+ # EDIT FILENAME BELOW
14
+ # list=s.make_list('file', 'lekkoatl.txt')
15
+ # nice generating:
16
+ all=s.make_list('categoryr', 'Kategoria:Lekkoatletyka')
17
+ done=s.make_list('category', 'Kategoria:Wikiprojekt:Lekkoatletyka/hasła')
18
+ error=done.collect{|a| a.index ':'}
19
+ done=done.map{|a| (a.index ':' ? '' : 'Dyskusja:'+a)}
20
+ done.delete_if{|a| a==''}
21
+ list=all-done
22
+ print "done!\n\n"
23
+
24
+ File.open('err.txt','w'){|f| f.write error.join("\n")}
25
+ File.open('ok.txt','w'){|f| f.write list.join("\n")}
26
+
27
+ # EDIT SUMMARY BELOW
28
+ $summary='dodanie {{[[Portal:Lekkoatletyka/Info]]}}'
29
+
30
+ list.each do |title|
31
+ print "Reading page #{title}... "
32
+ page=Page.get('Dyskusja:'+title)
33
+ print "done.\n"
34
+ print "Modifying... "
35
+
36
+ if page.text.index('Portal:Lekkoatletyka/Info')!=nil
37
+ page.dump
38
+ next
39
+ end
40
+
41
+ nl=(page.text.lstrip.index('{{')==0 ? "\n" : "\n\n")
42
+ page.text='{{Portal:Lekkoatletyka/Info}}'+nl+page.text.lstrip
43
+
44
+ print "done.\n"
45
+ print "Saving... "
46
+ page.save
47
+ print "done!\n\n"
48
+ end
49
+
50
+ print 'Finished! Press any key to close.'
51
+ gets
@@ -0,0 +1,32 @@
1
+ require 'hpricot'
2
+ require 'net/http'
3
+ include Net
4
+
5
+ def get(url)
6
+ return HTTP.get(URI.parse(url))
7
+ end
8
+
9
+ f=File.open('id2team.txt','w')
10
+ f.sync=true
11
+
12
+ ((1..4).to_a + (12..15).to_a).each do |i|
13
+ page=get("http://www.soccerbase.com/teams.sd?competitionid=#{i}")
14
+ h=Hpricot.parse page
15
+
16
+ h2=Hpricot.parse h.search('table table table')[2].inner_html
17
+
18
+ h2.search('tr').each do |tr|
19
+ begin
20
+ if tr.at('b').inner_html.strip=='Team'||tr.inner_html.index('<script')||tr.inner_html.index('<img')
21
+ next
22
+ end
23
+ rescue Exception
24
+ end
25
+ id=tr.at('a')['href'].sub(/\A.+?(\d+)\Z/, '\1')
26
+ team=tr.at('a').inner_html.strip
27
+
28
+ f.puts "#{id}\t#{team}"
29
+ end
30
+
31
+
32
+ end
data/scripts/recat.rb ADDED
@@ -0,0 +1,32 @@
1
+ require 'sunflower-commontasks.rb'
2
+ require 'sunflower-listmaker.rb'
3
+
4
+ from='Warhammer 40000'
5
+ to='Warhammer 40.000'
6
+
7
+ s=Sunflower.new
8
+ s.login
9
+ print "Logged in!\n"
10
+
11
+ print "Reading articles list... "
12
+ list=s.make_list('category-r', 'Kategoria:'+from).sort
13
+ print "done!\n\n"
14
+
15
+ # EDIT SUMMARY BELOW
16
+ $summary='zmiana nazewnictwa: Warhammer 40000 -> 40.000, [[WP:SK]]'
17
+
18
+ list.each do |title|
19
+ print "Reading page #{title}... "
20
+ page=Page.get(title)
21
+ print "modifying... "
22
+
23
+ page.codeCleanup
24
+ page.changeCategory from, to
25
+
26
+ print "saving... "
27
+ page.save
28
+ print "done!\n\n"
29
+ end
30
+
31
+ print 'Finished! Press any key to close.'
32
+ gets
data/scripts/wanted.rb ADDED
@@ -0,0 +1,72 @@
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 ADDED
@@ -0,0 +1,54 @@
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