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
@@ -1,339 +0,0 @@
|
|
1
|
-
require 'orderedhash'
|
2
|
-
require 'hpricot'
|
3
|
-
require 'net/http'
|
4
|
-
require 'sunflower-core.rb'
|
5
|
-
require 'sunflower-listmaker.rb'
|
6
|
-
include Net
|
7
|
-
|
8
|
-
$datafile=File.open('aktual.txt','w')
|
9
|
-
$datafile.sync=true
|
10
|
-
|
11
|
-
id2team={}
|
12
|
-
begin
|
13
|
-
File.open('id2team.txt') do |f|
|
14
|
-
id2team.replace Hash[*f.read.strip.split(/\r?\n|\t/)]
|
15
|
-
end
|
16
|
-
rescue
|
17
|
-
end
|
18
|
-
|
19
|
-
# comes from http://rubyforge.org/frs/?group_id=6257&release_id=36721
|
20
|
-
module Levenshtein
|
21
|
-
VERSION = "0.2.0"
|
22
|
-
|
23
|
-
# Returns the Levenshtein distance as a number between 0.0 and
|
24
|
-
# 1.0. It's basically the Levenshtein distance divided by the
|
25
|
-
# length of the longest sequence.
|
26
|
-
|
27
|
-
def self.normalized_distance(s1, s2, threshold=nil)
|
28
|
-
s1, s2 = s2, s1 if s1.length > s2.length # s1 is the short one; s2 is the long one.
|
29
|
-
|
30
|
-
if s2.length == 0
|
31
|
-
0.0 # Since s1.length < s2.length, s1 must be empty as well.
|
32
|
-
else
|
33
|
-
if threshold
|
34
|
-
if d = self.distance(s1, s2, (threshold*s2.length+1).to_i)
|
35
|
-
d.to_f/s2.length
|
36
|
-
else
|
37
|
-
nil
|
38
|
-
end
|
39
|
-
else
|
40
|
-
self.distance(s1, s2).to_f/s2.length
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
# Returns the Levenshtein distance between two sequences.
|
46
|
-
#
|
47
|
-
# The two sequences can be two strings, two arrays, or two other
|
48
|
-
# objects. Strings, arrays and arrays of strings are handled with
|
49
|
-
# optimized (very fast) C code. All other sequences are handled
|
50
|
-
# with generic (fast) C code.
|
51
|
-
#
|
52
|
-
# The sequences should respond to :length and :[] and all objects
|
53
|
-
# in the sequences (as returned by []) should response to :==.
|
54
|
-
|
55
|
-
def self.distance(s1, s2, threshold=nil)
|
56
|
-
s1, s2 = s2, s1 if s1.length > s2.length # s1 is the short one; s2 is the long one.
|
57
|
-
|
58
|
-
# Handle some basic circumstances.
|
59
|
-
|
60
|
-
return 0 if s1 == s2
|
61
|
-
return s2.length if s1.length == 0
|
62
|
-
|
63
|
-
if threshold
|
64
|
-
return nil if (s2.length-s1.length) >= threshold
|
65
|
-
|
66
|
-
a1, a2 = nil, nil
|
67
|
-
a1, a2 = s1, s2 if s1.respond_to?(:-) and s2.respond_to?(:-)
|
68
|
-
a1, a2 = s1.scan(/./), s2.scan(/./) if s1.respond_to?(:scan) and s2.respond_to?(:scan)
|
69
|
-
|
70
|
-
if a1 and a2
|
71
|
-
return nil if (a1-a2).length >= threshold
|
72
|
-
return nil if (a2-a1).length >= threshold
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
distance_fast_or_slow(s1, s2, threshold)
|
77
|
-
end
|
78
|
-
|
79
|
-
def self.distance_fast_or_slow(s1, s2, threshold) # :nodoc:
|
80
|
-
if respond_to?(:levenshtein_distance_fast)
|
81
|
-
levenshtein_distance_fast(s1, s2, threshold) # Implemented in C.
|
82
|
-
else
|
83
|
-
levenshtein_distance_slow(s1, s2, threshold) # Implemented in Ruby.
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
def self.levenshtein_distance_slow(s1, s2, threshold) # :nodoc:
|
88
|
-
row = (0..s1.length).to_a
|
89
|
-
|
90
|
-
1.upto(s2.length) do |y|
|
91
|
-
prow = row
|
92
|
-
row = [y]
|
93
|
-
|
94
|
-
1.upto(s1.length) do |x|
|
95
|
-
row[x] = [prow[x]+1, row[x-1]+1, prow[x-1]+(s1[x-1]==s2[y-1] ? 0 : 1)].min
|
96
|
-
end
|
97
|
-
|
98
|
-
# Stop analysing this sequence as soon as the best possible
|
99
|
-
# result for this sequence is bigger than the best result so far.
|
100
|
-
# (The minimum value in the next row will be equal to or greater
|
101
|
-
# than the minimum value in this row.)
|
102
|
-
|
103
|
-
return nil if threshold and row.min >= threshold
|
104
|
-
end
|
105
|
-
|
106
|
-
row[-1]
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
|
111
|
-
def puts *arg
|
112
|
-
arg.each{|str| $stdout.puts str; $datafile.puts str}
|
113
|
-
end
|
114
|
-
|
115
|
-
def saveData
|
116
|
-
=begin
|
117
|
-
File.open('aktualdata.txt','w'){|f|
|
118
|
-
f.write "
|
119
|
-
$notfound=#{$notfound.length}
|
120
|
-
$same=#{$same.length}
|
121
|
-
$diff=#{$diff.length}
|
122
|
-
----
|
123
|
-
$notfound:
|
124
|
-
# {$notfound.join "\n"}
|
125
|
-
----
|
126
|
-
$same:
|
127
|
-
# {$same.join "\n"}
|
128
|
-
----
|
129
|
-
$diff:
|
130
|
-
# {$diff.join "\n"}
|
131
|
-
"
|
132
|
-
}
|
133
|
-
=end
|
134
|
-
end
|
135
|
-
|
136
|
-
def get(url)
|
137
|
-
return HTTP.get(URI.parse(url))
|
138
|
-
end
|
139
|
-
|
140
|
-
def getPlayerData url
|
141
|
-
r=get url
|
142
|
-
r=~/<b>All time playing career<\/b>/
|
143
|
-
r=$'
|
144
|
-
r=~/<a name=games><\/a>/
|
145
|
-
table=$`.strip
|
146
|
-
|
147
|
-
h=Hpricot.parse table
|
148
|
-
rows=h.search 'tr+tr'
|
149
|
-
|
150
|
-
data={}
|
151
|
-
rows.each do |r|
|
152
|
-
if r.at('td')['colspan']==nil && (r.inner_html=~/No appearance data available/)==nil
|
153
|
-
cells=r.search 'td'
|
154
|
-
team=cells[0].search('font a')[0].inner_html.strip
|
155
|
-
teamid=cells[0].search('font a')[0]['href'].sub(/\A.+?(\d+)\Z/, '\1')
|
156
|
-
matches=cells[4].at('font').inner_html.split('(').map{|m| m.gsub(/[^0-9]/,'').to_i}
|
157
|
-
matches=matches[0]+matches[1]
|
158
|
-
goals=cells[5].at('font').inner_html.gsub(/[^0-9]/,'').to_i
|
159
|
-
|
160
|
-
data[team]=[matches,goals,teamid]
|
161
|
-
end
|
162
|
-
end
|
163
|
-
return data
|
164
|
-
end
|
165
|
-
|
166
|
-
def searchForPlayer text
|
167
|
-
d=get "http://www.soccerbase.com/search.sd?search_string=#{CGI.escape text}&search_cat=players"
|
168
|
-
d=~/window.location = "(http:[^"]+)"/
|
169
|
-
|
170
|
-
return $1
|
171
|
-
end
|
172
|
-
|
173
|
-
$edits=0
|
174
|
-
$summary='aktualizacja danych o meczach piłkarza'
|
175
|
-
|
176
|
-
puts 'Making list...'
|
177
|
-
s=Sunflower.new('pl.wikipedia.org')
|
178
|
-
s.login
|
179
|
-
enw=Sunflower.new('en.wikipedia.org')
|
180
|
-
enw.login
|
181
|
-
|
182
|
-
# list=(
|
183
|
-
# s.makeList('category-r', 'Kategoria:Piłkarze Aston Villa F.C.')+
|
184
|
-
# s.makeList('category-r', 'Kategoria:Piłkarze Chelsea F.C.')+
|
185
|
-
# s.makeList('category-r', 'Kategoria:Piłkarze Liverpool F.C.')
|
186
|
-
# ).uniq
|
187
|
-
# list=(
|
188
|
-
# s.makeList('category-r', 'Kategoria:Piłkarze angielskich klubów')+
|
189
|
-
# s.makeList('category-r', 'Kategoria:Piłkarze walijskich klubów')
|
190
|
-
# ).uniq
|
191
|
-
|
192
|
-
# list.delete_if{|i| i=~/^Kategoria:/}
|
193
|
-
|
194
|
-
# File.open('lista-pilkarze.txt','w').write list.join("\n")
|
195
|
-
# list=File.open('lista-pilkarze.txt').read.split(/\r?\n/)
|
196
|
-
list=['Wikipedysta:Matma Rex/brudnopis']
|
197
|
-
|
198
|
-
puts 'Done!'
|
199
|
-
puts ''
|
200
|
-
|
201
|
-
$notfound=[]
|
202
|
-
$same=[]
|
203
|
-
$diff=[]
|
204
|
-
|
205
|
-
list.each_with_index do |art, i|
|
206
|
-
exit if $edits>4
|
207
|
-
|
208
|
-
# finding data
|
209
|
-
puts "* [[#{art}]]"
|
210
|
-
pPl=Page.new(art, 'pl')
|
211
|
-
pPl.read=~/\[\[en:([^\]]+)\]\]/
|
212
|
-
if $1
|
213
|
-
artEn=$1
|
214
|
-
puts "** Interwiki-en: [[:en:#{artEn}]]"
|
215
|
-
else
|
216
|
-
artEn=art
|
217
|
-
puts "** No interwiki; guessing [[:en:#{art}]]"
|
218
|
-
end
|
219
|
-
|
220
|
-
pPl.read=~/\{\{soccerbase.*?(\d+).*?\}\}|soccerbase\.com\/players_details\.sd\?playerid=(\d+)/i
|
221
|
-
if $1||$2
|
222
|
-
soccid=$1||$2
|
223
|
-
url="http://www.soccerbase.com/players_details.sd?playerid=#{soccid}"
|
224
|
-
puts '** Found id on plwiki'
|
225
|
-
else
|
226
|
-
pEn=Page.new(art, 'en')
|
227
|
-
pEn.read=~/\{\{soccerbase.*?(\d+).*?\}\}|soccerbase\.com\/players_details\.sd\?playerid=(\d+)/i
|
228
|
-
if $1||$2
|
229
|
-
soccid=$1||$2
|
230
|
-
url="http://www.soccerbase.com/players_details.sd?playerid=#{soccid}"
|
231
|
-
puts '** Found id on enwiki'
|
232
|
-
else
|
233
|
-
url=searchForPlayer(art)||searchForPlayer(artEn)
|
234
|
-
end
|
235
|
-
end
|
236
|
-
|
237
|
-
if url==nil
|
238
|
-
puts '** Not found.'
|
239
|
-
$notfound<<art
|
240
|
-
else
|
241
|
-
data=getPlayerData url
|
242
|
-
puts "** URL: #{url}"
|
243
|
-
unless data.empty?
|
244
|
-
puts "** Found info on soccerbase."
|
245
|
-
else
|
246
|
-
puts '** Found, but no data.'
|
247
|
-
$notfound<<art
|
248
|
-
end
|
249
|
-
end
|
250
|
-
|
251
|
-
pPl.read =~ /występy\(gole\)\s*=(.+)/
|
252
|
-
if $1==nil
|
253
|
-
puts '** Wiki: error. No infobox?'
|
254
|
-
else
|
255
|
-
a=$1.split(/\s*<br.*?>\s*/)[-1].strip
|
256
|
-
a=~/(\d+)\s*\((\d+)\)/
|
257
|
-
matchesW, goalsW = $1.to_i, $2.to_i
|
258
|
-
puts "** Wiki info: #{matchesW} matches, #{goalsW} goals."
|
259
|
-
end
|
260
|
-
|
261
|
-
saveData if i%30==0 && i!=0
|
262
|
-
|
263
|
-
# $change=File.open('changelist.txt','w')
|
264
|
-
# $change.sync=true
|
265
|
-
|
266
|
-
# editing
|
267
|
-
if data
|
268
|
-
#$change.puts "* [[#{art}]] - #{matchesW}/#{goalsW} -> #{matches}/#{goals}"
|
269
|
-
|
270
|
-
pPl.text=~/(kluby\s*=\s*)([^\|]+)(\s*\|)/
|
271
|
-
kluby=$2
|
272
|
-
pPl.text=~/(występy\(gole\)\s*=\s*)([^\|]+)(\s*\|)/
|
273
|
-
wystepygole=$2
|
274
|
-
|
275
|
-
resolve={}
|
276
|
-
kluby=kluby.split(/<\/?br[^>]*>/).map do |i|
|
277
|
-
short=i.strip.gsub(/\[\[(?:[^\]\|]+\||)([^\]\|]+)\]\]/,'\1').gsub(/→|\(wyp\.\)/,'').strip
|
278
|
-
resolve[short]=i.strip
|
279
|
-
short
|
280
|
-
end
|
281
|
-
wystepygole=wystepygole.split(/<\/?br[^>]*?>/).map{|i| i.strip}
|
282
|
-
wystepygole.delete_if{|i| i==''}
|
283
|
-
kluby.delete_if{|i| i==''}
|
284
|
-
|
285
|
-
wystepygole.pop while wystepygole.length>kluby.length
|
286
|
-
wystepygole.push [0,0] while wystepygole.length<kluby.length
|
287
|
-
|
288
|
-
wikidata=OrderedHash.new
|
289
|
-
kluby.each_index do |i|
|
290
|
-
wystepygole[i]=~/(\d+)\s*\((\d+)\)/
|
291
|
-
wikidata[kluby[i]]=[$1.to_i, $2.to_i]
|
292
|
-
end
|
293
|
-
|
294
|
-
# puts data.inspect
|
295
|
-
# puts wikidata.inspect
|
296
|
-
|
297
|
-
data.each_pair do |scbclub, scb, teamid|
|
298
|
-
min=[999, 'null']
|
299
|
-
wikidata.each_pair do |wikiclub, wiki|
|
300
|
-
if wikiclub.index scbclub || scbclub.index wikiclub
|
301
|
-
min=[0, wikiclub]
|
302
|
-
break
|
303
|
-
end
|
304
|
-
if wikiclub.index id2team[teamid] || id2team[teamid].index wikiclub
|
305
|
-
min=[0, wikiclub]
|
306
|
-
break
|
307
|
-
end
|
308
|
-
|
309
|
-
d=Levenshtein.distance(scbclub, wikiclub)
|
310
|
-
min=[d, wikiclub] if d<min[0]
|
311
|
-
|
312
|
-
d=Levenshtein.distance(id2team[teamid], wikiclub)
|
313
|
-
min=[d, wikiclub] if d<min[0]
|
314
|
-
end
|
315
|
-
club=min[1]
|
316
|
-
|
317
|
-
wikidata[club]=data[scbclub]
|
318
|
-
end
|
319
|
-
|
320
|
-
infoboxwystepygole=[]
|
321
|
-
infoboxkluby=[]
|
322
|
-
|
323
|
-
wikidata.each do |club, info|
|
324
|
-
infoboxkluby<<resolve[club]
|
325
|
-
infoboxwystepygole<<"#{info[0]} (#{info[1]})"
|
326
|
-
end
|
327
|
-
|
328
|
-
infoboxkluby=infoboxkluby.join('<br />')
|
329
|
-
infoboxwystepygole=infoboxwystepygole.join('<br />')
|
330
|
-
|
331
|
-
pPl.text=pPl.text.sub(/(występy\(gole\)\s*=\s*)([^\|]+?)(\s*\|)/){$1+infoboxwystepygole+$3}
|
332
|
-
pPl.text=pPl.text.sub(/(kluby\s*=\s*)([^\|]+?)(\s*\|)/){$1+infoboxkluby+$3}
|
333
|
-
pPl.text=pPl.text.sub(/(data1\s*=\s*)([^\|]+?)(\s*\|)/, '\1{{subst:CURRENTDAY}} {{subst:CURRENTMONTHNAMEGEN}} {{subst:CURRENTYEAR}}\3')
|
334
|
-
|
335
|
-
$edits+=1
|
336
|
-
pPl.save
|
337
|
-
end
|
338
|
-
end
|
339
|
-
|
data/scripts/author-list.rb
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby
|
2
|
-
print "Content-type: text/html; charset=utf8\n\r\n"
|
3
|
-
$stderr=$stdout
|
4
|
-
|
5
|
-
require 'sunflower-core.rb'
|
6
|
-
|
7
|
-
s=Sunflower.new('pl.wikipedia.org')
|
8
|
-
s.log=false
|
9
|
-
s.login
|
10
|
-
cgi=CGI.new
|
11
|
-
|
12
|
-
|
13
|
-
puts ''
|
14
|
-
puts '<p>Get list for: <form action="author-list.rb" method="GET"><input name="title"> <input type="submit" value="Go!"></form></p>'
|
15
|
-
|
16
|
-
if cgi['title'] && cgi['title']!=''
|
17
|
-
puts '<p>List of authors of '+cgi['title']+':</p>'
|
18
|
-
|
19
|
-
users=[]
|
20
|
-
hash=s.API("action=query&prop=revisions&titles=#{CGI.escape(cgi['title'])}&rvprop=user&rvlimit=5000")
|
21
|
-
hash['query']['pages'].values[0]['revisions'].each do |r|
|
22
|
-
users<<r['user']
|
23
|
-
end
|
24
|
-
while hash['query-continue']
|
25
|
-
hash=s.API("action=query&prop=revisions&titles=#{CGI.escape(cgi['title'])}&rvprop=user&rvlimit=5000&rvstartid=#{hash['query-continue']['revisions']['rvstartid']}")
|
26
|
-
hash['query']['pages'].values[0]['revisions'].each do |r|
|
27
|
-
users<<r['user']
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
users.uniq!
|
32
|
-
|
33
|
-
|
34
|
-
puts '<ul><li>'+users.join('</li><li>')+'</li></ul>'
|
35
|
-
end
|
36
|
-
|
data/scripts/changeimage.rb
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
require 'sunflower-commontasks.rb'
|
2
|
-
require 'sunflower-listmaker.rb'
|
3
|
-
|
4
|
-
image='Plik:Obiekt zabytkowy znak.svg'
|
5
|
-
|
6
|
-
# EDIT WIKI URL BELOW
|
7
|
-
s=Sunflower.new('pl.wikipedia.org')
|
8
|
-
|
9
|
-
print "Logging in to #{s.wikiURL}... "
|
10
|
-
# EDIT USERNAME AND PASSWORD BELOW
|
11
|
-
s.login
|
12
|
-
print "done!\n"
|
13
|
-
|
14
|
-
print "Reading articles list... "
|
15
|
-
# EDIT FILENAME BELOW
|
16
|
-
list=s.make_list('image', image).sort
|
17
|
-
print "done!\n\n"
|
18
|
-
|
19
|
-
# EDIT SUMMARY BELOW
|
20
|
-
$summary='podmiana grafiki, [[WP:SK]]'
|
21
|
-
|
22
|
-
list.each do |title|
|
23
|
-
print "Reading page #{title}... "
|
24
|
-
page=Page.get(title)
|
25
|
-
print "done.\n"
|
26
|
-
print "Modifying... "
|
27
|
-
|
28
|
-
page.codeCleanup
|
29
|
-
|
30
|
-
page.text.gsub!(/\[\[#{Regexp.escape image} *\|(?:left\||)[1-6]\dpx(?:\|left|)(\|[^\]\|]+|)\]\]( *(?:\r?\n|) *|)/) do
|
31
|
-
next if $~[0].index('thumb') || $~[0].index('right')
|
32
|
-
"[[Plik:Obiekt zabytkowy.svg|20px#{$1}]] "
|
33
|
-
end
|
34
|
-
|
35
|
-
print "done.\n"
|
36
|
-
print "Saving... "
|
37
|
-
page.save unless page.orig_text.downcase==page.text.downcase
|
38
|
-
print "done!\n\n"
|
39
|
-
end
|
40
|
-
|
41
|
-
print 'Finished! Press any key to close.'
|
42
|
-
gets
|
@@ -1,102 +0,0 @@
|
|
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 (#{list.length} to do)!\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
|
data/scripts/insight.rb
DELETED
@@ -1,133 +0,0 @@
|
|
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
|
@@ -1,32 +0,0 @@
|
|
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
|