knjrbfw 0.0.7 → 0.0.8
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/Gemfile +3 -1
- data/VERSION +1 -1
- data/knjrbfw.gemspec +14 -4
- data/lib/knj/amixer.rb +148 -0
- data/lib/knj/arrayext.rb +14 -5
- data/lib/knj/autoload.rb +63 -57
- data/lib/knj/autoload/backups/facets_dictionary.rb +2 -2
- data/lib/knj/autoload/erubis.rb +2 -0
- data/lib/knj/cmd_gen.rb +71 -0
- data/lib/knj/compiler.rb +2 -2
- data/lib/knj/datarow.rb +138 -38
- data/lib/knj/datestamp.rb +2 -2
- data/lib/knj/datet.rb +72 -17
- data/lib/knj/erb/include.rb +5 -5
- data/lib/knj/errors.rb +4 -1
- data/lib/knj/eruby.rb +25 -11
- data/lib/knj/event_filemod.rb +27 -26
- data/lib/knj/event_handler.rb +8 -8
- data/lib/knj/exchangerates.rb +1 -1
- data/lib/knj/facebook_connect.rb +37 -0
- data/lib/knj/gettext_threadded.rb +4 -3
- data/lib/knj/google_sitemap.rb +1 -1
- data/lib/knj/hash_methods.rb +1 -1
- data/lib/knj/http.rb +35 -19
- data/lib/knj/http2.rb +249 -0
- data/lib/knj/image.rb +128 -0
- data/lib/knj/jruby-gtk2/gtk2.rb +1 -1
- data/lib/knj/knj.rb +1 -1
- data/lib/knj/knj_controller.rb +0 -2
- data/lib/knj/knjdb/drivers/mysql/knjdb_mysql.rb +3 -3
- data/lib/knj/knjdb/drivers/mysql/knjdb_mysql_columns.rb +11 -11
- data/lib/knj/knjdb/drivers/mysql/knjdb_mysql_tables.rb +2 -2
- data/lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb +71 -14
- data/lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3_columns.rb +17 -14
- data/lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3_tables.rb +5 -5
- data/lib/knj/knjdb/libknjdb.rb +33 -16
- data/lib/knj/knjdb/libknjdb_row.rb +8 -8
- data/lib/knj/maemo/fremantle-calendar/fremantle-calendar.rb +1 -1
- data/lib/knj/mount.rb +6 -6
- data/lib/knj/mutexcl.rb +2 -2
- data/lib/knj/objects.rb +286 -73
- data/lib/knj/opts.rb +11 -4
- data/lib/knj/os.rb +16 -3
- data/lib/knj/php.rb +73 -26
- data/lib/knj/php_parser/php_parser.rb +1 -77
- data/lib/knj/retry.rb +4 -4
- data/lib/knj/rhodes/rhodes.rb +106 -0
- data/lib/knj/sshrobot/sshrobot.rb +1 -1
- data/lib/knj/strings.rb +72 -0
- data/lib/knj/sysuser.rb +1 -1
- data/lib/knj/tests/test_http2.rb +18 -0
- data/lib/knj/thread.rb +1 -5
- data/lib/knj/thread2.rb +3 -3
- data/lib/knj/threadhandler.rb +2 -2
- data/lib/knj/threadpool.rb +4 -4
- data/lib/knj/translations.rb +2 -17
- data/lib/knj/unix_proc.rb +3 -3
- data/lib/knj/web.rb +156 -77
- data/lib/knj/webscripts/image.rhtml +22 -3
- data/lib/knj/x11vnc.rb +3 -3
- data/spec/amixer_spec.rb +27 -0
- data/spec/knjrbfw_spec.rb +70 -12
- data/testfiles/image.jpg +0 -0
- metadata +32 -14
- data/Gemfile.lock +0 -32
@@ -1,5 +1,5 @@
|
|
1
1
|
<%
|
2
|
-
idstr = Knj::Php.md5("#{_get["path"]}_#{_get["smartsize"].to_i}_#{_get["width"].to_i}_#{_get["height"].to_i}_#{_get["maxwidth"].to_i}_#{_get["maxheight"].to_i}")
|
2
|
+
idstr = Knj::Php.md5("#{_get["path"]}_#{_get["smartsize"].to_i}_#{_get["width"].to_i}_#{_get["height"].to_i}_#{_get["maxwidth"].to_i}_#{_get["maxheight"].to_i}_#{_get["rounded_corners"].to_i}_#{_get["border"].to_i}_#{_get["border_color"]}")
|
3
3
|
|
4
4
|
tmp_use = false
|
5
5
|
tmp_write = false
|
@@ -19,8 +19,15 @@
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
+
if !_get["path"] or !File.exists?(_get["path"])
|
23
|
+
print "File does not exist: '#{_get["path"]}'.\n"
|
24
|
+
exit
|
25
|
+
end
|
26
|
+
|
22
27
|
if !tmp_use or tmp_write or _get["force"].to_i > 0
|
23
|
-
|
28
|
+
pic = Magick::Image.read(_get["path"]).first
|
29
|
+
pic.format = "png"
|
30
|
+
|
24
31
|
width = pic.columns
|
25
32
|
height = pic.rows
|
26
33
|
|
@@ -64,7 +71,17 @@
|
|
64
71
|
pic = pic.resize_to_fit(width.to_i, height.to_i)
|
65
72
|
end
|
66
73
|
|
67
|
-
|
74
|
+
if _get["rounded_corners"]
|
75
|
+
args = {:img => pic, :radius => _get["rounded_corners"].to_i}
|
76
|
+
|
77
|
+
if _get["border"] and _get["border_color"]
|
78
|
+
args[:border] = _get["border"].to_i
|
79
|
+
args[:border_color] = _get["border_color"]
|
80
|
+
end
|
81
|
+
|
82
|
+
Knj::Image.rounded_corners(args)
|
83
|
+
end
|
84
|
+
|
68
85
|
blob_cont = pic.to_blob
|
69
86
|
end
|
70
87
|
|
@@ -73,9 +90,11 @@
|
|
73
90
|
end
|
74
91
|
|
75
92
|
if tmp_use
|
93
|
+
Knj::Php.header("Last-Modified: #{time_orig.httpdate} GMT") if time_orig
|
76
94
|
Knj::Php.header("Content-Type: image/png")
|
77
95
|
print File.read(tmp_path)
|
78
96
|
else
|
97
|
+
Knj::Php.header("Last-Modified: #{time_orig.httpdate} GMT") if time_orig
|
79
98
|
Knj::Php.header("Content-Type: image/png")
|
80
99
|
print blob_cont
|
81
100
|
end
|
data/lib/knj/x11vnc.rb
CHANGED
@@ -4,10 +4,10 @@ class Knj::X11VNC
|
|
4
4
|
@open = true
|
5
5
|
|
6
6
|
cmd = "x11vnc -q"
|
7
|
-
cmd += " -shared" if @args[:shared] or !@args.
|
8
|
-
cmd += " -forever" if @args[:forever] or !@args.
|
7
|
+
cmd += " -shared" if @args[:shared] or !@args.key?(:shared)
|
8
|
+
cmd += " -forever" if @args[:forever] or !@args.key?(:forever)
|
9
9
|
cmd += " -rfbport #{@args[:port]}" if @args[:port]
|
10
|
-
cmd += " -nolookup" if @args[:nolookup] or !@args.
|
10
|
+
cmd += " -nolookup" if @args[:nolookup] or !@args.key?(:nolookup)
|
11
11
|
|
12
12
|
print cmd + "\n"
|
13
13
|
|
data/spec/amixer_spec.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe "Amixer" do
|
4
|
+
it "should load by using autoload" do
|
5
|
+
require "knjrbfw"
|
6
|
+
require "knj/autoload"
|
7
|
+
|
8
|
+
$amixer = Knj::Amixer.new
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should register various devices" do
|
12
|
+
$devices = $amixer.devices
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should register various mixers and do various operations on them" do
|
16
|
+
$devices.each do |name, device|
|
17
|
+
mixers = device.mixers
|
18
|
+
|
19
|
+
if device.active?(:stream => "PLAYBACK")
|
20
|
+
mixers.each do |name, mixer|
|
21
|
+
next if !mixer.volume?
|
22
|
+
mixer.vol_add -5
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/spec/knjrbfw_spec.rb
CHANGED
@@ -81,9 +81,34 @@ describe "Knjrbfw" do
|
|
81
81
|
raise "Registered nullstamp on valid date." if Knj::Datet.is_nullstamp?("1985-06-17 10:30:00")
|
82
82
|
|
83
83
|
date = Knj::Datet.in("2011-07-09 13:05:04 +0200")
|
84
|
-
|
85
|
-
|
84
|
+
ltime = date.localtime_str
|
85
|
+
|
86
|
+
#if RUBY_VERSION.slice(0, 3) == "1.9"
|
87
|
+
# if ltime != date.time.localtime
|
88
|
+
# raise "Calculated localtime (#{ltime}) was not the same as the real Time-localtime (#{date.time.localtime})."
|
89
|
+
# end
|
90
|
+
#end
|
91
|
+
|
92
|
+
if ltime != "2011-07-09 13:05:04 +0200"
|
93
|
+
raise "Datet didnt return expected result: '#{ltime}'."
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should be able to compare dates" do
|
98
|
+
date1 = Knj::Datet.in("17/06 1985")
|
99
|
+
date2 = Knj::Datet.in("18/06 1985")
|
100
|
+
date3 = Knj::Datet.in("17/06 1985")
|
101
|
+
|
102
|
+
raise "Date1 was wrongly higher than date2." if date1 > date2
|
103
|
+
|
104
|
+
if date2 > date1
|
105
|
+
#do nothing.
|
106
|
+
else
|
107
|
+
raise "Date2 was wrongly not higher than date1."
|
86
108
|
end
|
109
|
+
|
110
|
+
raise "Date1 was wrongly not the same as date3." if date1 != date3
|
111
|
+
raise "Date1 was the same as date2?" if date1 == date2
|
87
112
|
end
|
88
113
|
|
89
114
|
it "should be able to automatic generate methods on datarow-classes (has_many, has_one)." do
|
@@ -203,16 +228,6 @@ describe "Knjrbfw" do
|
|
203
228
|
raise "Unexpected result from ArrayExt." if res != "'1','2','3'"
|
204
229
|
end
|
205
230
|
|
206
|
-
it "should be able to generate valid SQL based on arrays." do
|
207
|
-
ret = $ob.sqlhelper({
|
208
|
-
"test_col" => [1, 2, 3]
|
209
|
-
},{
|
210
|
-
:cols_str => ["test_col"]
|
211
|
-
})
|
212
|
-
|
213
|
-
raise "Unexpected SQL for generating based on array: '#{ret[:sql_where]}'" if ret[:sql_where] != " AND `test_col` IN ('1','2','3')"
|
214
|
-
end
|
215
|
-
|
216
231
|
it "should be able to execute various forms of Web.input methods." do
|
217
232
|
html = Knj::Web.inputs([{
|
218
233
|
:title => "Test 1",
|
@@ -267,6 +282,48 @@ describe "Knjrbfw" do
|
|
267
282
|
end
|
268
283
|
end
|
269
284
|
|
285
|
+
it "should be able to properly parse 'Set-Cookie' headers." do
|
286
|
+
data = Knj::Web.parse_set_cookies("TestCookie=TestValue+; Expires=Fri, 05 Aug 2011 10:58:17 GMT; Path=\n")
|
287
|
+
|
288
|
+
raise "No data returned?" if !data or !data.respond_to?(:length)
|
289
|
+
raise "Wrong number of cookies returned: '#{data.length}'." if data.length != 1
|
290
|
+
|
291
|
+
raise "Unexpected name: '#{data[0]["name"]}'." if data[0]["name"] != "TestCookie"
|
292
|
+
raise "Unexpected value: '#{data[0]["value"]}'." if data[0]["value"] != "TestValue "
|
293
|
+
raise "Unexpected path: '#{data[0]["path"]}'." if data[0]["path"] != ""
|
294
|
+
raise "Unexpected expire:' #{data[0]["expire"]}'." if data[0]["expires"] != "Fri, 05 Aug 2011 10:58:17 GMT"
|
295
|
+
end
|
296
|
+
|
297
|
+
it "should be able to draw rounded transparent corners on images." do
|
298
|
+
pic = Magick::Image.read("#{File.dirname(__FILE__)}/../testfiles/image.jpg").first
|
299
|
+
pic.format = "png"
|
300
|
+
|
301
|
+
Knj::Image.rounded_corners(
|
302
|
+
:img => pic,
|
303
|
+
:radius => 10
|
304
|
+
)
|
305
|
+
|
306
|
+
blob_cont = pic.to_blob
|
307
|
+
end
|
308
|
+
|
309
|
+
it "should be possible to use Strings.html_links-method." do
|
310
|
+
teststr = "This is a test. http://www.google.com This is a test."
|
311
|
+
|
312
|
+
|
313
|
+
#Test normal usage.
|
314
|
+
test1 = Knj::Strings.html_links(teststr)
|
315
|
+
raise "Unexpected string: '#{teststr}'" if test1 != "This is a test. <a href=\"http://www.google.com\">http://www.google.com</a> This is a test."
|
316
|
+
|
317
|
+
|
318
|
+
#Test with a block.
|
319
|
+
test2 = Knj::Strings.html_links(teststr) do |data|
|
320
|
+
data[:str].gsub(data[:match][0], "TEST")
|
321
|
+
end
|
322
|
+
|
323
|
+
raise "Unexpected string: '#{test2}'." if test2 != "This is a test. TEST This is a test."
|
324
|
+
end
|
325
|
+
|
326
|
+
=begin
|
270
327
|
it "should be able to use Knj::Mutexcl with advanced arguments." do
|
271
328
|
mutex = Knj::Mutexcl.new(
|
272
329
|
:modes => {
|
@@ -334,4 +391,5 @@ describe "Knjrbfw" do
|
|
334
391
|
sleep 0.35
|
335
392
|
raise "Count should be 4 but it wasnt: '#{$count}'." if $count != 4
|
336
393
|
end
|
394
|
+
=end
|
337
395
|
end
|
data/testfiles/image.jpg
ADDED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knjrbfw
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-11-15 00:00:00.000000000 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rspec
|
17
|
-
requirement: &
|
17
|
+
requirement: &20019120 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 2.3.0
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *20019120
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: bundler
|
28
|
-
requirement: &
|
28
|
+
requirement: &20018500 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 1.0.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *20018500
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: jeweler
|
39
|
-
requirement: &
|
39
|
+
requirement: &20017840 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 1.6.3
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *20017840
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: rcov
|
50
|
-
requirement: &
|
50
|
+
requirement: &20017240 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *20017240
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: sqlite3
|
61
|
-
requirement: &
|
61
|
+
requirement: &20016640 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,7 +66,18 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *20016640
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: rmagick
|
72
|
+
requirement: &20016040 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
type: :development
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: *20016040
|
70
81
|
description: Including stuff for HTTP, SSH and much more.
|
71
82
|
email: k@spernj.org
|
72
83
|
executables: []
|
@@ -78,13 +89,13 @@ files:
|
|
78
89
|
- .document
|
79
90
|
- .rspec
|
80
91
|
- Gemfile
|
81
|
-
- Gemfile.lock
|
82
92
|
- LICENSE.txt
|
83
93
|
- README.rdoc
|
84
94
|
- Rakefile
|
85
95
|
- VERSION
|
86
96
|
- knjrbfw.gemspec
|
87
97
|
- lib/knj/.gitignore
|
98
|
+
- lib/knj/amixer.rb
|
88
99
|
- lib/knj/arrayext.rb
|
89
100
|
- lib/knj/autoload.rb
|
90
101
|
- lib/knj/autoload/activesupport.rb
|
@@ -110,6 +121,7 @@ files:
|
|
110
121
|
- lib/knj/autoload/twitter.rb
|
111
122
|
- lib/knj/autoload/xmlsimple.rb
|
112
123
|
- lib/knj/autoload/zip.rb
|
124
|
+
- lib/knj/cmd_gen.rb
|
113
125
|
- lib/knj/compiler.rb
|
114
126
|
- lib/knj/cpufreq.rb
|
115
127
|
- lib/knj/datarow.rb
|
@@ -132,6 +144,7 @@ files:
|
|
132
144
|
- lib/knj/event_handler.rb
|
133
145
|
- lib/knj/exchangerates.rb
|
134
146
|
- lib/knj/ext/webrick.rb
|
147
|
+
- lib/knj/facebook_connect.rb
|
135
148
|
- lib/knj/filesystem.rb
|
136
149
|
- lib/knj/fs/drivers/filesystem.rb
|
137
150
|
- lib/knj/fs/drivers/ftp.rb
|
@@ -147,6 +160,8 @@ files:
|
|
147
160
|
- lib/knj/gtk2_tv.rb
|
148
161
|
- lib/knj/hash_methods.rb
|
149
162
|
- lib/knj/http.rb
|
163
|
+
- lib/knj/http2.rb
|
164
|
+
- lib/knj/image.rb
|
150
165
|
- lib/knj/includes/appserver_cli.rb
|
151
166
|
- lib/knj/ip2location.rb
|
152
167
|
- lib/knj/ironruby-gtk2/button.rb
|
@@ -266,6 +281,7 @@ files:
|
|
266
281
|
- lib/knj/tests/compiler/compiler_test.rb
|
267
282
|
- lib/knj/tests/compiler/compiler_test_file.rb
|
268
283
|
- lib/knj/tests/test_degulesider.rb
|
284
|
+
- lib/knj/tests/test_http2.rb
|
269
285
|
- lib/knj/tests/test_mount.rb
|
270
286
|
- lib/knj/tests/test_retry.rb
|
271
287
|
- lib/knj/thread.rb
|
@@ -282,8 +298,10 @@ files:
|
|
282
298
|
- lib/knj/x11vnc.rb
|
283
299
|
- lib/knj/youtube.rb
|
284
300
|
- lib/knjrbfw.rb
|
301
|
+
- spec/amixer_spec.rb
|
285
302
|
- spec/knjrbfw_spec.rb
|
286
303
|
- spec/spec_helper.rb
|
304
|
+
- testfiles/image.jpg
|
287
305
|
has_rdoc: true
|
288
306
|
homepage: http://github.com/kaspernj/knjrbfw
|
289
307
|
licenses:
|
@@ -300,7 +318,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
300
318
|
version: '0'
|
301
319
|
segments:
|
302
320
|
- 0
|
303
|
-
hash: -
|
321
|
+
hash: -3343804310231409804
|
304
322
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
305
323
|
none: false
|
306
324
|
requirements:
|
data/Gemfile.lock
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
diff-lcs (1.1.2)
|
5
|
-
git (1.2.5)
|
6
|
-
jeweler (1.6.3)
|
7
|
-
bundler (~> 1.0)
|
8
|
-
git (>= 1.2.5)
|
9
|
-
rake
|
10
|
-
rake (0.9.2)
|
11
|
-
rcov (0.9.9)
|
12
|
-
rcov (0.9.9-java)
|
13
|
-
rspec (2.3.0)
|
14
|
-
rspec-core (~> 2.3.0)
|
15
|
-
rspec-expectations (~> 2.3.0)
|
16
|
-
rspec-mocks (~> 2.3.0)
|
17
|
-
rspec-core (2.3.1)
|
18
|
-
rspec-expectations (2.3.0)
|
19
|
-
diff-lcs (~> 1.1.2)
|
20
|
-
rspec-mocks (2.3.0)
|
21
|
-
sqlite3 (1.3.3)
|
22
|
-
|
23
|
-
PLATFORMS
|
24
|
-
java
|
25
|
-
ruby
|
26
|
-
|
27
|
-
DEPENDENCIES
|
28
|
-
bundler (~> 1.0.0)
|
29
|
-
jeweler (~> 1.6.3)
|
30
|
-
rcov
|
31
|
-
rspec (~> 2.3.0)
|
32
|
-
sqlite3
|