Commits

Erik Svensson committed 12c0df6

Update documentation.

Comments (0)

Files changed (6)

 Getting started
 ===============
 
-transmissionrpc 0.10 is compatible with Transmission 1.31 - 2.76.
+transmissionrpc 0.10 is compatible with Transmission 1.31 - 2.77.
 
 Requirements
 ------------

doc/reference/transmissionrpc.rst

 	datetime.datetime(2009, 1, 18, 13, 16, 59)
 	>>>
 
+Transmission returns following fields.
+
+=========================== ====== ==========================================================================================================
+Argument                    RPC    Description
+=========================== ====== ==========================================================================================================
+``activityDate``            1 -    Last time of upload or download activity.
+``addedDate``               1 -    The date when this torrent was first added.
+``announceResponse``        1 - 7  The announce message from the tracker.
+``announceURL``             1 - 7  Current announce URL.
+``bandwidthPriority``       5 -    Bandwidth priority. Low (-1), Normal (0) or High (1).
+``comment``                 1 -    Torrent comment.
+``corruptEver``             1 -    Number of bytes of corrupt data downloaded.
+``creator``                 1 -    Torrent creator.
+``dateCreated``             1 -    Torrent creation date.
+``desiredAvailable``        1 -    Number of bytes avalable and left to be downloaded.
+``doneDate``                1 -    The date when the torrent finished downloading.
+``downloadDir``             4 -    The directory path where the torrent is downloaded to.
+``downloadLimit``           1 -    Download limit in Kbps.
+``downloadLimitMode``       1 - 5  Download limit mode. 0 means global, 1 means signle, 2 unlimited.
+``downloadLimited``         5 -    Download limit is enabled
+``downloadedEver``          1 -    Number of bytes of good data downloaded.
+``downloaders``             4 - 7  Number of downloaders.
+``error``                   1 -    Kind of error. 0 means OK, 1 means tracker warning, 2 means tracker error, 3 means local error.
+``errorString``             1 -    Error message.
+``eta``                     1 -    Estimated number of seconds left when downloading or seeding. -1 means not available and -2 means unknown.
+``fileStats``               5 -    Aray of file statistics containing bytesCompleted, wanted and priority.
+``files``                   1 -    Array of file object containing key, bytesCompleted, length and name.
+``hashString``              1 -    Hashstring unique for the torrent even between sessions.
+``haveUnchecked``           1 -    Number of bytes of partial pieces.
+``haveValid``               1 -    Number of bytes of checksum verified data.
+``honorsSessionLimits``     5 -    True if session upload limits are honored
+``id``                      1 -    Session unique torrent id.
+``isFinished``              9 -    True if the torrent is finished. Downloaded and seeded.
+``isPrivate``               1 -    True if the torrent is private.
+``isStalled``               14 -   True if the torrent has stalled (been idle for a long time).
+``lastAnnounceTime``        1 - 7  The time of the last announcement.
+``lastScrapeTime``          1 - 7  The time af the last successful scrape.
+``leechers``                1 - 7  Number of leechers.
+``leftUntilDone``           1 -    Number of bytes left until the download is done.
+``magnetLink``              7 -    The magnet link for this torrent.
+``manualAnnounceTime``      1 -    The time until you manually ask for more peers.
+``maxConnectedPeers``       1 -    Maximum of connected peers.
+``metadataPercentComplete`` 7 -    Download progress of metadata. 0.0 to 1.0.
+``name``                    1 -    Torrent name.
+``nextAnnounceTime``        1 - 7  Next announce time.
+``nextScrapeTime``          1 - 7  Next scrape time.
+``peer_limit``              5 -    Maximum number of peers.
+``peers``                   2 -    Array of peer objects.
+``peersConnected``          1 -    Number of peers we are connected to.
+``peersFrom``               1 -    Object containing download peers counts for different peer types.
+``peersGettingFromUs``      1 -    Number of peers we are sending data to.
+``peersKnown``              1 - 13 Number of peers that the tracker knows.
+``peersSendingToUs``        1 -    Number of peers sending to us
+``percentDone``             5 -    Download progress of selected files. 0.0 to 1.0.
+``pieceCount``              1 -    Number of pieces.
+``pieceSize``               1 -    Number of bytes in a piece.
+``pieces``                  5 -    String with base64 encoded bitfield indicating finished pieces.
+``priorities``              1 -    Array of file priorities.
+``queuePosition``           14 -   The queue position.
+``rateDownload``            1 -    Download rate in bps.
+``rateUpload``              1 -    Upload rate in bps.
+``recheckProgress``         1 -    Progress of recheck. 0.0 to 1.0.
+``scrapeResponse``          1 - 7  Scrape response message.
+``scrapeURL``               1 - 7  Current scrape URL
+``seedIdleLimit``           10 -   Idle limit in minutes.
+``seedIdleMode``            10 -   Use global (0), torrent (1), or unlimited (2) limit.
+``seedRatioLimit``          5 -    Seed ratio limit.
+``seedRatioMode``           5 -    Use global (0), torrent (1), or unlimited (2) limit.
+``seeders``                 1 - 7  Number of seeders reported by the tracker.
+``sizeWhenDone``            1 -    Size of the torrent download in bytes.
+``startDate``               1 -    The date when the torrent was last started.
+``status``                  1 -    Current status, see source
+``swarmSpeed``              1 - 7  Estimated speed in Kbps in the swarm.
+``timesCompleted``          1 - 7  Number of successful downloads reported by the tracker.
+``torrentFile``             5 -    Path to .torrent file.
+``totalSize``               1 -    Total size of the torrent in bytes
+``trackerStats``            7 -    Array of object containing tracker statistics.
+``trackers``                1 -    Array of tracker objects.
+``uploadLimit``             1 -    Upload limit in Kbps
+``uploadLimitMode``         1 - 5  Upload limit mode. 0 means global, 1 means signle, 2 unlimited.
+``uploadLimited``           5 -    Upload limit enabled.
+``uploadRatio``             1 -    Seed ratio.
+``uploadedEver``            1 -    Number of bytes uploaded, ever.
+``wanted``                  1 -    Array of booleans indicated wanted files.
+``webseeds``                1 -    Array of webseeds objects
+``webseedsSendingToUs``     1 -    Number of webseeds seeding to us.
+=========================== ====== ==========================================================================================================
+
 Mutators
 --------
 
 Transmission RPC specification, but with underscore instead of hyphen.
 ``download-dir`` -> ``download_dir``.
 
