#!/bin/bash #################################### ####### colors ##################### green="\033[01;32m" red="\033[01;31m" restore="\033[00m" contrast="\033[1m" #################################### echo URL="http://gpo.zugaina.org" #################################### ####### search ##################### search(){ for page in ${PAGES};do OUT="$(curl -s ${URL}/${page})" OVERLAYS="$(grep -o "Overlays/.*\"" <<< "${OUT}" | sed 's|Overlays/||;s|"||' | sort -u)" VERSIONS="$(grep -o "<b>[^ ]*</b" <<< "${OUT}" | sort -ru | sed -e 's|<b>||;s|</b||' -e "s|${PN}-||")" for ver in ${VERSIONS};do overlays="$(sed -n "/<b>${PN}-${ver}<\/b>/,/<\/li>/p" <<< "${OUT}" | grep -o "Overlays/.*\"" | sed 's|Overlays/||;s|"||' | sort -u)" FULL+="${CATEGORY}/${PN}-${ver}:"${overlays//$'\n'/ }$'\n' done done } #################################### ####### go ######################### if [[ "${1}" == "-e" ]] && grep -q \/ <<< "${2}";then PAGES="${2}" CATEGORY="$(awk -F '/' '{print $1}' <<< "${2}")" PN="$(awk -F '/' '{print $2}' <<< "${2}")" desc="$(curl -s ${URL}/${2} | grep -o "<h5.*/h5>")" desc="${desc#*>}" desc="${desc%<*}" echo -e "${green}${2}${restore}: ${desc}" search else PAGE="$(curl -s ${URL}/Search?search="${1}")" while read package desc;do [[ -z "${package}" ]] && continue echo -e "${green}${package}${restore}: ${desc}" package="$(qatom ${package})" CATEGORY="$(awk '{print $1}' <<< "${package}")" PN="$(awk '{print $2}' <<< "${package}")" SUB_PAGE="$(curl -s http://gpo.zugaina.org/${CATEGORY}/${PN})" PAGES="$(grep -o "<a href=\".*#.*\">" <<< "${SUB_PAGE}" | awk -F '/' '{print $2,$3}' | tr ' ' '/' | sort -u)" search; done <<< "$(sed -n '/<div id="search_results">/,/<div class="pager">/p' <<< "${PAGE}" | grep '<div>.*</div>' | sed 's|<div>||g;s|<\/div>||g')" fi #################################### ####### output ##################### [[ -n "${FULL}" ]] && echo && echo -e "PACKAGE:REPOSITORY\n-------:----------\n${FULL}" | column -t -s ':'