@@ -8,12 +8,10 @@ class Transmission extends \App\SupportedApps implements \App\EnhancedApps
8
8
public $ attrs = [];
9
9
public $ vars ;
10
10
11
- //protected $login_first = true; // Uncomment if api requests need to be authed first
12
- protected $ method = "POST " ; // Uncomment if requests to the API should be set by POST
11
+ protected $ method = "POST " ;
13
12
14
13
public function __construct ()
15
14
{
16
- //$this->jar = new \GuzzleHttp\Cookie\CookieJar; // Uncomment if cookies need to be set
17
15
$ body ["method " ] = "torrent-get " ;
18
16
$ body ["arguments " ] = [
19
17
"fields " => ["percentDone " , "status " , "rateDownload " , "rateUpload " ],
@@ -22,13 +20,13 @@ public function __construct()
22
20
"http_errors " => false ,
23
21
"timeout " => 5 ,
24
22
"body " => json_encode ($ body ),
23
+ "verify " => false ,
25
24
];
26
25
}
27
26
28
27
public function test ()
29
28
{
30
29
$ test = $ this ->sendTest ();
31
-
32
30
echo $ test ->status ;
33
31
}
34
32
@@ -37,18 +35,18 @@ public function livestats()
37
35
$ status = "inactive " ;
38
36
$ res = $ this ->sendRequest ();
39
37
if ($ res == null ) {
40
- //Log::debug('Transmission connection failed');
41
38
return "" ;
42
39
}
43
40
44
41
$ details = json_decode ($ res ->getBody ());
45
42
if (!isset ($ details ->arguments )) {
46
- //Log::debug('Failed to fetch data from Transmission');
47
43
return "" ;
48
44
}
49
45
50
46
$ data = [];
51
47
48
+ error_log (json_encode ($ details , JSON_PRETTY_PRINT ));
49
+
52
50
$ torrents = $ details ->arguments ->torrents ;
53
51
$ seeding_torrents = 0 ;
54
52
$ leeching_torrents = 0 ;
@@ -69,18 +67,8 @@ public function livestats()
69
67
$ status = "active " ;
70
68
}
71
69
72
- $ data ["download_rate " ] = format_bytes (
73
- $ rateDownload ,
74
- false ,
75
- " <span> " ,
76
- "/s</span> "
77
- );
78
- $ data ["upload_rate " ] = format_bytes (
79
- $ rateUpload ,
80
- false ,
81
- " <span> " ,
82
- "/s</span> "
83
- );
70
+ $ data ["download_rate " ] = format_bytes ($ rateDownload , false , " <span> " , "/s</span> " );
71
+ $ data ["upload_rate " ] = format_bytes ($ rateUpload , false , " <span> " , "/s</span> " );
84
72
$ data ["seed_count " ] = $ seeding_torrents ;
85
73
$ data ["leech_count " ] = $ leeching_torrents ;
86
74
@@ -90,37 +78,21 @@ public function livestats()
90
78
private function sendTest ()
91
79
{
92
80
$ this ->setClientOptions ();
93
- $ test = parent ::appTest (
94
- $ this ->url ("transmission/rpc " ),
95
- $ this ->attrs ,
96
- $ this ->vars
97
- );
81
+ $ test = parent ::appTest ($ this ->url ("transmission/rpc " ), $ this ->attrs , $ this ->vars );
98
82
if ($ test ->code === 409 ) {
99
83
$ this ->setClientOptions ();
100
- $ test = parent ::appTest (
101
- $ this ->url ("transmission/rpc " ),
102
- $ this ->attrs ,
103
- $ this ->vars
104
- );
84
+ $ test = parent ::appTest ($ this ->url ("transmission/rpc " ), $ this ->attrs , $ this ->vars );
105
85
}
106
86
return $ test ;
107
87
}
108
88
109
89
private function sendRequest ()
110
90
{
111
91
$ this ->setClientOptions ();
112
- $ res = parent ::execute (
113
- $ this ->url ("transmission/rpc " ),
114
- $ this ->attrs ,
115
- $ this ->vars
116
- );
92
+ $ res = parent ::execute ($ this ->url ("transmission/rpc " ), $ this ->attrs , $ this ->vars );
117
93
if ($ res ->getStatusCode () === 409 ) {
118
94
$ this ->setClientOptions ();
119
- $ res = parent ::execute (
120
- $ this ->url ("transmission/rpc " ),
121
- $ this ->attrs ,
122
- $ this ->vars
123
- );
95
+ $ res = parent ::execute ($ this ->url ("transmission/rpc " ), $ this ->attrs , $ this ->vars );
124
96
}
125
97
return $ res ;
126
98
}
@@ -134,27 +106,23 @@ private function setClientOptions()
134
106
$ this ->config ->password ,
135
107
"Basic " ,
136
108
],
109
+ "verify " => false ,
110
+ ];
111
+ } else {
112
+ $ this ->attrs = [
113
+ "verify " => false ,
137
114
];
138
115
}
139
- $ res = parent ::execute (
140
- $ this ->url ("transmission/rpc " ),
141
- $ this ->attrs ,
142
- $ this ->vars
143
- );
116
+ $ res = parent ::execute ($ this ->url ("transmission/rpc " ), $ this ->attrs , $ this ->vars );
144
117
145
118
try {
146
- //print_r($res);
147
119
$ xtId = $ res ->getHeaderLine ("X-Transmission-Session-Id " );
148
120
if ($ xtId != null ) {
149
121
$ this ->attrs ["headers " ] = [
150
122
"X-Transmission-Session-Id " => $ xtId ,
151
123
];
152
- } else {
153
- //Log::error("Unable to get Transmission session information");
154
- //Log::debug("Status Code: ".$res->getStatusCode());
155
124
}
156
125
} catch (\GuzzleHttp \Exception \ConnectException $ e ) {
157
- //Log::error("Failed connection to Transmission");
158
126
return false ;
159
127
}
160
128
return true ;
0 commit comments