Clipboard fixes.

This commit is contained in:
Tomeu Vizoso 2007-06-17 14:24:46 +02:00
parent f0e18ba785
commit 130f59efdc
3 changed files with 6 additions and 5 deletions

View File

@ -1,5 +1,6 @@
import os import os
import logging import logging
import urlparse
import typeregistry import typeregistry
@ -58,7 +59,8 @@ class Format:
def destroy(self): def destroy(self):
if self._on_disk: if self._on_disk:
os.remove(self._data.replace('file://', '')) uri = urlparse.urlparse(self._data)
os.remove(uri.path)
def get_type(self): def get_type(self):
return self._type return self._type

View File

@ -598,7 +598,6 @@ class UriListFileType(FileType):
if len(uris) == 1: if len(uris) == 1:
uri = urlparse.urlparse(uris[0]) uri = urlparse.urlparse(uris[0])
ext = posixpath.splitext(uri[2])[1] ext = posixpath.splitext(uri[2])[1]
logging.debug(ext)
# FIXME: Bad hack, the type registry should treat text/uri-list as a special case. # FIXME: Bad hack, the type registry should treat text/uri-list as a special case.
if ext in ['.jpg', '.jpeg', '.gif', '.png', '.svg']: if ext in ['.jpg', '.jpeg', '.gif', '.png', '.svg']:
return True return True

View File

@ -87,15 +87,15 @@ class ClipboardBox(hippo.CanvasBox):
if len(uris) > 1: if len(uris) > 1:
raise NotImplementedError('Multiple uris in text/uri-list still not supported.') raise NotImplementedError('Multiple uris in text/uri-list still not supported.')
uri = urlparse.urlparse(uris[0]) uri = urlparse.urlparse(uris[0])
path, file_name = os.path.split(uri[2]) path, file_name = os.path.split(uri.path)
# Copy the file, as it will be deleted when the dnd operation finishes. # Copy the file, as it will be deleted when the dnd operation finishes.
new_file_path = os.path.join(path, 'cb' + file_name) new_file_path = os.path.join(path, 'cb' + file_name)
shutil.copyfile(uri[2], new_file_path) shutil.copyfile(uri.path, new_file_path)
cb_service.add_object_format(object_id, cb_service.add_object_format(object_id,
selection.type, selection.type,
uri[0] + "://" + new_file_path, "file://" + new_file_path,
on_disk=True) on_disk=True)
else: else:
cb_service.add_object_format(object_id, cb_service.add_object_format(object_id,