43: Fix return types r=jowax a=jowax

Fix types for:
info
properties
files
pieceStates
add

Co-authored-by: Joel Wachsler <JoelWachsler@users.noreply.github.com>
This commit is contained in:
bors[bot] 2022-08-05 18:50:53 +00:00 committed by GitHub
commit b34d07f23f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 483 additions and 76 deletions

View File

@ -1311,7 +1311,7 @@ Parameter | Type | Description
----------------------|---------|------------ ----------------------|---------|------------
`filter` _optional_ | string | Filter torrent list by state. Allowed state filters: `all`, `downloading`, `seeding`, `completed`, `paused`, `active`, `inactive`, `resumed`, `stalled`, `stalled_uploading`, `stalled_downloading`, `errored` `filter` _optional_ | string | Filter torrent list by state. Allowed state filters: `all`, `downloading`, `seeding`, `completed`, `paused`, `active`, `inactive`, `resumed`, `stalled`, `stalled_uploading`, `stalled_downloading`, `errored`
`category` _optional_ | string | Get torrents with the given category (empty string means "without category"; no "category" parameter means "any category" <- broken until [#11748](https://github.com/qbittorrent/qBittorrent/issues/11748) is resolved). Remember to URL-encode the category name. For example, `My category` becomes `My%20category` `category` _optional_ | string | Get torrents with the given category (empty string means "without category"; no "category" parameter means "any category" <- broken until [#11748](https://github.com/qbittorrent/qBittorrent/issues/11748) is resolved). Remember to URL-encode the category name. For example, `My category` becomes `My%20category`
`tag` _optional_ <sup>since 2.8.3</sup> | string | Get torrents with the given tag (empty string means "without tag"; no "tag" parameter means "any tag". Remember to URL-encode the category name. For example, `My tag` becomes `My%20tag` `tag` _optional_ | string | Get torrents with the given tag (empty string means "without tag"; no "tag" parameter means "any tag". Remember to URL-encode the category name. For example, `My tag` becomes `My%20tag`
`sort` _optional_ | string | Sort torrents by given key. They can be sorted using any field of the response's JSON array (which are documented below) as the sort key. `sort` _optional_ | string | Sort torrents by given key. They can be sorted using any field of the response's JSON array (which are documented below) as the sort key.
`reverse` _optional_ | bool | Enable reverse sorting. Defaults to `false` `reverse` _optional_ | bool | Enable reverse sorting. Defaults to `false`
`limit` _optional_ | integer | Limit the number of torrents returned `limit` _optional_ | integer | Limit the number of torrents returned
@ -1455,10 +1455,7 @@ HTTP Status Code | Scenario
404 | Torrent hash was not found 404 | Torrent hash was not found
200 | All other scenarios- see JSON below 200 | All other scenarios- see JSON below
The response is: The response is a JSON of objects containing the following fields:
- empty, if the torrent hash is invalid
- otherwise, a JSON object with the following fields
Property | Type | Description Property | Type | Description
--------------------------|---------|------------ --------------------------|---------|------------
@ -1645,7 +1642,7 @@ Name: `files`
Parameter | Type | Description Parameter | Type | Description
----------|--------|------------ ----------|--------|------------
`hash` | string | The hash of the torrent you want to get the contents of `hash` | string | The hash of the torrent you want to get the contents of
`indexes` _optional_ <sup>since 2.8.2</sup> | string | The indexes of the files you want to retrieve. `indexes` can contain multiple values separated by `\|`. `indexes` _optional_ | string | The indexes of the files you want to retrieve. `indexes` can contain multiple values separated by `\|`.
**Returns:** **Returns:**
@ -1654,14 +1651,11 @@ HTTP Status Code | Scenario
404 | Torrent hash was not found 404 | Torrent hash was not found
200 | All other scenarios- see JSON below 200 | All other scenarios- see JSON below
The response is: The response is a JSON array of objects containing the following fields:
- empty, if the torrent hash is invalid
- otherwise, a JSON array, where each element contains info about one file, with the following fields
Property | Type | Description Property | Type | Description
---------------|---------------|------------- ---------------|---------------|-------------
`index` <sup>since 2.8.2</sup> | integer | File index `index` | integer | File index
`name` | string | File name (including relative path) `name` | string | File name (including relative path)
`size` | integer | File size (bytes) `size` | integer | File size (bytes)
`progress` | float | File progress (percentage/100) `progress` | float | File progress (percentage/100)
@ -1716,12 +1710,9 @@ HTTP Status Code | Scenario
404 | Torrent hash was not found 404 | Torrent hash was not found
200 | All other scenarios- see JSON below 200 | All other scenarios- see JSON below
The response is: The response is a JSON array of `return_objects`;
- empty, if the torrent hash is invalid Possible values of `return_objects`:
- otherwise, an array of states (integers) of all pieces (in order) of a specific torrent.
Value meanings are defined as below:
Value | Description Value | Description
-----------|------------ -----------|------------
@ -1754,10 +1745,7 @@ HTTP Status Code | Scenario
404 | Torrent hash was not found 404 | Torrent hash was not found
200 | All other scenarios- see JSON below 200 | All other scenarios- see JSON below
The response is: The response is a JSON array of hashes (strings).
- empty, if the torrent hash is invalid
- otherwise, an array of hashes (strings) of all pieces (in order) of a specific torrent.
Example: Example:
@ -1976,9 +1964,9 @@ Property | Type | Description
`rename` _optional_ | string | Rename torrent `rename` _optional_ | string | Rename torrent
`upLimit` _optional_ | integer | Set torrent upload speed limit. Unit in bytes/second `upLimit` _optional_ | integer | Set torrent upload speed limit. Unit in bytes/second
`dlLimit` _optional_ | integer | Set torrent download speed limit. Unit in bytes/second `dlLimit` _optional_ | integer | Set torrent download speed limit. Unit in bytes/second
`ratioLimit` _optional_ <sup>since 2.8.1</sup> | float | Set torrent share ratio limit `ratioLimit` _optional_ | float | Set torrent share ratio limit
`seedingTimeLimit` _optional_ <sup>since 2.8.1</sup> | integer | Set torrent seeding time limit. Unit in seconds `seedingTimeLimit` _optional_ | integer | Set torrent seeding time limit. Unit in seconds
`autoTMM` _optional_ | bool | Whether Automatic Torrent Management should be used `autoTMM` _optional_ | bool | Whether Automatic Torrent Management should be used
`sequentialDownload` _optional_ | string | Enable sequential download. Possible values are `true`, `false` (default) `sequentialDownload` _optional_ | string | Enable sequential download. Possible values are `true`, `false` (default)
`firstLastPiecePrio` _optional_ | string | Prioritize download first last piece. Possible values are `true`, `false` (default) `firstLastPiecePrio` _optional_ | string | Prioritize download first last piece. Possible values are `true`, `false` (default)

View File

@ -2301,7 +2301,7 @@
ApiMethod { ApiMethod {
name: "properties", name: "properties",
description: Some( description: Some(
"The response is:\n\n- empty, if the torrent hash is invalid\n- otherwise, a JSON object with the following fields\n\n\nNB: `-1` is returned if the type of the property is integer but its value is not known.\n\nExample:\n\n```JSON\n{\n \"addition_date\":1438429165,\n \"comment\":\"\\\"Debian CD from cdimage.debian.org\\\"\",\n \"completion_date\":1438429234,\n \"created_by\":\"\",\n \"creation_date\":1433605214,\n \"dl_limit\":-1,\n \"dl_speed\":0,\n \"dl_speed_avg\":9736015,\n \"eta\":8640000,\n \"last_seen\":1438430354,\n \"nb_connections\":3,\n \"nb_connections_limit\":250,\n \"peers\":1,\n \"peers_total\":89,\n \"piece_size\":524288,\n \"pieces_have\":1254,\n \"pieces_num\":1254,\n \"reannounce\":672,\n \"save_path\":\"/Downloads/debian-8.1.0-amd64-CD-1.iso\",\n \"seeding_time\":1128,\n \"seeds\":1,\n \"seeds_total\":254,\n \"share_ratio\":0.00072121022562178299,\n \"time_elapsed\":1197,\n \"total_downloaded\":681521119,\n \"total_downloaded_session\":681521119,\n \"total_size\":657457152,\n \"total_uploaded\":491520,\n \"total_uploaded_session\":491520,\n \"total_wasted\":23481724,\n \"up_limit\":-1,\n \"up_speed\":0,\n \"up_speed_avg\":410\n}\n```", "The response is a JSON of objects containing the following fields:\n\n\nNB: `-1` is returned if the type of the property is integer but its value is not known.\n\nExample:\n\n```JSON\n{\n \"addition_date\":1438429165,\n \"comment\":\"\\\"Debian CD from cdimage.debian.org\\\"\",\n \"completion_date\":1438429234,\n \"created_by\":\"\",\n \"creation_date\":1433605214,\n \"dl_limit\":-1,\n \"dl_speed\":0,\n \"dl_speed_avg\":9736015,\n \"eta\":8640000,\n \"last_seen\":1438430354,\n \"nb_connections\":3,\n \"nb_connections_limit\":250,\n \"peers\":1,\n \"peers_total\":89,\n \"piece_size\":524288,\n \"pieces_have\":1254,\n \"pieces_num\":1254,\n \"reannounce\":672,\n \"save_path\":\"/Downloads/debian-8.1.0-amd64-CD-1.iso\",\n \"seeding_time\":1128,\n \"seeds\":1,\n \"seeds_total\":254,\n \"share_ratio\":0.00072121022562178299,\n \"time_elapsed\":1197,\n \"total_downloaded\":681521119,\n \"total_downloaded_session\":681521119,\n \"total_size\":657457152,\n \"total_uploaded\":491520,\n \"total_uploaded_session\":491520,\n \"total_wasted\":23481724,\n \"up_limit\":-1,\n \"up_speed\":0,\n \"up_speed_avg\":410\n}\n```",
), ),
url: "properties", url: "properties",
types: CompositeTypes { types: CompositeTypes {
@ -2323,6 +2323,343 @@
is_list: false, is_list: false,
}, },
), ),
Response(
TypeWithoutName {
types: [
String(
TypeInfo {
name: "save_path",
description: Some(
"Torrent save path",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "creation_date",
description: Some(
"Torrent creation date (Unix timestamp)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "piece_size",
description: Some(
"Torrent piece size (bytes)",
),
is_optional: false,
is_list: false,
},
),
String(
TypeInfo {
name: "comment",
description: Some(
"Torrent comment",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "total_wasted",
description: Some(
"Total data wasted for torrent (bytes)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "total_uploaded",
description: Some(
"Total data uploaded for torrent (bytes)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "total_uploaded_session",
description: Some(
"Total data uploaded this session (bytes)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "total_downloaded",
description: Some(
"Total data downloaded for torrent (bytes)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "total_downloaded_session",
description: Some(
"Total data downloaded this session (bytes)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "up_limit",
description: Some(
"Torrent upload limit (bytes/s)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "dl_limit",
description: Some(
"Torrent download limit (bytes/s)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "time_elapsed",
description: Some(
"Torrent elapsed time (seconds)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "seeding_time",
description: Some(
"Torrent elapsed time while complete (seconds)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "nb_connections",
description: Some(
"Torrent connection count",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "nb_connections_limit",
description: Some(
"Torrent connection count limit",
),
is_optional: false,
is_list: false,
},
),
Float(
TypeInfo {
name: "share_ratio",
description: Some(
"Torrent share ratio",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "addition_date",
description: Some(
"When this torrent was added (unix timestamp)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "completion_date",
description: Some(
"Torrent completion date (unix timestamp)",
),
is_optional: false,
is_list: false,
},
),
String(
TypeInfo {
name: "created_by",
description: Some(
"Torrent creator",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "dl_speed_avg",
description: Some(
"Torrent average download speed (bytes/second)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "dl_speed",
description: Some(
"Torrent download speed (bytes/second)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "eta",
description: Some(
"Torrent ETA (seconds)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "last_seen",
description: Some(
"Last seen complete date (unix timestamp)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "peers",
description: Some(
"Number of peers connected to",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "peers_total",
description: Some(
"Number of peers in the swarm",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "pieces_have",
description: Some(
"Number of pieces owned",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "pieces_num",
description: Some(
"Number of pieces of the torrent",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "reannounce",
description: Some(
"Number of seconds until the next announce",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "seeds",
description: Some(
"Number of seeds connected to",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "seeds_total",
description: Some(
"Number of seeds in the swarm",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "total_size",
description: Some(
"Torrent total size (bytes)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "up_speed_avg",
description: Some(
"Torrent average upload speed (bytes/second)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "up_speed",
description: Some(
"Torrent upload speed (bytes/second)",
),
is_optional: false,
is_list: false,
},
),
],
is_list: false,
},
),
], ],
}, },
}, },
@ -2531,7 +2868,7 @@
ApiMethod { ApiMethod {
name: "files", name: "files",
description: Some( description: Some(
"The response is:\n\n- empty, if the torrent hash is invalid\n- otherwise, a JSON array, where each element contains info about one file, with the following fields\n\n\nPossible values of `priority`:\n\n\nExample:\n\n```JSON\n\n[\n {\n \"index\":0,\n \"is_seed\":false,\n \"name\":\"debian-8.1.0-amd64-CD-1.iso\",\n \"piece_range\":[0,1253],\n \"priority\":1,\n \"progress\":0,\n \"size\":657457152,\n \"availability\":0.5,\n }\n]\n```", "The response is a JSON array of objects containing the following fields:\n\n\nPossible values of `priority`:\n\n\nExample:\n\n```JSON\n\n[\n {\n \"index\":0,\n \"is_seed\":false,\n \"name\":\"debian-8.1.0-amd64-CD-1.iso\",\n \"piece_range\":[0,1253],\n \"priority\":1,\n \"progress\":0,\n \"size\":657457152,\n \"availability\":0.5,\n }\n]\n```",
), ),
url: "files", url: "files",
types: CompositeTypes { types: CompositeTypes {
@ -2598,13 +2935,100 @@
], ],
}, },
), ),
Response(
TypeWithoutName {
types: [
Number(
TypeInfo {
name: "index",
description: Some(
"File index",
),
is_optional: false,
is_list: false,
},
),
String(
TypeInfo {
name: "name",
description: Some(
"File name (including relative path)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "size",
description: Some(
"File size (bytes)",
),
is_optional: false,
is_list: false,
},
),
Float(
TypeInfo {
name: "progress",
description: Some(
"File progress (percentage/100)",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "priority",
description: Some(
"File priority. See possible values here below",
),
is_optional: false,
is_list: false,
},
),
Bool(
TypeInfo {
name: "is_seed",
description: Some(
"True if file is seeding/complete",
),
is_optional: false,
is_list: false,
},
),
Number(
TypeInfo {
name: "piece_range",
description: Some(
"The first number is the starting piece index and the second number is the ending piece index (inclusive)",
),
is_optional: false,
is_list: true,
},
),
Float(
TypeInfo {
name: "availability",
description: Some(
"Percentage of file pieces currently available (percentage/100)",
),
is_optional: false,
is_list: false,
},
),
],
is_list: true,
},
),
], ],
}, },
}, },
ApiMethod { ApiMethod {
name: "pieceStates", name: "pieceStates",
description: Some( description: Some(
"The response is:\n\n- empty, if the torrent hash is invalid\n- otherwise, an array of states (integers) of all pieces (in order) of a specific torrent.\n\nValue meanings are defined as below:\n\n\nExample:\n\n```JSON\n[0,0,2,1,0,0,2,1]\n```", "The response is a JSON array of `return_objects`;\n\n\nPossible values of `return_objects`:\n\n\nExample:\n\n```JSON\n[0,0,2,1,0,0,2,1]\n```",
), ),
url: "pieceStates", url: "pieceStates",
types: CompositeTypes { types: CompositeTypes {
@ -2626,13 +3050,41 @@
is_list: false, is_list: false,
}, },
), ),
Enum(
Enum {
name: "ReturnObjects",
values: [
EnumValue {
description: Some(
"Not downloaded yet",
),
value: "NotDownloadedYet",
original_value: "0",
},
EnumValue {
description: Some(
"Now downloading",
),
value: "NowDownloading",
original_value: "1",
},
EnumValue {
description: Some(
"Already downloaded",
),
value: "AlreadyDownloaded",
original_value: "2",
},
],
},
),
], ],
}, },
}, },
ApiMethod { ApiMethod {
name: "pieceHashes", name: "pieceHashes",
description: Some( description: Some(
"The response is:\n\n- empty, if the torrent hash is invalid\n- otherwise, an array of hashes (strings) of all pieces (in order) of a specific torrent.\n\nExample:\n\n```JSON\n[\"54eddd830a5b58480a6143d616a97e3a6c23c439\",\"f8a99d225aa4241db100f88407fc3bdaead583ab\",\"928fb615b9bd4dd8f9e9022552c8f8f37ef76f58\"]\n```", "The response is a JSON array of hashes (strings).\n\nExample:\n\n```JSON\n[\"54eddd830a5b58480a6143d616a97e3a6c23c439\",\"f8a99d225aa4241db100f88407fc3bdaead583ab\",\"928fb615b9bd4dd8f9e9022552c8f8f37ef76f58\"]\n```",
), ),
url: "pieceHashes", url: "pieceHashes",
types: CompositeTypes { types: CompositeTypes {

View File

@ -6109,9 +6109,9 @@ TokenTree {
], ],
}, },
TableRow { TableRow {
raw: "`tag` _optional_ <sup>since 2.8.3</sup> | string | Get torrents with the given tag (empty string means \"without tag\"; no \"tag\" parameter means \"any tag\". Remember to URL-encode the category name. For example, `My tag` becomes `My%20tag`", raw: "`tag` _optional_ | string | Get torrents with the given tag (empty string means \"without tag\"; no \"tag\" parameter means \"any tag\". Remember to URL-encode the category name. For example, `My tag` becomes `My%20tag`",
columns: [ columns: [
"tag _optional_ <sup>since 2.8.3</sup>", "tag _optional_",
"string", "string",
"Get torrents with the given tag (empty string means \"without tag\"; no \"tag\" parameter means \"any tag\". Remember to URL-encode the category name. For example, My tag becomes My%20tag", "Get torrents with the given tag (empty string means \"without tag\"; no \"tag\" parameter means \"any tag\". Remember to URL-encode the category name. For example, My tag becomes My%20tag",
], ],
@ -6940,16 +6940,7 @@ TokenTree {
"", "",
), ),
Text( Text(
"The response is:", "The response is a JSON of objects containing the following fields:",
),
Text(
"",
),
Text(
"- empty, if the torrent hash is invalid",
),
Text(
"- otherwise, a JSON object with the following fields",
), ),
Text( Text(
"", "",
@ -7861,9 +7852,9 @@ TokenTree {
], ],
}, },
TableRow { TableRow {
raw: "`indexes` _optional_ <sup>since 2.8.2</sup> | string | The indexes of the files you want to retrieve. `indexes` can contain multiple values separated by `\\|`.", raw: "`indexes` _optional_ | string | The indexes of the files you want to retrieve. `indexes` can contain multiple values separated by `\\|`.",
columns: [ columns: [
"indexes _optional_ <sup>since 2.8.2</sup>", "indexes _optional_",
"string", "string",
"The indexes of the files you want to retrieve. indexes can contain multiple values separated by \\", "The indexes of the files you want to retrieve. indexes can contain multiple values separated by \\",
".", ".",
@ -7913,16 +7904,7 @@ TokenTree {
"", "",
), ),
Text( Text(
"The response is:", "The response is a JSON array of objects containing the following fields:",
),
Text(
"",
),
Text(
"- empty, if the torrent hash is invalid",
),
Text(
"- otherwise, a JSON array, where each element contains info about one file, with the following fields",
), ),
Text( Text(
"", "",
@ -7940,9 +7922,9 @@ TokenTree {
split: "---------------|---------------|-------------", split: "---------------|---------------|-------------",
rows: [ rows: [
TableRow { TableRow {
raw: "`index` <sup>since 2.8.2</sup> | integer | File index", raw: "`index` | integer | File index",
columns: [ columns: [
"index <sup>since 2.8.2</sup>", "index",
"integer", "integer",
"File index", "File index",
], ],
@ -8207,22 +8189,16 @@ TokenTree {
"", "",
), ),
Text( Text(
"The response is:", "The response is a JSON array of `return_objects`;",
), ),
Text( Text(
"", "",
), ),
Text(
"- empty, if the torrent hash is invalid",
),
Text(
"- otherwise, an array of states (integers) of all pieces (in order) of a specific torrent.",
),
Text( Text(
"", "",
), ),
Text( Text(
"Value meanings are defined as below:", "Possible values of `return_objects`:",
), ),
Text( Text(
"", "",
@ -8376,16 +8352,7 @@ TokenTree {
"", "",
), ),
Text( Text(
"The response is:", "The response is a JSON array of hashes (strings).",
),
Text(
"",
),
Text(
"- empty, if the torrent hash is invalid",
),
Text(
"- otherwise, an array of hashes (strings) of all pieces (in order) of a specific torrent.",
), ),
Text( Text(
"", "",
@ -9278,23 +9245,23 @@ TokenTree {
], ],
}, },
TableRow { TableRow {
raw: "`ratioLimit` _optional_ <sup>since 2.8.1</sup> | float | Set torrent share ratio limit", raw: "`ratioLimit` _optional_ | float | Set torrent share ratio limit",
columns: [ columns: [
"ratioLimit _optional_ <sup>since 2.8.1</sup>", "ratioLimit _optional_",
"float", "float",
"Set torrent share ratio limit", "Set torrent share ratio limit",
], ],
}, },
TableRow { TableRow {
raw: "`seedingTimeLimit` _optional_ <sup>since 2.8.1</sup> | integer | Set torrent seeding time limit. Unit in seconds", raw: "`seedingTimeLimit` _optional_ | integer | Set torrent seeding time limit. Unit in seconds",
columns: [ columns: [
"seedingTimeLimit _optional_ <sup>since 2.8.1</sup>", "seedingTimeLimit _optional_",
"integer", "integer",
"Set torrent seeding time limit. Unit in seconds", "Set torrent seeding time limit. Unit in seconds",
], ],
}, },
TableRow { TableRow {
raw: "`autoTMM` _optional_ | bool | Whether Automatic Torrent Management should be used", raw: "`autoTMM` _optional_ | bool | Whether Automatic Torrent Management should be used",
columns: [ columns: [
"autoTMM _optional_", "autoTMM _optional_",
"bool", "bool",