Author: jflesch
Date: 2006-12-29 21:59:26 +0000 (Fri, 29 Dec 2006)
New Revision: 11529

Modified:
   trunk/apps/Thaw/src/thaw/core/FreenetURIHelper.java
   trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
   trunk/apps/Thaw/src/thaw/plugins/index/File.java
Log:
Thaw should now decode the URL-encoded filenames / keys correctly

Modified: trunk/apps/Thaw/src/thaw/core/FreenetURIHelper.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/FreenetURIHelper.java 2006-12-29 21:31:53 UTC 
(rev 11528)
+++ trunk/apps/Thaw/src/thaw/core/FreenetURIHelper.java 2006-12-29 21:59:26 UTC 
(rev 11529)
@@ -55,6 +55,12 @@

                if(!key.endsWith("/")) {
                        filename = cutcut[cutcut.length-1];
+
+                       try {
+                               filename = java.net.URLDecoder.decode(filename, 
"UTF-8");
+                       } catch (final java.io.UnsupportedEncodingException e) {
+                               Logger.warning(new FreenetURIHelper(), 
"UnsupportedEncodingException (UTF-8): "+e.toString());
+                       }
                } else {
                        filename = "index.html";
                }

Modified: trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java      2006-12-29 21:31:53 UTC 
(rev 11528)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java      2006-12-29 21:59:26 UTC 
(rev 11529)
@@ -7,6 +7,7 @@
 import java.util.Observable;
 import java.util.Observer;

+import thaw.core.FreenetURIHelper;
 import thaw.core.Logger;

 public class FCPClientGet extends Observable implements Observer, 
FCPTransferQuery {
@@ -134,14 +135,8 @@

                status = "Waiting";

-               final String cutcut[] = key.split("/");
+               filename = FreenetURIHelper.getFilenameFromKey(key);

-               if(!key.endsWith("/")) {
-                       filename = cutcut[cutcut.length-1];
-               } else {
-                       filename = "index.html";
-               }
-
                Logger.debug(this, "Query for getting "+key+" created");

        }

Modified: trunk/apps/Thaw/src/thaw/plugins/index/File.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/File.java    2006-12-29 21:31:53 UTC 
(rev 11528)
+++ trunk/apps/Thaw/src/thaw/plugins/index/File.java    2006-12-29 21:59:26 UTC 
(rev 11529)
@@ -239,7 +239,7 @@
                        return;
                }

-               if (getTransfer() != null) {
+               if (getTransfer() != null && getTransfer().isRunning()) {
                        Logger.warning(this, "Can't download: a transfer is 
already running");
                        return;
                }
@@ -253,7 +253,7 @@


        public void insertOnFreenet(final FCPQueueManager queueManager) {
-               if (getTransfer() != null) {
+               if (getTransfer() != null && getTransfer().isRunning()) {
                        Logger.warning(this, "Another transfer is already 
running : can't insert");
                        return;
                }


Reply via email to