gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r14242 - gnunet/src/fs


From: gnunet
Subject: [GNUnet-SVN] r14242 - gnunet/src/fs
Date: Mon, 24 Jan 2011 14:40:47 +0100

Author: grothoff
Date: 2011-01-24 14:40:47 +0100 (Mon, 24 Jan 2011)
New Revision: 14242

Modified:
   gnunet/src/fs/fs_download.c
   gnunet/src/fs/fs_file_information.c
   gnunet/src/fs/test_gnunet_fs_rec.py.in
Log:
append / to directory names (and remove later...)

Modified: gnunet/src/fs/fs_download.c
===================================================================
--- gnunet/src/fs/fs_download.c 2011-01-24 13:27:38 UTC (rev 14241)
+++ gnunet/src/fs/fs_download.c 2011-01-24 13:40:47 UTC (rev 14242)
@@ -902,6 +902,7 @@
   char *dn;
   char *pos;
   char *full_name;
+  char *sfn;
 
   if (NULL == uri)
     return; /* entry for the directory itself */
@@ -965,6 +966,10 @@
                     (NULL !=
                      strstr (dn + strlen(dn) - strlen(GNUNET_FS_DIRECTORY_EXT),
                              GNUNET_FS_DIRECTORY_EXT)) );
+      sfn = GNUNET_strdup (filename);
+      while ( (strlen (sfn) > 0) &&
+             (filename[strlen(sfn)-1] == '/') )
+       sfn[strlen(sfn)-1] = '\0';
       if ( (strlen (dn) >= strlen (GNUNET_FS_DIRECTORY_EXT)) &&
           (NULL !=
            strstr (dn + strlen(dn) - strlen(GNUNET_FS_DIRECTORY_EXT),
@@ -980,7 +985,7 @@
                           "%s%s%s%s",
                           dn,
                           DIR_SEPARATOR_STR,
-                          filename,
+                          sfn,
                           GNUNET_FS_DIRECTORY_EXT);
        }
       else
@@ -989,7 +994,7 @@
                           "%s%s%s",
                           dn,
                           DIR_SEPARATOR_STR,
-                          filename);
+                          sfn);
        }
       GNUNET_free (dn);
     }
@@ -1006,60 +1011,7 @@
     }
 
   temp_name = NULL;
-#if 0
-  if (data != NULL) 
-    {
-      if (GNUNET_FS_uri_chk_get_file_size (uri) == length)
-       {
-         if (full_name == NULL)
-           {
-             temp_name = GNUNET_DISK_mktemp ("gnunet-download-trd");
-             real_name = temp_name;
-           }
-         else
-           {
-             real_name = full_name;
-           }
-         /* write to disk, then trigger normal download which will instantly 
progress to completion */
-         fh = GNUNET_DISK_file_open (real_name,
-                                 GNUNET_DISK_OPEN_WRITE | 
GNUNET_DISK_OPEN_TRUNCATE | GNUNET_DISK_OPEN_CREATE,
-                                     GNUNET_DISK_PERM_USER_READ | 
GNUNET_DISK_PERM_USER_WRITE);
-         if (fh == NULL)
-           {
-             GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR,
-                                       "open",
-                                       real_name);           
-             GNUNET_free (full_name);
-             GNUNET_free_non_null (fn);
-             return;
-           }
-         if (length != 
-             GNUNET_DISK_file_write (fh,
-                                     data,
-                                     length))
-           {
-             GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR,
-                                       "write",
-                                       full_name);           
-           }
 #if DEBUG_DOWNLOAD
-         GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-                     "Wrote %llu bytes of plaintext from meta data to `%s' for 
validation\n",
-                     (unsigned long long) length,
-                     real_name);
-#endif
-         GNUNET_DISK_file_close (fh);
-       }
-      else
-       {
-         GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                     _("Length mismatch between supplied plaintext and 
expected file size (%llu != %llu)\n"),
-                     (unsigned long long) GNUNET_FS_uri_chk_get_file_size 
(uri),
-                     (unsigned long long) length);
-       }
-    }
-#endif
-#if DEBUG_DOWNLOAD
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
              "Triggering recursive download of size %llu with %u bytes MD\n",
              (unsigned long long) GNUNET_FS_uri_chk_get_file_size (uri),

Modified: gnunet/src/fs/fs_file_information.c
===================================================================
--- gnunet/src/fs/fs_file_information.c 2011-01-24 13:27:38 UTC (rev 14241)
+++ gnunet/src/fs/fs_file_information.c 2011-01-24 13:40:47 UTC (rev 14242)
@@ -422,7 +422,6 @@
       GNUNET_FS_meta_data_extract_from_file (meta,
                                             filename,
                                             dsc->extractors);
-      // FIXME: remove path from filename in metadata!
       keywords = GNUNET_FS_uri_ksk_create_from_meta_data (meta);
       ksk_uri = GNUNET_FS_uri_ksk_canonicalize (keywords);
       fi = GNUNET_FS_file_information_create_from_file (dsc->h,
@@ -582,6 +581,7 @@
   struct GNUNET_CONTAINER_MetaData *meta;
   const char *fn;
   const char *ss;
+  char *dn;
 
   dc.entries = NULL;
   meta = GNUNET_CONTAINER_meta_data_create ();
@@ -617,13 +617,17 @@
                                 DIR_SEPARATOR_STR))) &&
          (strlen (ss) > 1) )
     fn = ss + 1;
