mldonkey-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/driver/dr...


From: mldonkey-commits
Subject: [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/driver/dr...
Date: Sun, 24 Jun 2007 18:37:04 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Changes by:     spiralvoice <spiralvoice>       07/06/24 18:37:04

Modified files:
        distrib        : ChangeLog 
        src/daemon/driver: driverCommands.ml driverInteractive.ml 

Log message:
        patch #6025

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1285&r2=1.1286
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/driver/driverCommands.ml?cvsroot=mldonkey&r1=1.235&r2=1.236
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/driver/driverInteractive.ml?cvsroot=mldonkey&r1=1.131&r2=1.132

Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1285
retrieving revision 1.1286
diff -u -b -r1.1285 -r1.1286
--- distrib/ChangeLog   18 Jun 2007 16:17:03 -0000      1.1285
+++ distrib/ChangeLog   24 Jun 2007 18:37:03 -0000      1.1286
@@ -14,6 +14,12 @@
 ChangeLog
 =========
 
+2007/06/24
+6025: Extend command "links" to optionally display all downloading files
+- "links" displays all files, not only shared ones like before
+- "links shared" lists only shared files
+- "links downloading" lists only downloading files
+
 2007/06/18
 6024: Multiuser: New parameters for command useradd:
       user_mail + user_max_concurrent_downloads

Index: src/daemon/driver/driverCommands.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/driver/driverCommands.ml,v
retrieving revision 1.235
retrieving revision 1.236
diff -u -b -r1.235 -r1.236
--- src/daemon/driver/driverCommands.ml 18 Jun 2007 16:17:03 -0000      1.235
+++ src/daemon/driver/driverCommands.ml 24 Jun 2007 18:37:04 -0000      1.236
@@ -60,6 +60,12 @@
 let _s x = _s "DriverCommands" x
 let _b x = _b "DriverCommands" x
 
+type command_links_data = {
+  filename : string;
+  filesize : int64;
+  fileid : Md4.t;
+  }
+
 let to_cancel = ref []
 
 let files_to_cancel o =
@@ -2610,34 +2616,60 @@
         _s ""
     ), ":\t\t\t\tstatistics on upload";
 
-    "links", Arg_none (fun o ->
+    "links", Arg_multiple (fun args o ->
         let buf = o.conn_buf in
         if not (user2_can_view_uploads o.conn_user.ui_user) then
          print_command_result o "You are not allowed to see shared files list"
         else begin
 
-        let list = ref [] in
+        let list = Hashtbl.create !shared_counter in
+
+        let compute_shares () =
         shared_iter (fun s ->
           let impl = as_shared_impl s in
-          list := impl :: !list
-        );
+            try
+              ignore (Hashtbl.find list impl.impl_shared_id)
+            with Not_found ->
+                Hashtbl.add list impl.impl_shared_id {
+                    filename = impl.impl_shared_codedname;
+                    filesize = impl.impl_shared_size;
+                    fileid = impl.impl_shared_id;
+                })
+        in
+
+        let compute_downloads () =
+          List.iter (fun f ->
+            try
+              ignore (Hashtbl.find list f.file_md4)
+            with Not_found ->
+                Hashtbl.add list f.file_md4 {
+                    filename = f.file_name;
+                    filesize = f.file_size;
+                    fileid = f.file_md4;
+                }) (List2.tail_map file_info 
+                      (user2_filter_files !!files o.conn_user.ui_user))
+        in
 
         let list =
           List.sort ( fun f1 f2 ->
             String.compare
-              (Filename.basename f1.impl_shared_codedname)
-              (Filename.basename f2.impl_shared_codedname)
-        ) !list in
+              (Filename.basename f1.filename)
+              (Filename.basename f2.filename)
+        )
+        (match args with
+         | ["downloading"] -> compute_downloads (); Hashtbl2.to_list list
+         | ["shared"] -> compute_shares (); Hashtbl2.to_list list
+         | _ -> compute_shares (); compute_downloads (); Hashtbl2.to_list list)
+        in
 
-        List.iter (fun impl ->
-          if (impl.impl_shared_id <> Md4.null) then
+        List.iter (fun f ->
+          if (f.fileid <> Md4.null) then
            Printf.bprintf buf "%s\n" (file_print_ed2k_link
-             (Filename.basename impl.impl_shared_codedname)
-             impl.impl_shared_size impl.impl_shared_id);
+             (Filename.basename f.filename) f.filesize f.fileid);
         ) list;
         end;
         "Done"
-    ), ":\t\t\t\t\tlist links of shared files";
+    ), "[downloading|shared|empty for all]: list links of shared files";
 
     "uploaders", Arg_none (fun o ->
         let buf = o.conn_buf in

Index: src/daemon/driver/driverInteractive.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/driver/driverInteractive.ml,v
retrieving revision 1.131
retrieving revision 1.132
diff -u -b -r1.131 -r1.132
--- src/daemon/driver/driverInteractive.ml      17 Jun 2007 01:28:25 -0000      
1.131
+++ src/daemon/driver/driverInteractive.ml      24 Jun 2007 18:37:04 -0000      
1.132
@@ -37,7 +37,6 @@
 open CommonGlobals
 open CommonOptions
 open CommonUserDb
-open CommonTypes
 open Int64ops
 
 module VB = VerificationBitmap




reply via email to

[Prev in Thread] Current Thread [Next in Thread]