Skip to content

Instantly share code, notes, and snippets.

@atr000
Created September 3, 2010 23:59
Show Gist options
  • Save atr000/564739 to your computer and use it in GitHub Desktop.
Save atr000/564739 to your computer and use it in GitHub Desktop.
jdownload.py
import socket,urllib2
from xml.dom import minidom
# Get Info #
LocalIp = ([ip for ip in socket.gethostbyname_ex(socket.gethostname())[2] if not ip.startswith("127.")][0])
def get_downloadlist():
urlStr = 'http://' + LocalIp + ':10025/get/downloads/currentlist'
try:
fileHandle = urllib2.urlopen(urlStr)
str1 = fileHandle.read()
fileHandle.close()
fileObj = open("dlist.xml","w")
fileObj.write(str1)
fileObj.close()
xmldoc = minidom.parse('dlist.xml')
itemlist = xmldoc.getElementsByTagName('package')
packageName = ()
packageEta = ()
packageSize = ()
packagePercent= ()
for s in itemlist :
packageName = str(packageName) + '$' + s.attributes['package_name'].value
packageEta = str(packageEta) + '$' + s.attributes['package_ETA'].value
if packageEta.startswith("~"): packageEta = 'none'
packageSize = str(packageSize) + '$' + s.attributes['package_size'].value
packagePercentage = str(packagePercent) + '$' + s.attributes['package_percent'].value
return(packageName, packageEta, packageSize, packagePercentage)
except IOError:
return 'error'
def get(x):
get_ip()
if x == 'downloadspeed':
urlStr = 'http://' + LocalIp + ':10025/get/speed'
if x == 'speedlimit':
urlStr = 'http://' + LocalIp + ':10025/get/speedlimit'
if x == 'status':
urlStr = 'http://' + LocalIp + ':10025/get/downloadstatus'
if x == 'downloadcount':
urlStr = 'http://' + LocalIp + ':10025/get/downloads/currentcount'
fileHandle = urllib2.urlopen(urlStr)
str1 = fileHandle.read()
fileHandle.close()
if str1.startswith("0"): str1 = 'none'
return str1
# Actions #
def action(x):
get_ip()
if x == 'start':
urlStr = 'http://' + LocalIp + ':10025/action/start'
if x == 'stop':
urlStr = 'http://' + LocalIp + ':10025/action/stop'
if x == 'pause':
urlStr = 'http://' + LocalIp + ':10025/action/pause'
if x == 'toggle':
urlStr = 'http://' + LocalIp + ':10025/action/toggle'
if x == 'restart':
urlStr = 'http://' + LocalIp + ':10025/action/restart'
if x == 'shutdown':
urlStr = 'http://' + LocalIp + ':10025/action/shutdown'
fileHandle = urllib2.urlopen(urlStr)
fileHandle.close()
def action_speedlimit(x):
get_ip()
urlStr = 'http://' + LocalIp + ':10025/action/set/download/limit/' + str(x)
fileHandle = urllib2.urlopen(urlStr)
fileHandle.close()
def action_maxdownloads(x):
get_ip()
urlStr = 'http://' + LocalIp + ':10025/action/set/download/max/' + str(x)
fileHandle = urllib2.urlopen(urlStr)
fileHandle.close()
def action_addcontainer(grabber,start,link):
get_ip()
urlStr = 'http://' + LocalIp + ':10025/action/add/container/grabber' + str(grabber) + '/start' + str(start) + '/' + str(link)
fileHandle = urllib2.urlopen(urlStr)
fileHandle.close()
# Links must be seperated by spaces
def action_addlinks(grabber,start,link):
get_ip()
urlStr = 'http://' + LocalIp + ':10025/action/add/links/grabber' + str(grabber) + '/start' + str(start) + '/' + str(link)
fileHandle = urllib2.urlopen(urlStr)
str1 = fileHandle.read()
fileHandle.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment