[Top][All Lists]
[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")):
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r14242 - gnunet/src/fs,
gnunet <=