Date:2014-03-07 12:19:28 (10 years 21 days ago)
Author:Werner Almesberger
Commit:7067c00a90ff6bcbf3ef1333aa0a5b4c142e348e
Message:dsv/dsv: add Z tag to select files in ZIP archive not ending in .zip

The D: url file format only works if the URL ends in .zip, .ZIP,
etc. Some URLs leading to a ZIP don't use this extension. The Z tag
introduces the following alternative use:

D: url
Z: file

where the URL is always treated as ZIP archive, no matter what it looks
like.
Files: dsv/dsv (4 diffs)

Change Details

dsv/dsv
22#
33# dsv - Improved data sheet viewer
44#
5# Written 2010-2013 by Werner Almesberger
6# Copyright 2010-2013 Werner Almesberger
5# Written 2010-2014 by Werner Almesberger
6# Copyright 2010-2014 Werner Almesberger
77#
88# This program is free software; you can redistribute it and/or modify
99# it under the terms of the GNU General Public License as published by
...... 
6868    ds=$nm-`basename "$url"`
6969    mkdir -p $DSV_DIR
7070    if [ ! -r "$DSV_DIR/$ds" ]; then
71    inside=${url#*.[Zz][Ii][Pp] }
71    if [ "$zip" ]; then
72        inside=$zip
73        zip=$ds.zip
74    else
75        inside=${url#*.[Zz][Ii][Pp] }
76    fi
7277    if [ "$inside" = "$url" ]; then
7378        do_wget -O "$DSV_DIR/$ds" "$url"
7479        # @@@ should handle error
7580    else
76        url=${url%`echo x"$inside" | sed 's/./?/g'`}
77        zip=$nm-`basename "$url"`
81        if [ -z "$zip" ]; then
82            url=${url%`echo x"$inside" | sed 's/./?/g'`}
83            zip=$nm-`basename "$url"`
84        fi
7885        if [ ! -r "$DSV_DIR/$zip" ]; then
7986            do_wget -O "$DSV_DIR/$zip" "$url"
8087            # @@@ should handle error
...... 
9097    name=
9198    alias=
9299    url=
100    zip=
93101}
94102
95103
...... 
100108        name="\"$value\"";;
101109    A:|a:) alias="$alias \"$value\"";;
102110    D:|d:) url=$value;;
111    Z:|z:) zip=$value;;
103112    "")
104113        ;; # first iteration
105114    *) echo "unrecognized tag \"$tag\"" 2>&1

Archive Download the corresponding diff file

Branches:
master



interactive