struct

ArrTop::QueueRow

Inherits Struct < Value < Object

One normalized queue item, in arrtop's own vocabulary so the UI/poller never touch the underlying sonarr/radarr model types.

dest_folder is the media folder the import lands in (Sonarr: series.path, Radarr: movie.path); the later disk-watch phase watches it for Importing rows. import_target is the copy's final size (== size) so that phase can compute import% = file_bytes / import_target. This layer does not compute import progress — that needs disk access and lands later.

Constructors

new(backend_name : String, media_kind : Symbol, state : State, size : Int64, size_left : Int64, import_target : Int64, title : String | Nil = nil, media_name : String | Nil = nil, warning : Bool = false, timeleft : String | Nil = nil, eta : Time | Nil = nil, protocol : String | Nil = nil, download_client : String | Nil = nil, download_id : String | Nil = nil, indexer : String | Nil = nil, dest_folder : String | Nil = nil, season_number : Int32 | Nil = nil, episode_number : Int32 | Nil = nil, episode_has_file : Bool | Nil = nil)
Source

Instance methods

backend_name

Which *arr this row came from (the configured backend name).

Source
dest_folder

Destination media folder to watch for import progress. Populated for every row where known; the import-watch phase uses it only for Importing.

Source
download_client
Source
download_id
Source
download_percent

Download progress as a 0–100 percentage; 0 when the total size is unknown.

Source
episode_has_file

Whether this episode already has an imported file on disk (Sonarr's episodeHasFile). Used to reclassify a "still importing" season-pack row as done (100%) even when filename matching can't confirm it. nil for movies.

Source
episode_number
Source
eta

Estimated completion time (estimatedCompletionTime).

Source
import_target

The copy's final size (== size), exposed so the future disk-watch can compute import percent as file_bytes / import_target.

Source
indexer
Source
media_kind

:episode (Sonarr) or :movie (Radarr).

Source
media_name

The media's display name — the movie or series title — distinct from the release title. nil when the *arr did not embed the movie/series.

Source
protocol
Source
season_number

Sonarr episode identity, used to match this row's own on-disk file (a season pack lands N episodes in one series folder, so the import watch needs the season+episode to find this episode's file). nil for movies / when the *arr did not embed the episode.

Source
size

Total download size and bytes remaining (shards report these as Float64?; nil becomes 0).

Source
size_left
Source
state
Source
timeleft

Human-readable remaining time as reported by the *arr (e.g. "00:12:34").

Source
title

The release/torrent name (what the download client sees).

Source
warning?

True when the *arr's trackedDownloadStatus signals a warning or error.

Source