+Transmission returns following fields.
+
+================================ ===== ================= ======================================================================
+Argument                         RPC   Replaced by       Description
+================================ ===== ================= ======================================================================
+``alt_speed_down``               5 -                     Alternate session download speed limit (in Kib/s).
+``alt_speed_enabled``            5 -                     True if alternate global download speed limiter is ebabled.
+``alt_speed_time_begin``         5 -                     Time when alternate speeds should be enabled. Minutes after midnight.
+``alt_speed_time_day``           5 -                     Days alternate speeds scheduling is enabled.
+``alt_speed_time_enabled``       5 -                     True if alternate speeds scheduling is enabled.
+``alt_speed_time_end``           5 -                     Time when alternate speeds should be disabled. Minutes after midnight.
+``alt_speed_up``                 5 -                     Alternate session upload speed limit (in Kib/s)
+``blocklist_enabled``            5 -                     True when blocklist is enabled.
+``blocklist_size``               5 -                     Number of rules in the blocklist
+``blocklist_url``                11 -                    Location of the block list. Updated with blocklist-update.
+``cache_size_mb``                10 -                    The maximum size of the disk cache in MB
+``config_dir``                   8 -                     location of transmissions configuration directory
+``dht_enabled``                  6 -                     True if DHT enabled.
+``download_dir``                 1 -                     The download directory.
+``download_dir_free_space``      12 -                    Free space in the download directory, in bytes
+``download_queue_enabled``       14 -                    True if the download queue is enabled.
+``download_queue_size``          14 -                    Number of slots in the download queue.
+``encryption``                   1 -                     Encryption mode, one of ``required``, ``preferred`` or ``tolerated``.
+``idle_seeding_limit``           10 -                    Seed inactivity limit in minutes.
+``idle_seeding_limit_enabled``   10 -                    True if the seed activity limit is enabled.
+``incomplete_dir``               7 -                     The path to the directory for incomplete torrent transfer data.
+``incomplete_dir_enabled``       7 -                     True if the incomplete dir is enabled.
+``lpd_enabled``                  9 -                     True if local peer discovery is enabled.
+``peer_limit``                   1 - 5 peer-limit-global Maximum number of peers.
+``peer_limit_global``            5 -                     Maximum number of peers.
+``peer_limit_per_torrent``       5 -                     Maximum number of peers per transfer.
+``peer_port``                    5 -                     Peer port.
+``peer_port_random_on_start``    5 -                     Enables randomized peer port on start of Transmission.
+``pex_allowed``                  1 - 5 pex-enabled       True if PEX is allowed.
+``pex_enabled``                  5 -                     True if PEX is enabled.
+``port``                         1 - 5 peer-port         Peer port.
+``port_forwarding_enabled``      1 -                     True if port forwarding is enabled.
+``queue_stalled_enabled``        14 -                    True if stalled tracking of transfers is enabled.
+``queue_stalled_minutes``        14 -                    Number of minutes of idle that marks a transfer as stalled.
+``rename_partial_files``         8 -                     True if ".part" is appended to incomplete files
+``rpc_version``                  4 -                     Transmission RPC API Version.
+``rpc_version_minimum``          4 -                     Minimum accepted RPC API Version.
+``script_torrent_done_enabled``  9 -                     True if the done script is enabled.
+``script_torrent_done_filename`` 9 -                     Filename of the script to run when the transfer is done.
+``seed_queue_enabled``           14 -                    True if upload queue is enabled.
+``seed_queue_size``              14 -                    Number of slots in the upload queue.
+``seedRatioLimit``               5 -                     Seed ratio limit. 1.0 means 1:1 download and upload ratio.
+``seedRatioLimited``             5 -                     True if seed ration limit is enabled.
+``speed_limit_down``             1 -                     Download speed limit (in Kib/s).
+``speed_limit_down_enabled``     1 -                     True if the download speed is limited.
+``speed_limit_up``               1 -                     Upload speed limit (in Kib/s).
+``speed_limit_up_enabled``       1 -                     True if the upload speed is limited.
+``start_added_torrents``         9 -                     When true uploaded torrents will start right away.
+``trash_original_torrent_files`` 9 -                     When true added .torrent files will be deleted.
+``units``                        10 -                    An object containing units for size and speed.
+``utp_enabled``                  13 -                    True if Micro Transport Protocol (UTP) is enabled.
+``version``                      3 -                     Transmission version.
+================================ ===== ================= ======================================================================
+
 Mutators
 --------
 

