def __init__(self, name): gobject.GObject.__init__(self) uri = gnomevfs.make_uri_from_shell_arg(name) gnomevfs.monitor_add(uri, gnomevfs.MONITOR_FILE, self._on_monitor) self.name = name
def __init__(self, uri, path, headers={}, date_started="", date_completed=""): gobject.GObject.__init__(self) self.config = config.Configuration() self.dbus_service = dbus_service.DBusService() self.uri = gnomevfs.make_uri_from_shell_arg(uri) self.file_name = os.path.basename(self.uri) self.path = path self.headers = headers if not self.config.ask_for_location: folder = utils.get_folder_for_extension(uri) if folder: self.path = folder if uri.endswith(".metalink") or metalink.urlhead(uri, metalink=True)["content-type"].startswith(metalink.MIME_TYPE): self.is_metalink = True else: self.is_metalink = False self.file = os.path.join(path, self.file_name) self.has_started = False self.current_size = self.__get_current_size() self.total_size = 0 self.old_total_size = 0 self.percent_complete = 0 self.bit_rate = 0.0 self.last_bitrate = datetime.datetime.now() self.old_status = -1 self.status = -1 self.mime_type = gnomevfs.get_file_mime_type(self.file_name) self.pixbuf = gui.load_icon_from_mime_type(self.mime_type, 32) if date_started == "": self.date_started = datetime.datetime.now() else: self.date_started = datetime.datetime.strptime(date_started, DATE_FORMAT_DIGIT) if date_completed == "": self.date_completed = None else: self.date_completed = datetime.datetime.strptime(date_completed, DATE_FORMAT_DIGIT) self.id = self.date_started.strftime("%Y%m%d%H%M%S") self.connect("status-changed", self.__status_changed)
def is_supported_uri(uri): if not uri: return False uri = gnomevfs.make_uri_from_shell_arg(uri) scheme = gnomevfs.get_uri_scheme(uri) # If the scheme is a file check if the file exists if scheme == "file": try: local_path = gnomevfs.get_local_path_from_uri(uri) return os.path.isfile(local_path) except Exception, e: return False