+  GNUNET_asprintf (&dn,
+                  "%s/", 
+                  fn);
   GNUNET_CONTAINER_meta_data_insert (ret->meta,
                                     "<gnunet>",
                                     
EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME,
                                     EXTRACTOR_METAFORMAT_C_STRING,
                                     "text/plain",
-                                    fn,
-                                    strlen (fn) + 1);
+                                    dn,
+                                    strlen (dn) + 1);
+  GNUNET_free (dn);
   ret->filename = GNUNET_strdup (filename);
   return ret;
 }

Modified: gnunet/src/fs/test_gnunet_fs_rec.py.in
===================================================================
--- gnunet/src/fs/test_gnunet_fs_rec.py.in      2011-01-24 13:27:38 UTC (rev 
14241)
+++ gnunet/src/fs/test_gnunet_fs_rec.py.in      2011-01-24 13:40:47 UTC (rev 
14242)
@@ -29,19 +29,19 @@
 try:
   pub = pexpect.spawn ('gnunet-publish -c test_gnunet_fs_rec_data.conf -d -k 
testdir dir/')
   pub.expect ('Publishing `dir/\' done.\r')
-  pub.expect ("URI is 
`gnunet://fs/chk/CQI091BQ15LLC2NO5RQM2LP95D8I0ONKDFT912V8CMH3BIPDUSDKG3JL07V9E89JPJ0CG5JE9EAQLC1Q6I0VF9L8M86MO0K3DG7HA2O.NVIUL6B7AT6TIUVOV0JLIQ3LLSS3TRLCVAISDS47V0KVHN22TJ9H9247HQNA8T3KK1J32QJ65312DUQPA2EBQPNII279BU0MKJEB94G.20181'.")
+  pub.expect ("URI is 
`gnunet://fs/chk/M2I80IUI2DM4L6G93KL15AHAO7MIMS5JKP1L3LQFVN50CT7AKRQDSF594BC9TD97JJIT3COF6B5O524CMIOG9EJO8UK1560M54JRI70.GBRE5M4QJ7NA0QIN88FMSC78NNOQMVT5DH8FP37OIR5SGGHFEB9ESDNBRKT9PFE9N2GOI81UN8GGBR6KH9GRTV1T04JFSJURF2U0VE8.20182'.")
   pub.expect (pexpect.EOF)
 
-  down = pexpect.spawn ('gnunet-download -c test_gnunet_fs_rec_data.conf -R -o 
rdir.gnd 
gnunet://fs/chk/CQI091BQ15LLC2NO5RQM2LP95D8I0ONKDFT912V8CMH3BIPDUSDKG3JL07V9E89JPJ0CG5JE9EAQLC1Q6I0VF9L8M86MO0K3DG7HA2O.NVIUL6B7AT6TIUVOV0JLIQ3LLSS3TRLCVAISDS47V0KVHN22TJ9H9247HQNA8T3KK1J32QJ65312DUQPA2EBQPNII279BU0MKJEB94G.20181')
+  down = pexpect.spawn ('gnunet-download -c test_gnunet_fs_rec_data.conf -R -o 
rdir.gnd 
gnunet://fs/chk/M2I80IUI2DM4L6G93KL15AHAO7MIMS5JKP1L3LQFVN50CT7AKRQDSF594BC9TD97JJIT3COF6B5O524CMIOG9EJO8UK1560M54JRI70.GBRE5M4QJ7NA0QIN88FMSC78NNOQMVT5DH8FP37OIR5SGGHFEB9ESDNBRKT9PFE9N2GOI81UN8GGBR6KH9GRTV1T04JFSJURF2U0VE8.20182')
   down.expect (re.compile ("Downloading `rdir.gnd\' done \(.*\).\r"));
   down.expect (pexpect.EOF);
 
-#  dir = pexpect.spawn ('gnunet-directory -c test_gnunet_fs_rec_data.conf  
rdir/a.gnd')
-#  dir.expect (re.compile ("Directory `a' summary:"));
-#  dir.expect (re.compile (" *mimetype: application/gnunet-directory"));
-#  dir.expect (re.compile ("COPYING (.*)"));
-#  dir.expect (re.compile ("INSTALL (.*)"));
-#  dir.expect (pexpect.EOF)
+  dir = pexpect.spawn ('gnunet-directory -c test_gnunet_fs_rec_data.conf  
rdir/a.gnd')
+  dir.expect (re.compile ("Directory `a/' meta data:"));
+  dir.expect (re.compile ("Directory `a/' contents:"));
+  dir.expect (re.compile ("COPYING (.*)"));
+  dir.expect (re.compile ("INSTALL (.*)"));
+  dir.expect (pexpect.EOF)
 
   os.system ('rm -r rdir/b.gnd rdir/a.gnd')
   if (0 != os.system ("diff -r dir rdir")):




reply via email to

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