transmissionrpc/client.py

 
     def add_torrent(self, torrent, timeout=None, **kwargs):
         """
-        Add torrent to transfers list. Takes a uri to a torrent or base64 encoded torrent data.
+        Add torrent to transfers list. Takes a uri to a torrent or base64 encoded torrent data in ``torrent``.
         Additional arguments are:
 
         ===================== ===== =========== =============================================================
         ``priority_normal``   1 -               A list of file id's that should have normal priority.
         ===================== ===== =========== =============================================================
 
-        Returns a Torrent object with limited fields.
+        Returns a Torrent object with the fields.
         """
         if torrent is None:
             raise ValueError('add_torrent requires data or a URI.')
     def get_torrent(self, id, arguments=None, timeout=None):
         """
         Get information for torrent with provided id.
+        ``arguments`` contains a list of field names to be returned, when None
+        all fields are requested. See the Torrent class for more information.
 
-        Returns a Torrent object.
+        Returns a Torrent object with the requested fields.
         """
         if not arguments:
             arguments = self.torrent_get_arguments
 
     def get_torrents(self, ids=None, arguments=None, timeout=None):
         """
-        Get information for torrents with provided ids.
+        Get information for torrents with provided ids. For more information see get_torrent.
 
         Returns a list of Torrent object.
         """
         self._request('queue-move-down', ids=ids, require_ids=True, timeout=timeout)
 
     def get_session(self, timeout=None):
-        """Get session parameters"""
+        """
+        Get session parameters. See the Session class for more information.
+        """
         self._request('session-get', timeout=timeout)
         self._update_server_version()
         return self.session
         ``cache_size_mb``                10 -                    The maximum size of the disk cache in MB
         ``dht_enabled``                  6 -                     Enables DHT.
         ``download_dir``                 1 -                     Set the session download directory.
-        ``download_queue_enabled``       14 -                    Enable parallel download restriction.
-        ``download_queue_size``          14 -                    Number of parallel downloads.
+        ``download_queue_enabled``       14 -                    Enables download queue.
+        ``download_queue_size``          14 -                    Number of slots in the download queue.
         ``encryption``                   1 -                     Set the session encryption mode, one of ``required``, ``preferred`` or ``tolerated``.
         ``idle_seeding_limit``           10 -                    The default seed inactivity limit in minutes.
         ``idle_seeding_limit_enabled``   10 -                    Enables the default seed inactivity limit
         ``incomplete_dir``               7 -                     The path to the directory of incomplete transfer data.
         ``incomplete_dir_enabled``       7 -                     Enables the incomplete transfer data directory. Otherwise data for incomplete transfers are stored in the download target.
         ``lpd_enabled``                  9 -                     Enables local peer discovery for public torrents.
-        ``peer_limit``                   1 - 5 peer-limit-global Maximum number of peers
-        ``peer_limit_global``            5 -                     Maximum number of peers
-        ``peer_limit_per_torrent``       5 -                     Maximum number of peers per transfer
+        ``peer_limit``                   1 - 5 peer-limit-global Maximum number of peers.
+        ``peer_limit_global``            5 -                     Maximum number of peers.
+        ``peer_limit_per_torrent``       5 -                     Maximum number of peers per transfer.
         ``peer_port``                    5 -                     Peer port.
         ``peer_port_random_on_start``    5 -                     Enables randomized peer port on start of Transmission.
         ``pex_allowed``                  1 - 5 pex-enabled       Allowing PEX in public torrents.
         ``rename_partial_files``         8 -                     Appends ".part" to incomplete files
         ``script_torrent_done_enabled``  9 -                     Whether or not to call the "done" script.
         ``script_torrent_done_filename`` 9 -                     Filename of the script to run when the transfer is done.
-        ``seed_queue_enabled``           14 -                    Enable parallel upload restriction.
-        ``seed_queue_size``              14 -                    Number of parallel uploads.
+        ``seed_queue_enabled``           14 -                    Enables upload queue.
+        ``seed_queue_size``              14 -                    Number of slots in the upload queue.
         ``seedRatioLimit``               5 -                     Seed ratio limit. 1.0 means 1:1 download and upload ratio.
         ``seedRatioLimited``             5 -                     Enables seed ration limit.
         ``speed_limit_down``             1 -                     Download speed limit (in Kib/s).

