feat: add filtering of targets by arch

Jef Roosens 2023-01-02 16:38:43 +01:00
parent b0fe6b7384
commit 39a026fdb3
Signed by untrusted user: Jef Roosens
GPG Key ID: B75D4F293C7052DB
4 changed files with 16 additions and 0 deletions

View File

@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* Metrics endpoint for Prometheus integration
* Search in list of targets using API & CLI
* Allow filtering targets by arch value
## [0.5.0](https://git.rustybever.be/vieter-v/vieter/src/tag/0.5.0)

View File

@ -46,6 +46,11 @@ pub fn cmd() cli.Command {
description: 'Search string to filter targets by.'
flag: cli.FlagType.string
},
cli.Flag{
name: 'arch'
description: 'Only list targets that build for this arch.'
flag: cli.FlagType.string
},
]
execute: fn (cmd cli.Command) ! {
config_file := cmd.flags.get_string('config-file')!
@ -73,6 +78,11 @@ pub fn cmd() cli.Command {
filter.query = query
}
arch := cmd.flags.get_string('arch')!
if arch != '' {
filter.arch = arch
}
raw := cmd.flags.get_bool('raw')!
list(conf, filter, raw)!

View File

@ -54,6 +54,10 @@ fn (mut ti TargetsIterator) advance_window() {
ti.window = ti.window.filter(it.repo == ti.filter.repo)
}
if ti.filter.arch != '' {
ti.window = ti.window.filter(it.arch.any(it.value == ti.filter.arch))
}
if ti.filter.query != '' {
ti.window = ti.window.filter(it.url.contains(ti.filter.query)
|| it.path.contains(ti.filter.query) || it.branch.contains(ti.filter.query))

View File

@ -74,4 +74,5 @@ pub mut:
offset u64
repo string
query string
arch string
}