5
from cloudfiles.nautilus import main
7
class NautilusCloudFilesExtension(nautilus.MenuProvider):
9
selfname = type(self).__name__
11
def menu_activate_cb(self, menu, files):
13
stuff = [f for f in files if not f.is_gone() and self.is_valid(f)]
14
stuff_to_upload = map(lambda f: urllib2.unquote(f.get_uri()[7:]), stuff)
16
invoker = main.CloudFileUploader(stuff_to_upload)
19
def get_file_items(self, window, files):
20
files = [ f for f in files if self.is_valid(f)]
24
item = nautilus.MenuItem('NautilusPython::upload_rscf_item',
25
'Upload to Rackspace CloudFiles',
26
'Upload to Rackspace CF' ,
29
item.connect('activate', self.menu_activate_cb, files)
32
def is_valid(self, f):
33
return f.get_uri_scheme() == 'file'