aboutsummaryrefslogtreecommitdiff
path: root/elvi/repology
blob: 7e78c269177fd30c33b5868f216ee04859edf29d (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
#!/bin/sh

# elvis: repology        -- Search Linux distro package metadata with repology.org

. surfraw || exit 1

w3_usage_hook() {
	cat <<EOF
Usage: $w3_argv0 [options] [search words]...
Description:
  Surfraw search Linux distro package metadata
Local options:
  -p,-pkg,-package              Search package names
  -m,-maint                     Search maintainers by email address
By default, if there's an @ in the search term, a maintainer search is done,
otherwise a package search.
EOF
	w3_global_usage
}

w3_parse_option_hook() {
	opt="$1"
	optarg="$2"
	case "$opt" in
		-p|-pkg|-pac*)  repo_target="/projects/"      ;;
		-m|-main*)      repo_target="/maintainers/"   ;;
		*) return 1 ;;
	esac
	return 0
}

w3_config
w3_parse_args "$@"

[ -z "$repo_target" ] && case "$w3_args" in
	*@*) repo_target="/maintainers/" ;;
	*)   repo_target="/projects/"    ;;
esac

url="https://repology.org/${repo_target}?search=$( w3_url_of_arg $w3_args )";
w3_browse_url "$url"