From 7dd0a928f51603b7ab705933fb8d4c90ef7a2514 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 28 Nov 2002 07:28:24 +0000 Subject: [PATCH] merge changes from MIR_1_0 branch that add humanreadable size output for media files --- bundles/admin_de.properties | 3 +- bundles/admin_en.properties | 3 +- bundles/admin_es.properties | 3 +- bundles/admin_gn.properties | 1 + bundles/admin_qu.properties | 1 + etc/producer/article.template | 6 +- source/mir/misc/NumberUtils.java | 93 +++++++++++++++++++++++ source/mircoders/entity/EntityUploadedMedia.java | 8 +- source/mircoders/media/MediaHandlerAudio.java | 4 +- source/mircoders/media/MediaHandlerImages.java | 2 +- source/mircoders/media/MediaHandlerImagesPng.java | 2 +- source/mircoders/media/MediaHandlerMp3.java | 6 +- source/mircoders/media/MediaHandlerRealAudio.java | 4 +- source/mircoders/media/MediaHandlerRealVideo.java | 6 +- source/mircoders/media/MediaHandlerVideo.java | 2 +- source/mircoders/media/MediaRequest.java | 2 +- templates/admin/audio.template | 1 + templates/admin/audiolist.template | 3 + templates/admin/image.template | 1 + templates/admin/imagelist.template | 3 + templates/admin/media.template | 1 + templates/admin/medialist.template | 3 + templates/admin/video.template | 1 + templates/admin/videolist.template | 3 + 24 files changed, 141 insertions(+), 21 deletions(-) create mode 100755 source/mir/misc/NumberUtils.java diff --git a/bundles/admin_de.properties b/bundles/admin_de.properties index 85645b92..54b39b14 100755 --- a/bundles/admin_de.properties +++ b/bundles/admin_de.properties @@ -1,6 +1,6 @@ ########## admin ########## # language: deutsch / german -# $Id: admin_de.properties,v 1.15 2002/10/08 14:03:29 bruno Exp $ +# $Id: admin_de.properties,v 1.16 2002/11/28 07:28:24 mh Exp $ # general yes=ja @@ -40,6 +40,7 @@ media.rights=Copyright media.type=Typ media.mediafolder=Mediafolder media.title=Titel +media.size=Grösser media.description=Beschreibung media.date=Datum/Zusatz media.location=Ort diff --git a/bundles/admin_en.properties b/bundles/admin_en.properties index 955f094d..61fcafbf 100755 --- a/bundles/admin_en.properties +++ b/bundles/admin_en.properties @@ -1,6 +1,6 @@ ########## admin ########## # language: english -# $Id: admin_en.properties,v 1.23 2002/11/20 17:47:39 zapata Exp $ +# $Id: admin_en.properties,v 1.24 2002/11/28 07:28:24 mh Exp $ # general yes=yes @@ -44,6 +44,7 @@ media.rights=copyright status media.type=type media.mediafolder=Media folder media.title=title +media.size=size media.description=description media.date=date media.location=location diff --git a/bundles/admin_es.properties b/bundles/admin_es.properties index e1f4f4aa..14ff5675 100755 --- a/bundles/admin_es.properties +++ b/bundles/admin_es.properties @@ -1,6 +1,6 @@ ########## admin ########## # language: espanol / spanish -# $Id: admin_es.properties,v 1.7 2002/11/20 17:47:39 zapata Exp $ +# $Id: admin_es.properties,v 1.8 2002/11/28 07:28:24 mh Exp $ # general yes=sí @@ -38,6 +38,7 @@ media.rights=Copyright media.type=Tipo media.mediafolder=Carpeta de recursos mediáticos media.title=Título +media.size=Tamaño media.description=Descripción media.date=Fecha media.location=Lugar de origen diff --git a/bundles/admin_gn.properties b/bundles/admin_gn.properties index 901849b6..26b36f30 100755 --- a/bundles/admin_gn.properties +++ b/bundles/admin_gn.properties @@ -33,6 +33,7 @@ media.published=publicado media.format=Formato media.rights=Copyright media.type=Tipo +media.size=Tamaño media.mediafolder=Carpeta de recursos mediáticos media.title=Título media.description=Descripción diff --git a/bundles/admin_qu.properties b/bundles/admin_qu.properties index 62211705..fb3a9d67 100755 --- a/bundles/admin_qu.properties +++ b/bundles/admin_qu.properties @@ -35,6 +35,7 @@ media.rights=Copyright media.type=Tipo media.mediafolder=Carpeta de recursos mediáticos media.title=Título +media.size=Tamaño media.description=Descripción media.date=Fecha media.location=Lugar de origen diff --git a/etc/producer/article.template b/etc/producer/article.template index 96112ebb..92a41a69 100755 --- a/etc/producer/article.template +++ b/etc/producer/article.template @@ -76,7 +76,7 @@

