-/* $Id: thumb.js,v 1.7 2006/11/05 15:20:59 mmondor Exp $ */
+/* $Id: thumb.js,v 1.8 2006/11/06 04:03:58 mmondor Exp $ */
/*
* Copyright (c) 2006, Matthew Mondor
for (;;) {
try {
- dir = new Dir(path);
- while ((e = dir.read()) != null) {
- if ((e.type & Dir.DT_DIR) != 0 &&
- e.name.charAt(0) != '.') {
- index.push({t: 'DIR', l: e.name});
- if (!thumbnail_dir(path + '/' +
- e.name, xmax, ymax))
- break;
- } else if ((e.type & Dir.DT_REG) != 0 &&
- e.name.match(
- /\.jpg$|\.jpeg$|\.png$|\.gif$/)) {
- if (e.name.match(/_thumb/))
- continue;
- i = e.name.lastIndexOf('.');
- newname = e.name.substring(0, i) +
- '_thumb' + e.name.substring(i);
- if (!thumbnail(path + '/' + e.name,
- path + '/' + newname, xmax, ymax))
- break;
- index.push({t: 'IMG', o: e.name,
- n: newname});
- }
+
+ dir = new Dir(path);
+ while ((e = dir.read()) != null) {
+ if ((e.type & Dir.DT_DIR) != 0 &&
+ e.name.charAt(0) != '.') {
+ index.push({t: 'DIR', l: e.name});
+ if (!thumbnail_dir(path + '/' + e.name, xmax,
+ ymax))
+ break;
+ } else if ((e.type & Dir.DT_REG) != 0 && e.name.match(
+ /\.jpg$|\.jpeg$|\.png$|\.gif$/)) {
+ if (e.name.match(/_thumb/))
+ continue;
+ i = e.name.lastIndexOf('.');
+ newname = e.name.substring(0, i) + '_thumb' +
+ e.name.substring(i);
+ if (!thumbnail(path + '/' + e.name, path +
+ '/' + newname, xmax, ymax))
+ break;
+ index.push({t: 'IMG', o: e.name, n: newname});
}
- if (index.length > 0) {
- /* XXX sort */
- fh = new File(path + '/index.html', 'w');
- fh.write("<html><head></head><body>\n" +
- '<br><a href="../index.html">../ (parent' +
- ' directory)</a><br><br>' + "\n");
- for (i in index) {
- f = index[i];
- if (f.t == 'DIR') {
- var t;
-
- fh.write('<table border="1">' +
- '<tr><td width="' + xmax +
- '" height="' + ymax +
- '" valign="center"' +
- ' align="center">' +
- '<a href="' + f.l +
- '/index.html">');
- if ((t = dir_findthumb(path +
- '/' + f.l)) != null)
- fh.write('<img src="' +
- f.l + '/' + t +
- '">');
- fh.write('</a></td></tr>' +
- '<tr><td align="center"' +
- ' valign="center">' +
- '<a href="' + f.l +
- '/index.html">' + f.l +
- '/</a></td></tr></table>' +
- "\n");
- }
- }
- for (i in index) {
- f = index[i];
- if (f.t == 'IMG')
- fh.write('<a target="_blank"' +
- 'href="' + f.o +
- '"><img src="' + f.n +
- '"></a>' + "\n");
- }
- fh.write('<br><sub>' +
- 'Thumb gallery generated by: ' +
- '$Id: thumb.js,v 1.7 2006/11/05 15:20:59 mmondor Exp $' +
- '<br><a href="http://cvs.pulsar-zone.net' +
- '/cgi-bin/cvsweb.cgi/mmondor/mmsoftware/' +
- 'js/js-sh/app/thumb/thumb.js">(source)' +
- "</a></sub>\n");
- fh.write("</body></html>\n");
- fh.close();
+ }
+ if (index.length == 0) {
+ ret = true;
+ break;
+ }
+ /* XXX sort */
+ fh = new File(path + '/index.html', 'w');
+ fh.write("<html><head></head><body>\n" +
+ '<br><a href="../index.html">../ (parent directory)' +
+ "</a><br><br>\n");
+ for (i in index) {
+ f = index[i];
+ if (f.t == 'DIR') {
+ var t;
+
+ fh.write('<table border="1"><tr><td width="' +
+ xmax + '" height="' + ymax +
+ '" valign="center" align="center">' +
+ '<a href="' + f.l + '/index.html">');
+ if ((t = dir_findthumb(path + '/' + f.l))
+ != null)
+ fh.write('<img src="' + f.l + '/' + t +
+ '">');
+ fh.write('</a></td></tr><tr><td align="' +
+ 'center" valign="center"><a href="' + f.l +
+ '/index.html">' + f.l + '/</a></td>' +
+ "</tr></table>\n");
}
+ }
+ for (i in index) {
+ f = index[i];
+ if (f.t == 'IMG')
+ fh.write('<a target="_blank" href="' + f.o +
+ '"><img src="' + f.n + '"></a>' + "\n");
+ }
+ fh.write('<br><sub>Thumb gallery generated by: ' +
+ '$Id: thumb.js,v 1.8 2006/11/06 04:03:58 mmondor Exp $' +
+ '<br><a href="http://cvs.pulsar-zone.net/cgi-bin/' +
+ 'cvsweb.cgi/mmondor/mmsoftware/js/js-sh/app/thumb/' +
+ 'thumb.js">(source)</a></sub>' + "\n");
+ fh.write("</body></html>\n");
+ fh.close();
+
} catch (x) {
Syslog.log(Syslog.LOG_NOTICE, x.toString());
break;
Syslog.log(Syslog.LOG_NOTICE, x.toString());
break;
}
+ break;
}
try {
return ret;
}
-thumbnail_dir('/home/data/jshttpd/mmondor/testimg', 100, 100);
+thumbnail_dir('/home/data/jshttpd/mmondor/img_gallery', 100, 100);