aboutsummaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorDiego Nehab <diego@tecgraf.puc-rio.br>2003-03-28 21:08:50 +0000
committerDiego Nehab <diego@tecgraf.puc-rio.br>2003-03-28 21:08:50 +0000
commitf18d1b7cd0ec4708518ab5e18ea33b6eadca0301 (patch)
treee831c6b1957af47db1301675b52c0d2a2e315fa7 /etc
parent307603b24dde69eac62d2cb52123488137520c9c (diff)
downloadluasocket-f18d1b7cd0ec4708518ab5e18ea33b6eadca0301.tar.gz
luasocket-f18d1b7cd0ec4708518ab5e18ea33b6eadca0301.tar.bz2
luasocket-f18d1b7cd0ec4708518ab5e18ea33b6eadca0301.zip
Closer to release...
Diffstat (limited to 'etc')
-rw-r--r--etc/check-links.lua8
-rw-r--r--etc/dict.lua19
-rw-r--r--etc/get.lua12
3 files changed, 29 insertions, 10 deletions
diff --git a/etc/check-links.lua b/etc/check-links.lua
index 0dca27c..705c0ce 100644
--- a/etc/check-links.lua
+++ b/etc/check-links.lua
@@ -1,3 +1,7 @@
1-----------------------------------------------------------------------------
2-- Little program that checks links in HTML files
3-- LuaSocket 1.5 sample files.
4-----------------------------------------------------------------------------
1socket.http.TIMEOUT = 10 5socket.http.TIMEOUT = 10
2 6
3cache = {} 7cache = {}
@@ -14,7 +18,7 @@ end
14 18
15function getstatus(url) 19function getstatus(url)
16 local parsed = socket.url.parse(url, { scheme = "file" }) 20 local parsed = socket.url.parse(url, { scheme = "file" })
17 if cache[url] then return cache[url].res end 21 if cache[url] then return cache[url] end
18 local res 22 local res
19 if parsed.scheme == "http" then 23 if parsed.scheme == "http" then
20 local request = { url = url } 24 local request = { url = url }
@@ -34,7 +38,7 @@ function getstatus(url)
34 res = nil 38 res = nil
35 else res = error end 39 else res = error end
36 else res = string.format("unhandled scheme '%s'", parsed.scheme) end 40 else res = string.format("unhandled scheme '%s'", parsed.scheme) end
37 cache[url] = { res = res } 41 cache[url] = res
38 return res 42 return res
39end 43end
40 44
diff --git a/etc/dict.lua b/etc/dict.lua
index 4685ca1..6790cab 100644
--- a/etc/dict.lua
+++ b/etc/dict.lua
@@ -1,12 +1,16 @@
1-----------------------------------------------------------------------------
2-- Little program to download DICT word definitions
3-- LuaSocket 1.5 sample files
4-----------------------------------------------------------------------------
1function get_status(sock, valid) 5function get_status(sock, valid)
2 local line, err = sock:receive() 6 local line, err = sock:receive()
3 local code, par 7 local code, par
4 if not line then sock:close() return err end 8 if not line then sock:close() return err end
5 _, _, code = strfind(line, "^(%d%d%d)") 9 _, _, code = string.find(line, "^(%d%d%d)")
6 code = tonumber(code) 10 code = tonumber(code)
7 if code ~= valid then return code end 11 if code ~= valid then return code end
8 if code == 150 then 12 if code == 150 then
9 _,_,_, par = strfind(line, "^(%d%d%d) (%d*)") 13 _,_,_, par = string.find(line, "^(%d%d%d) (%d*)")
10 par = tonumber(par) 14 par = tonumber(par)
11 end 15 end
12 return nil, par 16 return nil, par
@@ -24,7 +28,7 @@ function get_def(sock)
24end 28end
25 29
26function dict_open() 30function dict_open()
27 local sock, err = connect("dict.org", 2628) 31 local sock, err = socket.connect("dict.org", 2628)
28 if not sock then return nil, err end 32 if not sock then return nil, err end
29 sock:timeout(10) 33 sock:timeout(10)
30 local code, par = get_status(sock, 220) 34 local code, par = get_status(sock, 220)
@@ -48,7 +52,7 @@ function dict_define(sock, word, dict)
48 end 52 end
49 code, par = get_status(sock, 250) 53 code, par = get_status(sock, 250)
50 if code then return nil, code end 54 if code then return nil, code end
51 return gsub(defs, "%s%s$", "") 55 return string.gsub(defs, "%s%s$", "")
52end 56end
53 57
54function dict_close(sock) 58function dict_close(sock)
@@ -65,3 +69,10 @@ function dict_get(word, dict)
65 dict_close(sock) 69 dict_close(sock)
66 return defs, err 70 return defs, err
67end 71end
72
73if arg and arg[1] then
74 defs, err = dict_get(arg[1], arg[2])
75 print(defs or err)
76else
77 io.write("Usage:\n luasocket dict.lua <word> [<dictionary>]\n")
78end
diff --git a/etc/get.lua b/etc/get.lua
index 33da653..af46c16 100644
--- a/etc/get.lua
+++ b/etc/get.lua
@@ -1,3 +1,7 @@
1-----------------------------------------------------------------------------
2-- Little program to download files from URLs
3-- LuaSocket 1.5 sample files
4-----------------------------------------------------------------------------
1-- formats a number of seconds into human readable form 5-- formats a number of seconds into human readable form
2function nicetime(s) 6function nicetime(s)
3 local l = "s" 7 local l = "s"
@@ -63,15 +67,15 @@ function receive2disk(file, size)
63 size = size 67 size = size
64 } 68 }
65 local receive_cb = function(chunk, err) 69 local receive_cb = function(chunk, err)
66 local dt = socket._time() - %aux.start -- elapsed time since start 70 local dt = socket._time() - aux.start -- elapsed time since start
67 if not chunk or chunk == "" then 71 if not chunk or chunk == "" then
68 io.write("\n") 72 io.write("\n")
69 aux.file:close() 73 aux.file:close()
70 return 74 return
71 end 75 end
72 aux.file:write(chunk) 76 aux.file:write(chunk)
73 aux.got = aux.got + string.len(chunk) -- total bytes received 77 aux.got = aux.got + string.len(chunk) -- total bytes received
74 if dt < 0.1 then return 1 end -- not enough time for estimate 78 if dt < 0.1 then return 1 end -- not enough time for estimate
75 io.write("\r", gauge(aux.got, dt, aux.size)) 79 io.write("\r", gauge(aux.got, dt, aux.size))
76 return 1 80 return 1
77 end 81 end
@@ -122,7 +126,7 @@ function getschemeandname(url, name)
122 return parsed.scheme, name 126 return parsed.scheme, name
123end 127end
124 128
125-- gets a file either by http or url, saving as name 129-- gets a file either by http or ftp, saving as <name>
126function get(url, name) 130function get(url, name)
127 local scheme 131 local scheme
128 scheme, name = getschemeandname(url, name) 132 scheme, name = getschemeandname(url, name)