Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.50 KB | None | 0 0
  1. ;##############################################################################
  2. ;# Sabnzbd Stats Script v1 #
  3. ;# replace !yourcmd (line2,8) - localhost YOURPORT (line6) - localhost(line13)#
  4. ;# enjoy and feel free to customize this script #
  5. ;##############################################################################
  6.  
  7. NOW DOWNLOADING
  8. ###############################################################################
  9. alias sab {
  10. set %_qs.chan $chan
  11. sockclose qstats
  12. sockopen qstats 127.0.0.1 8080
  13. }
  14.  
  15. on *:sockopen:qstats: {
  16. sockwrite -nt $sockname GET /api?mode=queue&start=START&limit=LIMIT&output=xml&apikey=1977421b5f00cd609398bb3aa1eb00a1 HTTP/1.1
  17. sockwrite -nt $sockname Host: 127.0.0.1
  18. sockwrite -nt $sockname User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0
  19. sockwrite -n $sockname
  20. }
  21.  
  22. on *:SOCKREAD:qstats: {
  23. if ($sockerr > 0) { echo -a *** Error $+($chr(35),$sockerr) occurred while reading from $+($sockname,.) | return }
  24. sockread %_qs.html
  25. while ($sockbr) {
  26. if ($regex(%_qs.html,/<noofslots>(.+?)</noofslots>/igs)) { set %_qs.queue $regml(1) }
  27. if ($regex(%_qs.html,/<filename>(.+?)</filename>/igs)) { set %_qs.lastfilename $regml(1) }
  28. if ($regex(%_qs.html,/<kbpersec>(.+?)</kbpersec>/igs)) { set %_qs.speed $round($regml(1),2) KB/sec }
  29. if ($regex(%_qs.html,/<mbleft>(.+?)</mbleft>/igs)) { set %_qs.mbleft $bytes($calc(($regml(1) * 1024) * 1024)) $remove($regsubex($bytes($calc(($regml(1) * 1024) * 1024)).suf,/[0-9]/g,),.) }
  30. if ($regex(%_qs.html,/<mb>(.+?)</mb>/igs)) { set %_qs.mb $bytes($calc(($regml(1) * 1024) * 1024)) $remove($regsubex($bytes($calc(($regml(1) * 1024) * 1024)).suf,/[0-9]/g,),.) }
  31. if ($regex(%_qs.html,/<timeleft>(.+?)</timeleft>/igs)) { set %_qs.timeleft $regml(1) }
  32. if (($regex(%_qs.html,/<filename>(.+?)</filename>/igs)) && (!%_qs.count)) { set %_qs.filename $remove($regml(1),.nzb) | set %_qs.count 1 }
  33. if (($regex(%_qs.html,/<size>(.+?)</size>/igs)) && (%_qs.index == 0)) { set %_qs.sizefirst $regml(1) }
  34. if (($regex(%_qs.html,/<sizeleft>(.+?)</sizeleft>/igs)) && (%_qs.index == 0)) { set %_qs.sizeleftfirst $regml(1) }
  35. if (($regex(%_qs.html,/<percentage>(.+?)</percentage>/igs)) && (%_qs.index == 0)) { set %_qs.percentage $regml(1) }
  36. if ($regex(%_qs.html,/<index>(.+?)</index>/igs)) { set %_qs.index $regml(1) }
  37. if ($regex(%_qs.html,/<eta>(.+?)</eta>/igs)) { set %_qs.eta $regml(1) }
  38. if ($regex(%_qs.html,/<diskspacetotal1>(.+?)</diskspacetotal1>/igs)) { set %_qs.diskspacetotal1 $bytes($calc((($regml(1) * 1024) * 1024) *1024)) $remove($regsubex($bytes($calc((($regml(1) * 1024) * 1024) *1024)).suf,/[0-9]/g,),.) }
  39. if ($regex(%_qs.html,/<diskspace1>(.+?)</diskspace1>/igs)) { set %_qs.diskspace $bytes($calc((($regml(1) * 1024) * 1024) *1024)) $remove($regsubex($bytes($calc((($regml(1) * 1024) * 1024) *1024)).suf,/[0-9]/g,),.) }
  40. _gf.output
  41. sockread %_qs.html
  42. }
  43. }
  44.  
  45. on *:SOCKCLOSE:qstats:{ unset %_qs.* }
  46.  
  47. alias -l _gf.output {
  48. if ((%_qs.filename) && (%_qs.speed) && (%_qs.lastfilename) && (%_qs.mbleft) && (%_qs.mb) && (%_qs.timeleft) && (%_qs.diskspace) && (%_qs.eta) && (%_qs.sizefirst) && (%_qs.sizeleftfirst)) { msg %_qs.chan $+(14»»[7 SABnzbd+ 14][7 Downloading: %_qs.filename @ %_qs.percentage $+ %, 14 ][7 Progress: %_qs.sizeleftfirst / %_qs.sizefirst, 14 ][7 Queued: %_qs.queue, 14 ][7 Total Size: %_qs.mbleft, 14 ][7 Speed: %_qs.speed, 14 ][7 ETA: %_qs.timeleft @ %_qs.eta, 14 ]»») | unset %_qs.* }
  49. elseif ((%_qs.queue == 0) && (%_qs.speed) && (%_qs.mbleft) && (%_qs.mb) && (%_qs.timeleft) && (%_qs.diskspace)) { msg %_qs.chan $+(14»»[7 SABnzbd+ 14][7 Downloading: Nothing to download14 ][7 Queued: %_qs.queue, 14 ][7 Total Free: %_qs.diskspace / %_qs.diskspacetotal1, 14 ]»») | unset %_qs.* }
  50. }
  51.  
  52. DOWNLOAD STATS
  53. ###############################################################################
  54.  
  55. alias sabstats {
  56. set %_qs.chan $chan
  57. set %starttime 2466222566
  58. sockclose sabstats
  59. sockopen sabstats 127.0.0.1 8080
  60. }
  61.  
  62. on *:sockopen:sabstats: {
  63. sockwrite -nt $sockname GET /api?mode=history&start=START&limit=LIMIT&output=xml&apikey=1977421b5f00cd609398bb3aa1eb00a1 HTTP/1.1
  64. sockwrite -nt $sockname Host: 127.0.0.1
  65. sockwrite -nt $sockname User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0
  66. sockwrite -n $sockname
  67. }
  68.  
  69. on *:SOCKREAD:sabstats: {
  70. if ($sockerr > 0) { echo -a *** Error $+($chr(35),$sockerr) occurred while reading from $+($sockname,.) | return }
  71. sockread %_qs.html
  72. while ($sockbr) {
  73. if ($regex(%_qs.html,/<total_size>(.+?)</total_size>/igs)) { set %_qs.totalsize $regml(1) }
  74. if ($regex(%_qs.html,/<completed>(.+?)</completed>/igs)) { set %_qs.completed $regml(1) }
  75. if (%_qs.completed < %starttime) { set %starttime $regml(1) }
  76. if ($regex(%_qs.html,/<id>(.+?)</id>/igs)) { set %_qs.id $regml(1) }
  77. if (($regex(%_qs.html,/<download_time>(.+?)</download_time>/igs)) && (%_qs.id == 1)) { set %_qs.downloadtime $regml(1) }
  78. if ($regex(%_qs.html,/<month_size>(.+?)</month_size>/igs)) { set %_qs.monthsize $regml(1) }
  79. if ($regex(%_qs.html,/<week_size>(.+?)</week_size>/igs)) { set %_qs.weeksize $regml(1) }
  80. if ($regex(%_qs.html,/<noofslots>(.+?)</noofslots>/igs)) { set %_qs.totalfiles $regml(1) }
  81. _qg.output
  82. sockread %_qs.html
  83. }
  84. }
  85.  
  86. on *:SOCKCLOSE:sabstats:{ unset %_qs.* }
  87.  
  88. alias -l _qg.output {
  89. if ((%_qs.totalsize) && (%_qs.monthsize) && (%_qs.weeksize) && (%_qs.totalfiles) && (%starttime) && (%_qs.downloadtime)) { msg %_qs.chan $+(14»»[7 SABnzbd+ Stats 14][7 Files: %_qs.totalfiles 14][7 Total: %_qs.totalsize 14][7 Month: %_qs.monthsize 14][7 Week: %_qs.weeksize 14][7 Since: $asctime($calc((%starttime)-(%_qs.downloadtime)-(25))), 14 ]»») | unset %_qs.* }
  90. }
  91.  
  92. LAST DOWNLOADED
  93. ###############################################################################
  94.  
  95. alias sablast {
  96. set %_qs.chan $chan
  97. set %completedtime 0
  98. set %bullshitnum 10000000
  99. sockclose sablast
  100. sockopen sablast 127.0.0.1 8080
  101. }
  102.  
  103. on *:sockopen:sablast: {
  104. sockwrite -nt $sockname GET /api?mode=history&start=START&limit=LIMIT&output=xml&apikey=1977421b5f00cd609398bb3aa1eb00a1 HTTP/1.1
  105. sockwrite -nt $sockname Host: 127.0.0.1
  106. sockwrite -nt $sockname User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0
  107. sockwrite -n $sockname
  108. }
  109.  
  110. on *:SOCKREAD:sablast: {
  111. if ($sockerr > 0) { echo -a *** Error $+($chr(35),$sockerr) occurred while reading from $+($sockname,.) | return }
  112. sockread %_qs.html
  113. while ($sockbr) {
  114. if ($regex(%_qs.html,/<id>(.+?)</id>/igs)) { set %_qs.id $regml(1) }
  115. if ($regex(%_qs.html,/<completed>(.+?)</completed>/igs)) { set %_qs.completed $regml(1) }
  116. if (%_qs.completed > %completedtime) { set %completedtime $regml(1) }
  117. if (($regex(%_qs.html,/<id>(.+?)</id>/igs)) && (%_qs.completed == %_qs.name)) { set %_qs.lastid $regml(1) }
  118. if ($regex(%_qs.html,/<nzb_name>(.+?)</nzb_name>/igs)) { set %_qs.filename $remove($regml(1),.nzb) }
  119. if ($regex(%_qs.html,/<size>(.+?)</size>/igs)) { set %_qs.size $regml(1) }
  120. if ($regex(%_qs.html,/<name>(.+?)</name>/igs)) { set %_qs.name $regml(1) }
  121. if (($regex(%_qs.html,/<item>(.+?)</item>/igs)) && (%_qs.name == Download) && (%_qs.id == %_qs.lastid)) { set %_qs.downloadtime $regml(1) }
  122. _qh.output
  123. sockread %_qs.html
  124. }
  125. }
  126.  
  127. on *:SOCKCLOSE:sablast:{ unset %_qs.* }
  128.  
  129. alias -l _qh.output {
  130. if ((%_qs.lastid) && (%_qs.filename) && (%_qs.size) && (%_qs.downloadtime) && (%completedtime)) { msg %_qs.chan $+(14»»[7 SABnzbd+ 14][7 Last file: %_qs.filename 14][7 Size: %_qs.size 14][7 %_qs.downloadtime 14][7 Completed: $asctime(%completedtime), 14 ]»») | unset %_qs.* }
  131. }
  132.  
  133. MENU
  134. ###############################################################################
  135.  
  136. alias betterduration {
  137. var %extracttime = $abs($1)
  138. var %time, %minutes, %seconds, %temp
  139. %minutes = $int($calc(%extracttime / 60))
  140. if (%minutes != 0) %time = %time %minutes minute $+ $iif(%minutes > 1,s) $+
  141. %temp = $calc(%extracttime - (%minutes * 60))
  142. %seconds = $calc(%temp % 60)
  143. if (%seconds != 0) %time = %time and %seconds second $+ $iif(%seconds > 1,s)
  144. if ($right(%time, 1) == $chr(44)) return $left(%time, -1)
  145. return %time
  146. }
  147.  
  148. alias test { /me $betterduration(2378) }
  149.  
  150.  
  151. menu channel,nicklist,nicklist {
  152. SABnzbd+ Stats
  153. .Downloading: sab
  154. .Last File: sablast
  155. .Total Stats: sabstats
  156. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement