sunflower 0.3 → 0.4

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.
@@ -1,51 +1,30 @@
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
1
+ # coding: utf-8
2
+
3
+ require 'sunflower'
4
+ s = Sunflower.new.login
5
+
6
+ url = 'http://toolserver.org/~sk/cgi-bin/checkwiki/checkwiki.cgi?project=plwiki&view=bots&id=16&offset=0&limit=2500'
7
+
8
+ print "Reading articles list... "
9
+ # EDIT FILENAME BELOW
10
+ str=Net::HTTP.get(URI.parse(url))
11
+ list=str[(str.index('<pre>')+5)...(str.index('</pre>'))].strip.split(/\r?\n/).uniq
12
+ print "done (#{list.length} to do)!\n\n"
13
+
14
+ # EDIT SUMMARY BELOW
15
+ s.summary='poprawa znaków kontrolnych Unicode, [[WP:SK]]'
16
+
17
+ list.each do |title|
18
+ print "Reading page #{title}... "
19
+ page=Page.new(title)
20
+ print "done.\n"
21
+ print "Modifying... "
22
+
23
+ page.replace(/|‎|​/, "")
24
+ page.code_cleanup unless page.orig_text==page.text
25
+
26
+ print "done.\n"
27
+ print "Saving... "
28
+ page.save
29
+ print "done!\n\n"
30
+ end
data/scripts/insight.rb CHANGED
@@ -1,133 +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
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
133
  przejrzane.save
@@ -1,51 +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.'
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
51
  gets
@@ -1,32 +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
-
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
32
  end
data/scripts/recat.rb CHANGED
@@ -1,32 +1,27 @@
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
1
+ # coding: utf-8
2
+ require 'sunflower'
3
+
4
+ from = ''
5
+ to = ''
6
+
7
+ s = Sunflower.new.login
8
+
9
+ print "Reading articles list... "
10
+ list=s.make_list('category', 'Kategoria:'+from).sort
11
+ print "done!\n\n"
12
+
13
+ s.summary = ''
14
+
15
+ list.each do |title|
16
+ print "Reading page #{title}... "
17
+ page=Page.get(title)
18
+ print "modifying... "
19
+
20
+ page.code_cleanup
21
+ page.change_category from, to
22
+
23
+ print "saving... "
24
+ page.save
25
+ print "done!\n\n"
26
+ end
27
+