feat: added info function
parent
3d39132646
commit
7efa42f1e5
|
@ -0,0 +1,28 @@
|
||||||
|
# =====CONFIG=====
|
||||||
|
V_PATH ?= v
|
||||||
|
V := $(V_PATH) -showcc
|
||||||
|
|
||||||
|
all: aur
|
||||||
|
|
||||||
|
|
||||||
|
# =====COMPILATION=====
|
||||||
|
.PHONY: aur
|
||||||
|
aur:
|
||||||
|
$(V) -g -shared .
|
||||||
|
|
||||||
|
|
||||||
|
# =====DOCS=====
|
||||||
|
.PHONY: api-docs
|
||||||
|
api-docs:
|
||||||
|
rm -rf '_docs'
|
||||||
|
v doc -f html -m -readme .
|
||||||
|
|
||||||
|
|
||||||
|
# =====OTHER=====
|
||||||
|
.PHONY: lint
|
||||||
|
lint:
|
||||||
|
$(V) fmt -verify .
|
||||||
|
|
||||||
|
.PHONY: fmt
|
||||||
|
fmt:
|
||||||
|
$(V) fmt -w .
|
22
aur.v
22
aur.v
|
@ -28,3 +28,25 @@ pub:
|
||||||
license []string [json: License]
|
license []string [json: License]
|
||||||
keywords []string [json: Keywords]
|
keywords []string [json: Keywords]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub enum SearchType {
|
||||||
|
name
|
||||||
|
name_desc
|
||||||
|
maintainer
|
||||||
|
depends
|
||||||
|
make_depends
|
||||||
|
opt_depends
|
||||||
|
check_depends
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn (st SearchType) str() string {
|
||||||
|
return match st {
|
||||||
|
.name { 'name' }
|
||||||
|
.name_desc { 'name-desc' }
|
||||||
|
.maintainer { 'maintainer' }
|
||||||
|
.depends { 'depends' }
|
||||||
|
.make_depends { 'makedepends' }
|
||||||
|
.opt_depends { 'optdepends' }
|
||||||
|
.check_depends { 'checkdepends' }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
36
client.v
36
client.v
|
@ -29,16 +29,14 @@ struct SuccessResponse {
|
||||||
results []Package
|
results []Package
|
||||||
}
|
}
|
||||||
|
|
||||||
fn (c Client) request(params map[string]string) ?[]Package {
|
fn (c Client) request(params map[string][]string) ?[]Package {
|
||||||
mut params_escaped := map[string]string{}
|
mut param_strings := []string{}
|
||||||
|
|
||||||
for k, v in params {
|
for k, v in params {
|
||||||
params_escaped[k] = urllib.query_escape(v)
|
param_strings << v.map(urllib.query_escape(it)).map('$k=$it')
|
||||||
}
|
}
|
||||||
|
|
||||||
params_str := params_escaped.keys().map('$it=${params[it]}').join('&')
|
url := '$c.url?${param_strings.join('&')}'
|
||||||
|
|
||||||
url := '$c.url?$params_str'
|
|
||||||
|
|
||||||
res := http.get(url)?
|
res := http.get(url)?
|
||||||
|
|
||||||
|
@ -51,3 +49,29 @@ fn (c Client) request(params map[string]string) ?[]Package {
|
||||||
|
|
||||||
return data.results
|
return data.results
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn (c Client) search_by(arg string, st SearchType) ?[]Package {
|
||||||
|
params := {
|
||||||
|
'v': ['5']
|
||||||
|
'type': ['search']
|
||||||
|
'by': ['$st']
|
||||||
|
'arg': [arg]
|
||||||
|
}
|
||||||
|
|
||||||
|
return c.request(params)
|
||||||
|
}
|
||||||
|
|
||||||
|
// search performs a search by name_desc.
|
||||||
|
pub fn (c Client) search(arg string) ?[]Package {
|
||||||
|
return c.search_by(arg, .name_desc)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn (c Client) info(pkgs []string) ?[]Package {
|
||||||
|
params := {
|
||||||
|
'v': ['5']
|
||||||
|
'type': ['info']
|
||||||
|
'arg[]': pkgs
|
||||||
|
}
|
||||||
|
|
||||||
|
return c.request(params)
|
||||||
|
}
|
||||||
|
|
39
search.v
39
search.v
|
@ -1,39 +0,0 @@
|
||||||
module aur
|
|
||||||
|
|
||||||
pub enum SearchType {
|
|
||||||
name
|
|
||||||
name_desc
|
|
||||||
maintainer
|
|
||||||
depends
|
|
||||||
make_depends
|
|
||||||
opt_depends
|
|
||||||
check_depends
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn (st SearchType) str() string {
|
|
||||||
return match st {
|
|
||||||
.name { 'name' }
|
|
||||||
.name_desc { 'name-desc' }
|
|
||||||
.maintainer { 'maintainer' }
|
|
||||||
.depends { 'depends' }
|
|
||||||
.make_depends { 'makedepends' }
|
|
||||||
.opt_depends { 'optdepends' }
|
|
||||||
.check_depends { 'checkdepends' }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn (c Client) search_by(arg string, st SearchType) ?[]Package {
|
|
||||||
params := {
|
|
||||||
'v': '5'
|
|
||||||
'type': 'search'
|
|
||||||
'by': '$st'
|
|
||||||
'arg': arg
|
|
||||||
}
|
|
||||||
|
|
||||||
return c.request(params)
|
|
||||||
}
|
|
||||||
|
|
||||||
// search performs a search by name_desc.
|
|
||||||
pub fn (c Client) search(arg string) ?[]Package {
|
|
||||||
return c.search_by(arg, .name_desc)
|
|
||||||
}
|
|
Loading…
Reference in New Issue