The fix above seems to cover one case, but there's another that I just stumbled
upon. The standard::copy-name attribute might not be set by the gvfs backend.
In that case, currently, we fall back to edit-name attribute (and only if
that's not set either -- to escaped URI). That causes the original undesired
behavior that prompted this bug report: podcasts with non-unique file
attributes/file names are unusable. Here's a real example:
$ gvfs-info http://computersciencepodcast.com/download-mp3/1/episode.mp3
display name: episode.mp3
edit name: episode.mp3
...
attributes:
...
standard::display-name: episode.mp3
standard::edit-name: episode.mp3
A fix for this particular case could be to fall back to the escaped URI
and not to edit-name attr when copy-name is not set (see trivial patch
for this below). However, that wouldn't really cure the real issue: it
would be nice if Rhythmbox were robust against non-unique file
attributes (ie, even if they are set) and file names on podcasts. Of
course, this is a problem of podcast creators, but it might still make
sense to work around it, esp. since in the canonical Rhythmbox user
doesn't care about filenames of saved podcasts at all. A patch for this
is not included but seems simple as well -- just always use the current
fall-back-to-URI path for the local filename.
Patch to not fall back on edit-name when copy-name is null (for real
example above):
diff --git rhythmbox-0.13.0git20100819.orig/podcast/rb-podcast-manager.c
rhythmbox-0.13.0git20100819.no-copy-name/podcast/rb-podcast-manager.c
index a972490..d195684 100644
--- rhythmbox-0.13.0git20100819.orig/podcast/rb-podcast-manager.c
+++ rhythmbox-0.13.0git20100819.no-copy-name/podcast/rb-podcast-manager.c
@@ -769,14 +769,7 @@ download_podcast (GFileInfo *src_info,
RBPodcastManagerInfo *data)
if (src_info != NULL) {
data->download_size = g_file_info_get_attribute_uint64
(src_info, G_FILE_ATTRIBUTE_STANDARD_SIZE);
-
local_file_name = g_file_info_get_attribute_as_string
(src_info, G_FILE_ATTRIBUTE_STANDARD_COPY_NAME);
- if (local_file_name == NULL) {
- /* probably shouldn't be using this, but the gvfs http
backend doesn't
- * set the copy name (yet)
- */
- local_file_name = g_strdup (g_file_info_get_edit_name
(src_info));
- }
g_object_unref (src_info);
}
--
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to rhythmbox in ubuntu.
https://bugs.launchpad.net/bugs/445141
Title:
Podcasts don't download if the files are all the same filename.
--
desktop-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs