update weather() zsh function
[grml-etc-core.git] / etc / skel / .zshrc
index d2d5f79..57bbbb9 100644 (file)
@@ -3,7 +3,7 @@
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2.
-# Latest change: Don Dez 06 23:27:51 CET 2007 [mika]
+# Latest change: Son Dez 09 22:58:07 CET 2007 [mika]
 ################################################################################
 
 # source ~/.zshrc.global {{{
@@ -15,9 +15,9 @@
 # Note, that xsource() is defined in the global file, so here,
 # we will have to do the sourcing manually for once:
 
-     [[ -z "$ZSHRC_GLOBAL_HAS_BEEN_READ" ]]  \
-     && [[ -r "${HOME}/.zshrc.global" ]]     \
-         && source "${HOME}/.zshrc.global"
+[[ -z "$ZSHRC_GLOBAL_HAS_BEEN_READ" ]]  \
+&& [[ -r "${HOME}/.zshrc.global" ]]     \
+&& source "${HOME}/.zshrc.global"
 # }}}
 
 # check whether global file has been read {{{
@@ -257,7 +257,25 @@ fi
 #f4# Search for newspostings from authors
 agoogle() { ${=BROWSER} "http://groups.google.com/groups?as_uauthors=$*" ; }
 #f4# Search Debian Bug Tracking System by BugID in mbox format
-debbug()  { ${=BROWSER} "http://bugs.debian.org/$*" }
+debbug()  { 
+    setopt localoptions extendedglob
+    if [[ $# -eq 1 ]]; then
+        case "$1" in
+            ([0-9]##)
+            ${=BROWSER} "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=$1"
+            ;;
+            (*@*)
+            ${=BROWSER} "http://bugs.debian.org/cgi-bin/pkgreport.cgi?submitter=$1"
+            ;;
+            (*)
+            ${=BROWSER} "http://bugs.debian.org/$*"
+            ;;
+        esac
+    else
+        print "$0 needs one argument"
+        return 1
+    fi
+}
 #f4# Search Debian Bug Tracking System
 debbugm() { bts show --mbox $1 } # provide bugnummer as "$1"
 #f4# Search DMOZ
@@ -586,39 +604,6 @@ show-archive() {
     fi
 }
 
-# TODO: isn't ssl() like this, but clean?
-#       I'd like to remove this, it's a gross hack, IMHO -ft
-#f5# Follow symlinks
-folsym() {
-    if [[ -e $1 || -h $1 ]] ; then
-        file=$1
-    else
-        file=`which $1`
-    fi
-    if [[ -e $file || -L $file ]] ; then
-        if [[ -L $file ]] ; then
-            echo `ls -ld $file | perl -ane 'print $F[7]'` '->'
-            folsym `perl -le '$file = $ARGV[0];
-                              $dest = readlink $file;
-                              if ($dest !~ m{^/}) {
-                                  $file =~ s{(/?)[^/]*$}{$1$dest};
-                              } else {
-                                  $file = $dest;
-                              }
-                              $file =~ s{/{2,}}{/}g;
-                              while ($file =~ s{[^/]+/\.\./}{}) {
-                                  ;
-                              }
-                              $file =~ s{^(/\.\.)+}{};
-                              print $file' $file`
-        else
-            ls -d $file
-        fi
-    else
-        echo $file
-    fi
-}
-
 # It's shameless stolen from <http://www.vim.org/tips/tip.php?tip_id=167>
 #f5# Use \kbd{vim} as your manpage reader
 vman() { man $* | col -b | view -c 'set ft=man nomod nolist' - }
@@ -1079,6 +1064,7 @@ fluxkey-change() {
 weather() {
     [[ -n "$1" ]] || {
         print 'Usage: weather <station_id>' >&2
+        print 'List of stations: http://en.wikipedia.org/wiki/List_of_airports_by_ICAO_code'>&2
         return 1
     }