From f045a05113e7fa966e9d8530ddd562bd86d00a5c Mon Sep 17 00:00:00 2001 From: Simon Schampijer Date: Mon, 09 Jun 2008 14:18:53 +0000 Subject: copy Image to clipboard under rainbow - specify the dir we want to save to - preserve the base file name - file name unique since using mkstemp --- (limited to 'palettes.py') diff --git a/palettes.py b/palettes.py index d62fb5e..efab5fb 100644 --- a/palettes.py +++ b/palettes.py @@ -27,6 +27,7 @@ from sugar.graphics.palette import Palette, Invoker from sugar.graphics.menuitem import MenuItem from sugar.graphics.icon import Icon from sugar import profile +from sugar.activity import activity class ContentInvoker(Invoker): _com_interfaces_ = interfaces.nsIDOMEventListener @@ -153,12 +154,19 @@ class ImagePalette(Palette): self.__clipboard_clear_func_cb) def __clipboard_get_func_cb(self, clipboard, selection_data, info, data): - file_name = urlparse.urlparse(self._url).path - extension = None + file_name = os.path.basename(urlparse.urlparse(self._url).path) if '.' in file_name: - extension = file_name.split('.')[1] - fd, self._temp_file = tempfile.mkstemp(suffix='.' + extension) + base_name, extension = file_name.split('.') + extension = '.' + extension + else: + base_name = file_name + extension = '' + + temp_path = os.path.join(activity.get_activity_root(), 'instance') + fd, self._temp_file = tempfile.mkstemp(dir=temp_path, prefix=base_name, + suffix=extension) os.close(fd) + os.chmod(self._temp_file, 0664) cls = components.classes['@mozilla.org/network/io-service;1'] io_service = cls.getService(interfaces.nsIIOService) -- cgit v0.9.1