blob: 97f97d130dc1be0d2e06375790c61a26f29ee41f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
# documentation: http://delicious.com/help/api
package require rest
set delicious(updated) {
url https://api.del.icio.us/v1/posts/update
auth basic
result raw
post_transform {
regexp {<update time=\"(.*?)\"} $result -> update
return [clock scan [string map {T " " Z " UTC"} $update]]
}
}
set delicious(add_post) {
url https://api.del.icio.us/v1/posts/add
auth basic
req_args { url: description: }
opt_args { extended: tags: dt: replace: shared: }
check_result { {[regexp {<result code=\"done} $result]} {} }
}
set delicious(delete_post) {
url https://api.del.icio.us/v1/posts/delete
auth basic
req_args { url: }
check_result { {[regexp {<result code=\"done} $result]} {} }
}
set delicious(get_posts) {
url https://api.del.icio.us/v1/posts/get
auth basic
opt_args { url: tag: dt: hashes: meta: }
}
set delicious(recent_posts) {
url https://api.del.icio.us/v1/posts/recent
auth basic
opt_args { tag: }
}
set delicious(post_dates) {
url https://api.del.icio.us/v1/posts/dates
auth basic
opt_args { tag: count: }
}
set delicious(get_all_posts) {
url https://api.del.icio.us/v1/posts/all
auth basic
opt_args { tag: start: results: fromdt: todt: meta: }
}
set delicious(get_hashes) {
url https://api.del.icio.us/v1/posts/all
auth basic
static_args { hashes {} }
}
set delicious(get_tags) {
url https://api.del.icio.us/v1/tags/get
auth basic
}
set delicious(delete_tag) {
url https://api.del.icio.us/v1/tags/delete
auth basic
req_args { tag: }
check_result { {[regexp {<result>done} $result]} {} }
}
set delicious(rename_tag) {
url https://api.del.icio.us/v1/tags/rename
auth basic
req_args { old: new: }
check_result { {[regexp {<result>done} $result]} {} }
}
set delicious(get_bundles) {
url https://api.del.icio.us/v1/bundles/all
auth basic
opt_args { bundle: }
}
set delicious(set_bundle) {
url https://api.del.icio.us/v1/bundles/set
auth basic
req_args { bundle: tags: }
check_result { {[regexp {<result>ok} $result]} {} }
}
set delicious(delete_bundle) {
url https://api.del.icio.us/v1/bundles/delete
auth basic
req_args { bundle: }
check_result { {[regexp {<result>done} $result]} {} }
}
set delicious(public_posts) {
url http://feeds.delicious.com/v2/json/%user%/%tags:%
opt_args { count: }
}
set delicious(modify_post) {
url https://api.del.icio.us/v1/posts/add
auth basic
req_args { post: }
opt_args { description: extended: tags: dt: shared: }
check_result { {[regexp {<result code=\"done} $result]} {} }
result raw
input_transform {
set new [dict remove [dict get $query post] hash others meta]
foreach {from to} {href url tag tags time dt} {
set v [dict get $new $from]
set new [dict remove $new $from]
dict set new $to $v
}
dict for {k v} [dict remove $query post] {
if {$v == ""} {
set new [dict remove $new $k]
continue
}
if {$k == "dt"} { set v [string trimright $v Z] }
set new [dict replace $new $k $v]
}
return $new
}
}
rest::create_interface delicious
|