~ubuntu-branches/ubuntu/hardy/deskbar-applet/hardy

« back to all changes in this revision

Viewing changes to deskbar/handlers/actions/OpenFileAction.py

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2008-01-15 11:41:08 UTC
  • mfrom: (1.5.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20080115114108-7ai0xs5wpuysvf4i
Tags: 2.21.5-0ubuntu1
* New upstream version:
  - Added tomboy module 
  - Fixed bug #504875: cannot concatenate 'str' and 'NoneType' 
    objects in beagle-live.py
  - Fixed bug #382127: devhelp handler is broken 
  - Fixed bug #350597: "Send a mail" to a contact list adds only the first 
    contact to "To:" 
  - Added button to preference to reload all modules. 
    Fixes bug #356008: a 'reload all scripts' button on the deskbar applet. 
  - Re-added LingeringSelectionWindow for CuemiacTreeView 
    and CuemiacActionsTreeView
  - Catching RuntimeException in OpenFileAction.is_valid and return False 
    if it occurs
  - Fixed bug #508326: The window title is not translatable
  - Catch Exception when loading history to prevent 
    that bugzilla pops up when history file is corrupted 
  - Fixed bug #507414: AttributeError in del.ico.us module
  - Be compatible with older versions of OpenDesktopFileAction.py that had 
    no attribute '_prog' 
  - Fixed bug #509058: list index out of range in tomboy.py
  - Fixed bug #509127: Execute previous search (patch by Andreas Kühntopf). 
    When you cycle through previous searches with up/down keys pressing enter 
    will re-run the search.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
from deskbar.core.Utils import url_show_file
4
4
from os.path import exists
5
5
import gnomevfs
 
6
import logging
 
7
 
 
8
LOGGER = logging.getLogger(__name__) 
6
9
 
7
10
class OpenFileAction(deskbar.interfaces.Action):
8
11
    """
28
31
            url = gnomevfs.unescape_string_for_display(url)
29
32
 
30
33
        if not exists(url):
 
34
            LOGGER.debug("File %s does not exist" % url)
31
35
            return False
32
36
        else:
33
 
            mime_type = gnomevfs.get_mime_type(url)
34
 
            return gnomevfs.mime_get_default_application(mime_type) != None
 
37
            try:
 
38
                mime_type = gnomevfs.get_mime_type(url)
 
39
                returnval = gnomevfs.mime_get_default_application(mime_type) != None
 
40
            except RuntimeError, e:
 
41
                # get_mime_type throws a RuntimeException when something went wrong
 
42
                returnval = False
 
43
        if not returnval:
 
44
            LOGGER.debug("File %s has no default application" % url)
 
45
        return returnval
35
46
    
36
47
    def get_hash(self):
37
48
        return self._url