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 | ||
---|---|---|
2 | 2 | # |
3 | 3 | # dsv - Improved data sheet viewer |
4 | 4 | # |
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 | |
7 | 7 | # |
8 | 8 | # This program is free software; you can redistribute it and/or modify |
9 | 9 | # it under the terms of the GNU General Public License as published by |
... | ... | |
68 | 68 | ds=$nm-`basename "$url"` |
69 | 69 | mkdir -p $DSV_DIR |
70 | 70 | 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 | |
72 | 77 | if [ "$inside" = "$url" ]; then |
73 | 78 | do_wget -O "$DSV_DIR/$ds" "$url" |
74 | 79 | # @@@ should handle error |
75 | 80 | 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 | |
78 | 85 | if [ ! -r "$DSV_DIR/$zip" ]; then |
79 | 86 | do_wget -O "$DSV_DIR/$zip" "$url" |
80 | 87 | # @@@ should handle error |
... | ... | |
90 | 97 | name= |
91 | 98 | alias= |
92 | 99 | url= |
100 | zip= | |
93 | 101 | } |
94 | 102 | |
95 | 103 | |
... | ... | |
100 | 108 | name="\"$value\"";; |
101 | 109 | A:|a:) alias="$alias \"$value\"";; |
102 | 110 | D:|d:) url=$value;; |
111 | Z:|z:) zip=$value;; | |
103 | 112 | "") |
104 | 113 | ;; # first iteration |
105 | 114 | *) echo "unrecognized tag \"$tag\"" 2>&1 |
Branches:
master