summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBo Ørsted Andresen <bo.andresen@zlin.dk>2007-02-28 13:11:19 +0000
committerBo Ørsted Andresen <bo.andresen@zlin.dk>2007-02-28 13:11:19 +0000
commitc20153114ed58161cd979928a4e99e4047a4c879 (patch)
treea16ec2c005b8b1ad1c6a4428eefb5f8d5700cdf4
parentb93ef0c4c8e9a6e7922c4e5f11c6388c5ae84d03 (diff)
downloadwgetpaste-c20153114ed58161cd979928a4e99e4047a4c879.tar.gz
Add --expiration support for stgraber. Since it doesn't have the desired default (1 week) this also adds support for overriding the default expiration for 1 service only by setting DEFAULT_EXPIRATION_.
-rwxr-xr-xwgetpaste22
1 files changed, 19 insertions, 3 deletions
diff --git a/wgetpaste b/wgetpaste
index aba156b..5a5b251 100755
--- a/wgetpaste
+++ b/wgetpaste
@@ -48,6 +48,9 @@ DEFAULT_NICK="${DEFAULT_NICK:-$(whoami)}"
DEFAULT_SERVICE="${DEFAULT_SERVICE:-rafb}"
DEFAULT_LANGUAGE="${DEFAULT_LANGUAGE:-Plain Text}"
DEFAULT_EXPIRATION="${DEFAULT_EXPIRATION:-1 week}"
+# setting DEFAULT_EXPIRATION_${SERVICE} can be used to override for services where the general
+# default is unavailable.
+DEFAULT_EXPIRATION_stgraber="${DEFAULT_EXPIRATION_stgraber:-1 month}"
### usage
@@ -74,7 +77,9 @@ show_usage() {
echo " --version show version information"
echo
echo "Defaults can be overridden globally in /etc/wgetpaste or per user in ~/.wgetpaste."
- echo "Only the vars DEFAULT_{NICK,SERVICE,LANGUAGE,EXPIRATION} should be set in those files."
+ echo "DEFAULT_{NICK,SERVICE,LANGUAGE,EXPIRATION} may be set in those files. Also"
+ echo "DEFAULT_EXPIRATION_\${SERVICE} may be set to get different default expiration for"
+ echo "different services."
}
### services
@@ -166,11 +171,14 @@ verify_language() {
ca_EXPIRATION_OPTIONS=(Never 5\ minutes 10\ minutes 15\ minutes 30\ minutes 45\ minutes 1\ hour \
2\ hours 4\ hours 8\ hours 12\ hours 1\ day 2\ days 3\ days 1\ week 2\ weeks 3\ weeks 1\ month \
2\ months 3\ months 4\ months 5\ months 6\ months 1\ year)
+# stgraber - ordering for options and values must be the same
+stgraber_EXPIRATION_OPTIONS=(Never 1\ day 1\ month)
+stgraber_EXPIRATION_VALUES=(f d m)
show_expiration_options() {
echo "Expiration options supported by ${SERVICE}: $(get_recipient) (case sensisitive):"
case "${SERVICE}" in
- ca )
+ ca | stgraber )
for index in $(eval "echo \${!${SERVICE}_EXPIRATION_OPTIONS[*]}"); do
echo " $(eval "echo \${${SERVICE}_EXPIRATION_OPTIONS[index]}")"
done
@@ -189,6 +197,11 @@ verify_expiration_options() {
[[ "${EXPIRATION}" == "${ca_EXPIRATION_OPTIONS[index]}" ]] && return 0
done
;;
+ stgraber )
+ for index in ${!stgraber_EXPIRATION_OPTIONS[*]}; do
+ [[ "${EXPIRATION}" == "${stgraber_EXPIRATION_OPTIONS[index]}" ]] && EXPIRATION="${stgraber_EXPIRATION_VALUES[index]}" && return 0
+ done
+ ;;
* )
[[ ! ${EXPIRATION_SET} ]] && return 0
;;
@@ -239,7 +252,7 @@ post_data() {
echo "poster=${NICK}&code=${INPUT}"
;;
stgraber )
- echo "poster=${NICK}&format=${LANGUAGE}&title=${DESCRIPTION}&paste=Send&code2=${INPUT}"
+ echo "poster=${NICK}&format=${LANGUAGE}&title=${DESCRIPTION}&expiry=${EXPIRATION}&paste=Send&code2=${INPUT}"
;;
* )
echo "\"${SERVICE}\" is not supported by ${FUNCNAME}()." 1>&2
@@ -317,11 +330,13 @@ while [[ ! -z "${1}" ]]; do
;;
--expiration=* )
[[ -z "${1#*=}" ]] && show_usage 1>&2 && exit 1
+ EXPIRATION_SET=true
EXPIRATION="${1#*=}"
shift
;;
-e | --expiration )
[[ -z "${2}" ]] && show_usage 1>&2 && exit 1
+ EXPIRATION_SET=true
EXPIRATION="${2}"
shift 2
;;
@@ -421,6 +436,7 @@ verify_language
LANGUAGE="$(escape "${LANGUAGE}")"
# expiration needs to be verified before it is escaped but after service is selected
+[[ -n "$(eval "echo \${DEFAULT_EXPIRATION_${SERVICE}}")" ]] && EXPIRATION="${EXPIRATION:-$(eval "echo \${DEFAULT_EXPIRATION_${SERVICE}}")}"
EXPIRATION="${EXPIRATION:-${DEFAULT_EXPIRATION}}"
# uses ${SERVICE} and ${EXPIRATION}. may change the value of the latter.
verify_expiration_options