def __init__(self, download): self.download = download self.__get_widgets() self.__connect_widgets() if download.pixbuf: pixbuf = gui.load_icon_from_mime_type(download.mime_type, 48) self.image.set_from_pixbuf(pixbuf) else: self.image.set_from_icon_name(NAME.lower(), gtk.ICON_SIZE_DIALOG) self.uri_label.set_text(download.uri) self.name_label.set_text(download.file_name) self.folder_label.set_text(download.path) self.current_size_label.set_text("%s (%s bytes)" % \ (utils.get_readable_size(download.current_size), download.current_size)) self.total_size_label.set_text("%s (%s bytes)" % \ (utils.get_readable_size(download.total_size), download.total_size)) self.mime_type_label.set_text(download.mime_type) self.date_started_label.set_text(download.get_date_str("started")) self.date_completed_label.set_text(download.get_date_str("completed")) download.connect("update", self.__download_update) download.connect("status-changed", self.__download_status_changed) self.dialog.show()
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)