transmissionrpc/constants.py

 # Arguments for torrent methods
 TORRENT_ARGS = {
     'get' : {
-        'activityDate':                 ('number', 1, None, None, None, ''),
-        'addedDate':                    ('number', 1, None, None, None, ''),
-        'announceResponse':             ('string', 1, 7, None, None, ''),
-        'announceURL':                  ('string', 1, 7, None, None, ''),
-        'bandwidthPriority':            ('number', 5, None, None, None, ''),
-        'comment':                      ('string', 1, None, None, None, ''),
-        'corruptEver':                  ('number', 1, None, None, None, ''),
-        'creator':                      ('string', 1, None, None, None, ''),
-        'dateCreated':                  ('number', 1, None, None, None, ''),
-        'desiredAvailable':             ('number', 1, None, None, None, ''),
-        'doneDate':                     ('number', 1, None, None, None, ''),
-        'downloadDir':                  ('string', 4, None, None, None, ''),
-        'downloadedEver':               ('number', 1, None, None, None, ''),
-        'downloaders':                  ('number', 4, 7, None, None, ''),
-        'downloadLimit':                ('number', 1, None, None, None, ''),
-        'downloadLimited':              ('boolean', 5, None, None, None, ''),
-        'downloadLimitMode':            ('number', 1, 5, None, None, ''),
-        'error':                        ('number', 1, None, None, None, ''),
-        'errorString':                  ('number', 1, None, None, None, ''),
-        'eta':                          ('number', 1, None, None, None, ''),
-        'files':                        ('array', 1, None, None, None, ''),
-        'fileStats':                    ('array', 5, None, None, None, ''),
-        'hashString':                   ('string', 1, None, None, None, ''),
-        'haveUnchecked':                ('number', 1, None, None, None, ''),
-        'haveValid':                    ('number', 1, None, None, None, ''),
-        'honorsSessionLimits':          ('boolean', 5, None, None, None, ''),
-        'id':                           ('number', 1, None, None, None, ''),
-        'isFinished':                   ('boolean', 9, None, None, None, ''),
-        'isPrivate':                    ('boolean', 1, None, None, None, ''),
-        'isStalled':                    ('boolean', 14, None, None, None, ''),
-        'lastAnnounceTime':             ('number', 1, 7, None, None, ''),
-        'lastScrapeTime':               ('number', 1, 7, None, None, ''),
-        'leechers':                     ('number', 1, 7, None, None, ''),
-        'leftUntilDone':                ('number', 1, None, None, None, ''),
-        'magnetLink':                   ('string', 7, None, None, None, ''),
-        'manualAnnounceTime':           ('number', 1, None, None, None, ''),
-        'maxConnectedPeers':            ('number', 1, None, None, None, ''),
-        'metadataPercentComplete':      ('number', 7, None, None, None, ''),
-        'name':                         ('string', 1, None, None, None, ''),
-        'nextAnnounceTime':             ('number', 1, 7, None, None, ''),
-        'nextScrapeTime':               ('number', 1, 7, None, None, ''),
-        'peer-limit':                   ('number', 5, None, None, None, ''),
-        'peers':                        ('array', 2, None, None, None, ''),
-        'peersConnected':               ('number', 1, None, None, None, ''),
-        'peersFrom':                    ('object', 1, None, None, None, ''),
-        'peersGettingFromUs':           ('number', 1, None, None, None, ''),
-        'peersKnown':                   ('number', 1, 13, None, None, ''),
-        'peersSendingToUs':             ('number', 1, None, None, None, ''),
-        'percentDone':                  ('double', 5, None, None, None, ''),
-        'pieces':                       ('string', 5, None, None, None, ''),
-        'pieceCount':                   ('number', 1, None, None, None, ''),
-        'pieceSize':                    ('number', 1, None, None, None, ''),
-        'priorities':                   ('array', 1, None, None, None, ''),
-        'queuePosition':                ('number', 14, None, None, None, ''),
-        'rateDownload':                 ('number', 1, None, None, None, ''),
-        'rateUpload':                   ('number', 1, None, None, None, ''),
-        'recheckProgress':              ('double', 1, None, None, None, ''),
-        'scrapeResponse':               ('string', 1, 7, None, None, ''),
-        'scrapeURL':                    ('string', 1, 7, None, None, ''),
-        'seeders':                      ('number', 1, 7, None, None, ''),
-        'seedIdleLimit':                ('number', 10, None, None, None, ''),
-        'seedIdleMode':                 ('number', 10, None, None, None, ''),
-        'seedRatioLimit':               ('double', 5, None, None, None, ''),
-        'seedRatioMode':                ('number', 5, None, None, None, ''),
-        'sizeWhenDone':                 ('number', 1, None, None, None, ''),
-        'startDate':                    ('number', 1, None, None, None, ''),
-        'status':                       ('number', 1, None, None, None, ''),
-        'swarmSpeed':                   ('number', 1, 7, None, None, ''),
-        'timesCompleted':               ('number', 1, 7, None, None, ''),
-        'trackers':                     ('array', 1, None, None, None, ''),
-        'trackerStats':                 ('object', 7, None, None, None, ''),
-        'totalSize':                    ('number', 1, None, None, None, ''),
-        'torrentFile':                  ('string', 5, None, None, None, ''),
-        'uploadedEver':                 ('number', 1, None, None, None, ''),
-        'uploadLimit':                  ('number', 1, None, None, None, ''),
-        'uploadLimitMode':              ('number', 1, 5, None, None, ''),
-        'uploadLimited':                ('boolean', 5, None, None, None, ''),
-        'uploadRatio':                  ('double', 1, None, None, None, ''),
-        'wanted':                       ('array', 1, None, None, None, ''),
-        'webseeds':                     ('array', 1, None, None, None, ''),
-        'webseedsSendingToUs':          ('number', 1, None, None, None, ''),
+        'activityDate':                 ('number', 1, None, None, None, 'Last time of upload or download activity.'),
+        'addedDate':                    ('number', 1, None, None, None, 'The date when this torrent was first added.'),
+        'announceResponse':             ('string', 1, 7, None, None, 'The announce message from the tracker.'),
+        'announceURL':                  ('string', 1, 7, None, None, 'Current announce URL.'),
+        'bandwidthPriority':            ('number', 5, None, None, None, 'Bandwidth priority. Low (-1), Normal (0) or High (1).'),
+        'comment':                      ('string', 1, None, None, None, 'Torrent comment.'),
+        'corruptEver':                  ('number', 1, None, None, None, 'Number of bytes of corrupt data downloaded.'),
+        'creator':                      ('string', 1, None, None, None, 'Torrent creator.'),
+        'dateCreated':                  ('number', 1, None, None, None, 'Torrent creation date.'),
+        'desiredAvailable':             ('number', 1, None, None, None, 'Number of bytes avalable and left to be downloaded.'),
+        'doneDate':                     ('number', 1, None, None, None, 'The date when the torrent finished downloading.'),
+        'downloadDir':                  ('string', 4, None, None, None, 'The directory path where the torrent is downloaded to.'),
+        'downloadedEver':               ('number', 1, None, None, None, 'Number of bytes of good data downloaded.'),
+        'downloaders':                  ('number', 4, 7, None, None, 'Number of downloaders.'),
+        'downloadLimit':                ('number', 1, None, None, None, 'Download limit in Kbps.'),
+        'downloadLimited':              ('boolean', 5, None, None, None, 'Download limit is enabled'),
+        'downloadLimitMode':            ('number', 1, 5, None, None, 'Download limit mode. 0 means global, 1 means signle, 2 unlimited.'),
+        'error':                        ('number', 1, None, None, None, 'Kind of error. 0 means OK, 1 means tracker warning, 2 means tracker error, 3 means local error.'),
+        'errorString':                  ('number', 1, None, None, None, 'Error message.'),
+        'eta':                          ('number', 1, None, None, None, 'Estimated number of seconds left when downloading or seeding. -1 means not available and -2 means unknown.'),
+        'files':                        ('array', 1, None, None, None, 'Array of file object containing key, bytesCompleted, length and name.'),
+        'fileStats':                    ('array', 5, None, None, None, 'Aray of file statistics containing bytesCompleted, wanted and priority.'),
+        'hashString':                   ('string', 1, None, None, None, 'Hashstring unique for the torrent even between sessions.'),
+        'haveUnchecked':                ('number', 1, None, None, None, 'Number of bytes of partial pieces.'),
+        'haveValid':                    ('number', 1, None, None, None, 'Number of bytes of checksum verified data.'),
+        'honorsSessionLimits':          ('boolean', 5, None, None, None, 'True if session upload limits are honored'),
+        'id':                           ('number', 1, None, None, None, 'Session unique torrent id.'),
+        'isFinished':                   ('boolean', 9, None, None, None, 'True if the torrent is finished. Downloaded and seeded.'),
+        'isPrivate':                    ('boolean', 1, None, None, None, 'True if the torrent is private.'),
+        'isStalled':                    ('boolean', 14, None, None, None, 'True if the torrent has stalled (been idle for a long time).'),
+        'lastAnnounceTime':             ('number', 1, 7, None, None, 'The time of the last announcement.'),
+        'lastScrapeTime':               ('number', 1, 7, None, None, 'The time af the last successful scrape.'),
+        'leechers':                     ('number', 1, 7, None, None, 'Number of leechers.'),
+        'leftUntilDone':                ('number', 1, None, None, None, 'Number of bytes left until the download is done.'),
+        'magnetLink':                   ('string', 7, None, None, None, 'The magnet link for this torrent.'),
+        'manualAnnounceTime':           ('number', 1, None, None, None, 'The time until you manually ask for more peers.'),
+        'maxConnectedPeers':            ('number', 1, None, None, None, 'Maximum of connected peers.'),
+        'metadataPercentComplete':      ('number', 7, None, None, None, 'Download progress of metadata. 0.0 to 1.0.'),
+        'name':                         ('string', 1, None, None, None, 'Torrent name.'),
+        'nextAnnounceTime':             ('number', 1, 7, None, None, 'Next announce time.'),
+        'nextScrapeTime':               ('number', 1, 7, None, None, 'Next scrape time.'),
+        'peer-limit':                   ('number', 5, None, None, None, 'Maximum number of peers.'),
+        'peers':                        ('array', 2, None, None, None, 'Array of peer objects.'),
+        'peersConnected':               ('number', 1, None, None, None, 'Number of peers we are connected to.'),
+        'peersFrom':                    ('object', 1, None, None, None, 'Object containing download peers counts for different peer types.'),
+        'peersGettingFromUs':           ('number', 1, None, None, None, 'Number of peers we are sending data to.'),
+        'peersKnown':                   ('number', 1, 13, None, None, 'Number of peers that the tracker knows.'),
+        'peersSendingToUs':             ('number', 1, None, None, None, 'Number of peers sending to us'),
+        'percentDone':                  ('double', 5, None, None, None, 'Download progress of selected files. 0.0 to 1.0.'),
+        'pieces':                       ('string', 5, None, None, None, 'String with base64 encoded bitfield indicating finished pieces.'),
+        'pieceCount':                   ('number', 1, None, None, None, 'Number of pieces.'),
+        'pieceSize':                    ('number', 1, None, None, None, 'Number of bytes in a piece.'),
+        'priorities':                   ('array', 1, None, None, None, 'Array of file priorities.'),
+        'queuePosition':                ('number', 14, None, None, None, 'The queue position.'),
+        'rateDownload':                 ('number', 1, None, None, None, 'Download rate in bps.'),
+        'rateUpload':                   ('number', 1, None, None, None, 'Upload rate in bps.'),
+        'recheckProgress':              ('double', 1, None, None, None, 'Progress of recheck. 0.0 to 1.0.'),
+        'scrapeResponse':               ('string', 1, 7, None, None, 'Scrape response message.'),
+        'scrapeURL':                    ('string', 1, 7, None, None, 'Current scrape URL'),
+        'seeders':                      ('number', 1, 7, None, None, 'Number of seeders reported by the tracker.'),
+        'seedIdleLimit':                ('number', 10, None, None, None, 'Idle limit in minutes.'),
+        'seedIdleMode':                 ('number', 10, None, None, None, 'Use global (0), torrent (1), or unlimited (2) limit.'),
+        'seedRatioLimit':               ('double', 5, None, None, None, 'Seed ratio limit.'),
+        'seedRatioMode':                ('number', 5, None, None, None, 'Use global (0), torrent (1), or unlimited (2) limit.'),
+        'sizeWhenDone':                 ('number', 1, None, None, None, 'Size of the torrent download in bytes.'),
+        'startDate':                    ('number', 1, None, None, None, 'The date when the torrent was last started.'),
+        'status':                       ('number', 1, None, None, None, 'Current status, see source'),
+        'swarmSpeed':                   ('number', 1, 7, None, None, 'Estimated speed in Kbps in the swarm.'),
+        'timesCompleted':               ('number', 1, 7, None, None, 'Number of successful downloads reported by the tracker.'),
+        'trackers':                     ('array', 1, None, None, None, 'Array of tracker objects.'),
+        'trackerStats':                 ('object', 7, None, None, None, 'Array of object containing tracker statistics.'),
+        'totalSize':                    ('number', 1, None, None, None, 'Total size of the torrent in bytes'),
+        'torrentFile':                  ('string', 5, None, None, None, 'Path to .torrent file.'),
+        'uploadedEver':                 ('number', 1, None, None, None, 'Number of bytes uploaded, ever.'),
+        'uploadLimit':                  ('number', 1, None, None, None, 'Upload limit in Kbps'),
+        'uploadLimitMode':              ('number', 1, 5, None, None, 'Upload limit mode. 0 means global, 1 means signle, 2 unlimited.'),
+        'uploadLimited':                ('boolean', 5, None, None, None, 'Upload limit enabled.'),
+        'uploadRatio':                  ('double', 1, None, None, None, 'Seed ratio.'),
+        'wanted':                       ('array', 1, None, None, None, 'Array of booleans indicated wanted files.'),
+        'webseeds':                     ('array', 1, None, None, None, 'Array of webseeds objects'),
+        'webseedsSendingToUs':          ('number', 1, None, None, None, 'Number of webseeds seeding to us.'),
     },
     'set': {
         'bandwidthPriority':            ('number', 5, None, None, None, 'Priority for this transfer.'),
 # Arguments for session methods
 SESSION_ARGS = {
     'get': {
-        "alt-speed-down":               ('number', 5, None, None, None, ''),
-        "alt-speed-enabled":            ('boolean', 5, None, None, None, ''),
-        "alt-speed-time-begin":         ('number', 5, None, None, None, ''),
-        "alt-speed-time-enabled":       ('boolean', 5, None, None, None, ''),
-        "alt-speed-time-end":           ('number', 5, None, None, None, ''),
-        "alt-speed-time-day":           ('number', 5, None, None, None, ''),
-        "alt-speed-up":                 ('number', 5, None, None, None, ''),
-        "blocklist-enabled":            ('boolean', 5, None, None, None, ''),
-        "blocklist-size":               ('number', 5, None, None, None, ''),
-        "blocklist-url":                ('string', 11, None, None, None, ''),
-        "cache-size-mb":                ('number', 10, None, None, None, ''),
-        "config-dir":                   ('string', 8, None, None, None, ''),
-        "dht-enabled":                  ('boolean', 6, None, None, None, ''),
-        "download-dir":                 ('string', 1, None, None, None, ''),
-        "download-dir-free-space":      ('number', 12, None, None, None, ''),
-        "download-queue-size":          ('number', 14, None, None, None, ''),
-        "download-queue-enabled":       ('boolean', 14, None, None, None, ''),
-        "encryption":                   ('string', 1, None, None, None, ''),
-        "idle-seeding-limit":           ('number', 10, None, None, None, ''),
-        "idle-seeding-limit-enabled":   ('boolean', 10, None, None, None, ''),
-        "incomplete-dir":               ('string', 7, None, None, None, ''),
-        "incomplete-dir-enabled":       ('boolean', 7, None, None, None, ''),
-        "lpd-enabled":                  ('boolean', 9, None, None, None, ''),
-        "peer-limit":                   ('number', 1, 5, None, None, ''),
-        "peer-limit-global":            ('number', 5, None, None, None, ''),
-        "peer-limit-per-torrent":       ('number', 5, None, None, None, ''),
-        "pex-allowed":                  ('boolean', 1, 5, None, None, ''),
-        "pex-enabled":                  ('boolean', 5, None, None, None, ''),
-        "port":                         ('number', 1, 5, None, None, ''),
-        "peer-port":                    ('number', 5, None, None, None, ''),
-        "peer-port-random-on-start":    ('boolean', 5, None, None, None, ''),
-        "port-forwarding-enabled":      ('boolean', 1, None, None, None, ''),
-        "queue-stalled-minutes":        ('number', 14, None, None, None, ''),
-        "queue-stalled-enabled":        ('boolean', 14, None, None, None, ''),
-        "rename-partial-files":         ('boolean', 8, None, None, None, ''),
-        "rpc-version":                  ('number', 4, None, None, None, ''),
-        "rpc-version-minimum":          ('number', 4, None, None, None, ''),
-        "script-torrent-done-enabled":  ('boolean', 9, None, None, None, ''),
-        "script-torrent-done-filename": ('string', 9, None, None, None, ''),
-        "seedRatioLimit":               ('double', 5, None, None, None, ''),
-        "seedRatioLimited":             ('boolean', 5, None, None, None, ''),
-        "seed-queue-size":              ('number', 14, None, None, None, ''),
-        "seed-queue-enabled":           ('boolean', 14, None, None, None, ''),
-        "speed-limit-down":             ('number', 1, None, None, None, ''),
-        "speed-limit-down-enabled":     ('boolean', 1, None, None, None, ''),
-        "speed-limit-up":               ('number', 1, None, None, None, ''),
-        "speed-limit-up-enabled":       ('boolean', 1, None, None, None, ''),
-        "start-added-torrents":         ('boolean', 9, None, None, None, ''),
-        "trash-original-torrent-files": ('boolean', 9, None, None, None, ''),
-        'units':                        ('object', 10, None, None, None, ''),
-        'utp-enabled':                  ('boolean', 13, None, None, None, ''),
-        "version":                      ('string', 3, None, None, None, ''),
+        "alt-speed-down":               ('number', 5, None, None, None, 'Alternate session download speed limit (in Kib/s).'),
+        "alt-speed-enabled":            ('boolean', 5, None, None, None, 'True if alternate global download speed limiter is ebabled.'),
+        "alt-speed-time-begin":         ('number', 5, None, None, None, 'Time when alternate speeds should be enabled. Minutes after midnight.'),
+        "alt-speed-time-enabled":       ('boolean', 5, None, None, None, 'True if alternate speeds scheduling is enabled.'),
+        "alt-speed-time-end":           ('number', 5, None, None, None, 'Time when alternate speeds should be disabled. Minutes after midnight.'),
+        "alt-speed-time-day":           ('number', 5, None, None, None, 'Days alternate speeds scheduling is enabled.'),
+        "alt-speed-up":                 ('number', 5, None, None, None, 'Alternate session upload speed limit (in Kib/s)'),
+        "blocklist-enabled":            ('boolean', 5, None, None, None, 'True when blocklist is enabled.'),
+        "blocklist-size":               ('number', 5, None, None, None, 'Number of rules in the blocklist'),
+        "blocklist-url":                ('string', 11, None, None, None, 'Location of the block list. Updated with blocklist-update.'),
+        "cache-size-mb":                ('number', 10, None, None, None, 'The maximum size of the disk cache in MB'),
+        "config-dir":                   ('string', 8, None, None, None, 'location of transmissions configuration directory'),
+        "dht-enabled":                  ('boolean', 6, None, None, None, 'True if DHT enabled.'),
+        "download-dir":                 ('string', 1, None, None, None, 'The download directory.'),
+        "download-dir-free-space":      ('number', 12, None, None, None, 'Free space in the download directory, in bytes'),
+        "download-queue-size":          ('number', 14, None, None, None, 'Number of slots in the download queue.'),
+        "download-queue-enabled":       ('boolean', 14, None, None, None, 'True if the download queue is enabled.'),
+        "encryption":                   ('string', 1, None, None, None, 'Encryption mode, one of ``required``, ``preferred`` or ``tolerated``.'),
+        "idle-seeding-limit":           ('number', 10, None, None, None, 'Seed inactivity limit in minutes.'),
+        "idle-seeding-limit-enabled":   ('boolean', 10, None, None, None, 'True if the seed activity limit is enabled.'),
+        "incomplete-dir":               ('string', 7, None, None, None, 'The path to the directory for incomplete torrent transfer data.'),
+        "incomplete-dir-enabled":       ('boolean', 7, None, None, None, 'True if the incomplete dir is enabled.'),
+        "lpd-enabled":                  ('boolean', 9, None, None, None, 'True if local peer discovery is enabled.'),
+        "peer-limit":                   ('number', 1, 5, None, 'peer-limit-global', 'Maximum number of peers.'),
+        "peer-limit-global":            ('number', 5, None, 'peer-limit', None, 'Maximum number of peers.'),
+        "peer-limit-per-torrent":       ('number', 5, None, None, None, 'Maximum number of peers per transfer.'),
+        "pex-allowed":                  ('boolean', 1, 5, None, 'pex-enabled', 'True if PEX is allowed.'),
+        "pex-enabled":                  ('boolean', 5, None, 'pex-allowed', None, 'True if PEX is enabled.'),
+        "port":                         ('number', 1, 5, None, 'peer-port', 'Peer port.'),
+        "peer-port":                    ('number', 5, None, 'port', None, 'Peer port.'),
+        "peer-port-random-on-start":    ('boolean', 5, None, None, None, 'Enables randomized peer port on start of Transmission.'),
+        "port-forwarding-enabled":      ('boolean', 1, None, None, None, 'True if port forwarding is enabled.'),
+        "queue-stalled-minutes":        ('number', 14, None, None, None, 'Number of minutes of idle that marks a transfer as stalled.'),
+        "queue-stalled-enabled":        ('boolean', 14, None, None, None, 'True if stalled tracking of transfers is enabled.'),
+        "rename-partial-files":         ('boolean', 8, None, None, None, 'True if ".part" is appended to incomplete files'),
+        "rpc-version":                  ('number', 4, None, None, None, 'Transmission RPC API Version.'),
+        "rpc-version-minimum":          ('number', 4, None, None, None, 'Minimum accepted RPC API Version.'),
+        "script-torrent-done-enabled":  ('boolean', 9, None, None, None, 'True if the done script is enabled.'),
+        "script-torrent-done-filename": ('string', 9, None, None, None, 'Filename of the script to run when the transfer is done.'),
+        "seedRatioLimit":               ('double', 5, None, None, None, 'Seed ratio limit. 1.0 means 1:1 download and upload ratio.'),
+        "seedRatioLimited":             ('boolean', 5, None, None, None, 'True if seed ration limit is enabled.'),
+        "seed-queue-size":              ('number', 14, None, None, None, 'Number of slots in the upload queue.'),
+        "seed-queue-enabled":           ('boolean', 14, None, None, None, 'True if upload queue is enabled.'),
+        "speed-limit-down":             ('number', 1, None, None, None, 'Download speed limit (in Kib/s).'),
+        "speed-limit-down-enabled":     ('boolean', 1, None, None, None, 'True if the download speed is limited.'),
+        "speed-limit-up":               ('number', 1, None, None, None, 'Upload speed limit (in Kib/s).'),
+        "speed-limit-up-enabled":       ('boolean', 1, None, None, None, 'True if the upload speed is limited.'),
+        "start-added-torrents":         ('boolean', 9, None, None, None, 'When true uploaded torrents will start right away.'),
+        "trash-original-torrent-files": ('boolean', 9, None, None, None, 'When true added .torrent files will be deleted.'),
+        'units':                        ('object', 10, None, None, None, 'An object containing units for size and speed.'),
+        'utp-enabled':                  ('boolean', 13, None, None, None, 'True if Micro Transport Protocol (UTP) is enabled.'),
+        "version":                      ('string', 3, None, None, None, 'Transmission version.'),
     },
     'set': {
         "alt-speed-down":               ('number', 5, None, None, None, 'Alternate session download speed limit (in Kib/s).'),
         "cache-size-mb":                ('number', 10, None, None, None, 'The maximum size of the disk cache in MB'),
         "dht-enabled":                  ('boolean', 6, None, None, None, 'Enables DHT.'),
         "download-dir":                 ('string', 1, None, None, None, 'Set the session download directory.'),
-        "download-queue-size":          ('number', 14, None, None, None, 'Number of parallel downloads.'),
-        "download-queue-enabled":       ('boolean', 14, None, None, None, 'Enable parallel download restriction.'),
+        "download-queue-size":          ('number', 14, None, None, None, 'Number of slots in the download queue.'),
+        "download-queue-enabled":       ('boolean', 14, None, None, None, 'Enables download queue.'),
         "encryption":                   ('string', 1, None, None, None, 'Set the session encryption mode, one of ``required``, ``preferred`` or ``tolerated``.'),
         "idle-seeding-limit":           ('number', 10, None, None, None, 'The default seed inactivity limit in minutes.'),
         "idle-seeding-limit-enabled":   ('boolean', 10, None, None, None, 'Enables the default seed inactivity limit'),
         "incomplete-dir":               ('string', 7, None, None, None, 'The path to the directory of incomplete transfer data.'),
         "incomplete-dir-enabled":       ('boolean', 7, None, None, None, 'Enables the incomplete transfer data directory. Otherwise data for incomplete transfers are stored in the download target.'),
         "lpd-enabled":                  ('boolean', 9, None, None, None, 'Enables local peer discovery for public torrents.'),
-        "peer-limit":                   ('number', 1, 5, None, 'peer-limit-global', 'Maximum number of peers'),
-        "peer-limit-global":            ('number', 5, None, 'peer-limit', None, 'Maximum number of peers'),
-        "peer-limit-per-torrent":       ('number', 5, None, None, None, 'Maximum number of peers per transfer'),
+        "peer-limit":                   ('number', 1, 5, None, 'peer-limit-global', 'Maximum number of peers.'),
+        "peer-limit-global":            ('number', 5, None, 'peer-limit', None, 'Maximum number of peers.'),
+        "peer-limit-per-torrent":       ('number', 5, None, None, None, 'Maximum number of peers per transfer.'),
         "pex-allowed":                  ('boolean', 1, 5, None, 'pex-enabled', 'Allowing PEX in public torrents.'),
         "pex-enabled":                  ('boolean', 5, None, 'pex-allowed', None, 'Allowing PEX in public torrents.'),
         "port":                         ('number', 1, 5, None, 'peer-port', 'Peer port.'),
         "queue-stalled-enabled":        ('boolean', 14, None, None, None, 'Enable tracking of stalled transfers.'),
         "script-torrent-done-enabled":  ('boolean', 9, None, None, None, 'Whether or not to call the "done" script.'),
         "script-torrent-done-filename": ('string', 9, None, None, None, 'Filename of the script to run when the transfer is done.'),
-        "seed-queue-size":              ('number', 14, None, None, None, 'Number of parallel uploads.'),
-        "seed-queue-enabled":           ('boolean', 14, None, None, None, 'Enable parallel upload restriction.'),
+        "seed-queue-size":              ('number', 14, None, None, None, 'Number of slots in the upload queue.'),
+        "seed-queue-enabled":           ('boolean', 14, None, None, None, 'Enables upload queue.'),
         "seedRatioLimit":               ('double', 5, None, None, None, 'Seed ratio limit. 1.0 means 1:1 download and upload ratio.'),
         "seedRatioLimited":             ('boolean', 5, None, None, None, 'Enables seed ration limit.'),
         "speed-limit-down":             ('number', 1, None, None, None, 'Download speed limit (in Kib/s).'),

transmissionrpc/session.py

File contents unchanged.

transmissionrpc/torrent.py

 from transmissionrpc.utils import Field, format_timedelta
 
 from six import integer_types, string_types, text_type, iteritems
-# import six.moves.xrange
 
 class Torrent(object):
     """
     Torrent is a class holding the data received from Transmission regarding a bittorrent transfer.
+
     All fetched torrent fields are accessible through this class using attributes.
     This class has a few convenience properties using the torrent data.
     """