- ${media["title"]} - ${media["descr"]} + ${media["title"]} - ${media["descr"]} ${media["size"]}

@@ -84,14 +84,14 @@

- ${media["title"]} - ${media["descr"]} + ${media["title"]} - ${media["descr"]} ${media["size"]}

- ${media["title"]} - ${media["descr"]} + ${media["title"]} - ${media["descr"]} ${media["size"]}

diff --git a/source/mir/misc/NumberUtils.java b/source/mir/misc/NumberUtils.java new file mode 100755 index 00000000..0d836848 --- /dev/null +++ b/source/mir/misc/NumberUtils.java @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2001, 2002 The Mir-coders group + * + * This file is part of Mir. + * + * Mir is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Mir is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Mir; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * In addition, as a special exception, The Mir-coders gives permission to link + * the code of this program with the com.oreilly.servlet library, any library + * licensed under the Apache Software License, The Sun (tm) Java Advanced + * Imaging library (JAI), The Sun JIMI library (or with modified versions of + * the above that use the same license as the above), and distribute linked + * combinations including the two. You must obey the GNU General Public + * License in all respects for all of the code used other than the above + * mentioned libraries. If you modify this file, you may extend this exception + * to your version of the file, but you are not obligated to do so. If you do + * not wish to do so, delete this exception statement from your version. + */ + +package mir.misc; + +import freemarker.template.*; + +import java.text.NumberFormat; +import java.util.List; + +/** + * Help methods for number handling. + * + * @version $Id: NumberUtils.java,v 1.2 2002/11/28 07:28:24 mh Exp $ + * @author mh, Mir-coders group + * + */ + +public final class NumberUtils { + + /* + * Uses a suffix indicating multiples of 1024 (K), + * 1024*1024 (M), and 1024*1024*1024 (G). For example, + * 8500 would be converted to 8.3K, 133456345 to + * 127M, 56990456345 to 53G, and so on. Numbers + * smaller than 1024 aren't modified. + * + * @param bytes The number of bytes. + * @return A text representation of the number of bytes, + * abbreviated for larger quantities. + */ + public static String humanReadableSize(double bytes) + { + String suffix; + + if( bytes >= 1024 * 1024 * 1024 ) + { + bytes /= (1024 * 1024 * 1024); + suffix = "G"; + } + else if( bytes >= 1024 * 1024 ) + { + bytes /= (1024 * 1024); + suffix = "M"; + } + else if( bytes >= 1024 ) + { + bytes /= 1024; + suffix = "K"; + } + else + { + suffix = ""; + } + int frac = (bytes >= 10 || bytes == 0) ? 0 : 1; + NumberFormat nf = NumberFormat.getInstance(); + nf.setMinimumFractionDigits(frac); + nf.setMaximumFractionDigits(frac); + System.out.println(nf.getMinimumIntegerDigits()); + nf.setGroupingUsed(false); + return nf.format(bytes) + suffix; + } + +} + diff --git a/source/mircoders/entity/EntityUploadedMedia.java b/source/mircoders/entity/EntityUploadedMedia.java index caf2ab60..619f5ef3 100755 --- a/source/mircoders/entity/EntityUploadedMedia.java +++ b/source/mircoders/entity/EntityUploadedMedia.java @@ -40,6 +40,7 @@ import mir.media.MediaHelper; import mir.media.MirMedia; import mir.storage.StorageObject; import mir.storage.StorageObjectException; +import mir.misc.NumberUtils; import mircoders.storage.DatabaseUploadedMedia; import java.util.HashMap; @@ -48,7 +49,7 @@ import java.util.HashMap; * Diese Klasse enthält die Daten eines MetaObjekts * * @author mh, mir-coders group - * @version $Id: EntityUploadedMedia.java,v 1.12 2002/11/27 08:57:31 mh Exp $ + * @version $Id: EntityUploadedMedia.java,v 1.13 2002/11/28 07:28:24 mh Exp $ */ @@ -101,6 +102,11 @@ public class EntityUploadedMedia extends Entity { returnValue = getMediaTypeString(); else if (key.equals("mimetype")) returnValue = getMimeType(); + else if (key.equals("size")) { + String size = super.getValue(key); + if (size != null) + returnValue = NumberUtils.humanReadableSize(Double.parseDouble(size)); + } else returnValue = super.getValue(key); } diff --git a/source/mircoders/media/MediaHandlerAudio.java b/source/mircoders/media/MediaHandlerAudio.java index 5d7e2446..6717d2e2 100755 --- a/source/mircoders/media/MediaHandlerAudio.java +++ b/source/mircoders/media/MediaHandlerAudio.java @@ -45,8 +45,8 @@ import mir.storage.*; * * @see mir.media.MediaHandlerGeneric * @see mir.media.MirMedia - * @author mh - * @version 24.09.2001 + * @author mh + * @version $Id: MediaHandlerAudio.java,v 1.6 2002/11/28 07:28:24 mh Exp $ */ public class MediaHandlerAudio extends MediaHandlerGeneric implements MirMedia diff --git a/source/mircoders/media/MediaHandlerImages.java b/source/mircoders/media/MediaHandlerImages.java index 974f0970..53a9a8c4 100755 --- a/source/mircoders/media/MediaHandlerImages.java +++ b/source/mircoders/media/MediaHandlerImages.java @@ -59,7 +59,7 @@ import mircoders.entity.EntityImages; * * @see mir.media.MirMedia * @author mh - * @version $Id: MediaHandlerImages.java,v 1.12 2002/11/27 08:57:32 mh Exp $ + * @version $Id: MediaHandlerImages.java,v 1.13 2002/11/28 07:28:24 mh Exp $ */ diff --git a/source/mircoders/media/MediaHandlerImagesPng.java b/source/mircoders/media/MediaHandlerImagesPng.java index b2c87c1b..631b47b4 100755 --- a/source/mircoders/media/MediaHandlerImagesPng.java +++ b/source/mircoders/media/MediaHandlerImagesPng.java @@ -45,7 +45,7 @@ import mir.entity.Entity; * @see mir.media.MirMedia * @see mircoders.media.MediaHandlerImages * @author mh ,mir-coders - * @version $Id: MediaHandlerImagesPng.java,v 1.3 2002/11/27 08:57:32 mh Exp $ + * @version $Id: MediaHandlerImagesPng.java,v 1.4 2002/11/28 07:28:24 mh Exp $ */ diff --git a/source/mircoders/media/MediaHandlerMp3.java b/source/mircoders/media/MediaHandlerMp3.java index 489f6bcb..11442070 100755 --- a/source/mircoders/media/MediaHandlerMp3.java +++ b/source/mircoders/media/MediaHandlerMp3.java @@ -66,8 +66,8 @@ import mir.storage.*; * If the web server is not apache, then your on your own. * * @see mir.media.MirMedia - * @author mh - * @version 01.12.2001 + * @author mh + * @version $Id: MediaHandlerMp3.java,v 1.9 2002/11/28 07:28:24 mh Exp $ */ public class MediaHandlerMp3 extends MediaHandlerAudio implements MirMedia @@ -131,7 +131,7 @@ public class MediaHandlerMp3 extends MediaHandlerAudio implements MirMedia public String getDescr(Entity mediaType) { - return "Mp3 audio"; + return "mp3"; } } diff --git a/source/mircoders/media/MediaHandlerRealAudio.java b/source/mircoders/media/MediaHandlerRealAudio.java index bab016b4..23416a83 100755 --- a/source/mircoders/media/MediaHandlerRealAudio.java +++ b/source/mircoders/media/MediaHandlerRealAudio.java @@ -52,7 +52,7 @@ import mir.storage.*; * @see mir.media.MediaHandlerGeneric * @see mir.media.MirMedia * @author john , mh - * @version 11.10.2001 + * @version $Id: MediaHandlerRealAudio.java,v 1.13 2002/11/28 07:28:24 mh Exp $ */ @@ -113,7 +113,7 @@ public class MediaHandlerRealAudio extends MediaHandlerAudio implements public String getDescr(Entity mediaType) { - return "RealMedia Audio"; + return "RealMedia"; } public String getPublishHost() diff --git a/source/mircoders/media/MediaHandlerRealVideo.java b/source/mircoders/media/MediaHandlerRealVideo.java index c2680797..c93d3338 100755 --- a/source/mircoders/media/MediaHandlerRealVideo.java +++ b/source/mircoders/media/MediaHandlerRealVideo.java @@ -51,8 +51,8 @@ import mir.storage.*; * * @see mir.media.MediaHandlerGeneric * @see mir.media.MirMedia - * @author john , mh - * @version $Id: MediaHandlerRealVideo.java,v 1.12 2002/11/27 08:57:32 mh Exp $ + * @author john , mh + * @version $Id: MediaHandlerRealVideo.java,v 1.13 2002/11/28 07:28:24 mh Exp $ */ @@ -113,7 +113,7 @@ public class MediaHandlerRealVideo extends MediaHandlerVideo implements public String getDescr(Entity mediaType) { - return "RealMedia Video"; + return "RealMedia"; } public String getPublishHost() diff --git a/source/mircoders/media/MediaHandlerVideo.java b/source/mircoders/media/MediaHandlerVideo.java index 08144e44..4c1ca4a8 100755 --- a/source/mircoders/media/MediaHandlerVideo.java +++ b/source/mircoders/media/MediaHandlerVideo.java @@ -47,7 +47,7 @@ import mir.storage.*; * @see mir.media.MediaHandlerGeneric * @see mir.media.MirMedia * @author john - * @version 11.10.2001 + * @version $Id: MediaHandlerVideo.java,v 1.5 2002/11/28 07:28:24 mh Exp $ */ public class MediaHandlerVideo extends MediaHandlerGeneric implements MirMedia diff --git a/source/mircoders/media/MediaRequest.java b/source/mircoders/media/MediaRequest.java index b559515c..ce6fd2e7 100755 --- a/source/mircoders/media/MediaRequest.java +++ b/source/mircoders/media/MediaRequest.java @@ -55,7 +55,7 @@ import mir.media.*; * appropriate media objects are set. * * @author mh - * @version $Id: MediaRequest.java,v 1.6 2002/11/27 08:06:54 mh Exp $ + * @version $Id: MediaRequest.java,v 1.7 2002/11/28 07:28:24 mh Exp $ * */ diff --git a/templates/admin/audio.template b/templates/admin/audio.template index 6f4a526f..e02ec796 100755 --- a/templates/admin/audio.template +++ b/templates/admin/audio.template @@ -34,6 +34,7 @@ function openWin(url) { / ${lang("media.changed")} ${data.webdb_lastchange}
${lang("media.published")}: ${data.publish_date} / ${data.publish_server}${data.publish_path}
${lang("media.format")}: ${data.mimetype} / ${data.descr}
+ ${lang("media.size")}: ${data.size}
${lang("media.rights")}: ${data.rightsHashdata[to_rights]["name"]}
diff --git a/templates/admin/audiolist.template b/templates/admin/audiolist.template index da922f5e..22e21f66 100755 --- a/templates/admin/audiolist.template +++ b/templates/admin/audiolist.template @@ -61,6 +61,8 @@ ${lang("media.title")} + ${lang("media.size")} + ${lang("media.mediafolder")} ${lang("media.creator")} @@ -73,6 +75,7 @@ ${entry.title} 
${entry.description}
+ ${entry.size}  ${data.mediafolderHashdata[entry.to_media_folder]["name"]}  ${entry.creator}    diff --git a/templates/admin/image.template b/templates/admin/image.template index ebe936f4..97cf45d0 100755 --- a/templates/admin/image.template +++ b/templates/admin/image.template @@ -49,6 +49,7 @@ function openWin(url) { ${lang("media.created")}: ${data.webdb_create} / ${lang("media.changed")} ${data.webdb_lastchange}
${lang("media.published")}: ${data.publish_date} / ${data.publish_server}${data.publish_path}
${lang("media.format")}: ${data.img_width}x${data.img_height} / ${data.imgformatHashdata[to_img_format]["name"]} / ${data.imglayoutHashdata[to_img_layout]["name"]} / ${data.imgcolorHashdata[to_img_color]["name"]}
+ ${lang("media.size")}: ${data.size}
${lang("media.rights")}: ${data.rightsHashdata[to_rights]["name"]}
${lang("media.type")}: ${data.imgtypeHashdata[to_img_type]["name"]}
diff --git a/templates/admin/imagelist.template b/templates/admin/imagelist.template index 90ba7f61..aeb8e1d8 100755 --- a/templates/admin/imagelist.template +++ b/templates/admin/imagelist.template @@ -61,6 +61,8 @@ ${lang("media.title")} + ${lang("media.size")} + ${lang("media.mediafolder")} ${lang("media.creator")} @@ -75,6 +77,7 @@ ${entry.title} 
${entry.description}
+ ${entry.size}  ${data.mediafolderHashdata[entry.to_media_folder]["name"]}  ${entry.creator}    diff --git a/templates/admin/media.template b/templates/admin/media.template index d08b547d..a5ca0ea6 100755 --- a/templates/admin/media.template +++ b/templates/admin/media.template @@ -34,6 +34,7 @@ function openWin(url) { / ${lang("media.changed")} ${data.webdb_lastchange}
${lang("media.published")}: ${data.publish_date} / ${data.publish_server}${data.publish_path}
${lang("media.format")}: ${data.mimetype} / ${data.descr}
+ ${lang("media.size")}: ${data.size}
${lang("media.rights")}: ${data.rightsHashdata[to_rights]["name"]}
diff --git a/templates/admin/medialist.template b/templates/admin/medialist.template index 75ec3409..6c04bce9 100755 --- a/templates/admin/medialist.template +++ b/templates/admin/medialist.template @@ -61,6 +61,8 @@ ${lang("media.title")} + ${lang("media.size")} + ${lang("media.mediafolder")} ${lang("media.creator")} @@ -73,6 +75,7 @@
${entry.title} 
${entry.description}
+ ${entry.size}  ${data.mediafolderHashdata[entry.to_media_folder]["name"]}  ${entry.creator}    diff --git a/templates/admin/video.template b/templates/admin/video.template index 62975a1b..c613390e 100755 --- a/templates/admin/video.template +++ b/templates/admin/video.template @@ -34,6 +34,7 @@ function openWin(url) { / ${lang("media.changed")} ${data.webdb_lastchange}
${lang("media.published")}: ${data.publish_date} / ${data.publish_server}${data.publish_path}
${lang("media.format")}: ${data.mimetype} / ${data.descr}
+ ${lang("media.size")}: ${data.size}
${lang("media.rights")}: ${data.rightsHashdata[to_rights]["name"]}
diff --git a/templates/admin/videolist.template b/templates/admin/videolist.template index b9c63693..590a7334 100755 --- a/templates/admin/videolist.template +++ b/templates/admin/videolist.template @@ -61,6 +61,8 @@ ${lang("media.title")} + ${lang("media.size")} + ${lang("media.mediafolder")} ${lang("media.creator")} @@ -73,6 +75,7 @@
${entry.title} 
${entry.description}
+ ${entry.size}  ${data.mediafolderHashdata[entry.to_media_folder]["name"]}  ${entry.creator}    -- 2.11.0