예제 #1
0
    def __init__(self, parent=None, loc=None, user=None):
        QtGui.QWidget.__init__(self, parent)
        self.setWindowTitle('Network Configuration')
        self.username = user
        self.authenticated = 1
        self.posMove = None

        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)

        self.uixml = UIXML(os.getcwd())
        okay = QtGui.QPushButton('Ok')
        cancel = QtGui.QPushButton('Cancel')

        hbox3 = QtGui.QHBoxLayout()
        hbox3.addWidget(okay)
        hbox3.addWidget(cancel)

        lhttp = QtGui.QLabel('HTTPProxy: ')
        lport = QtGui.QLabel('Port: ')
        self.http = QtGui.QLineEdit()
        self.port = QtGui.QLineEdit()

        hbox1 = QtGui.QHBoxLayout()
        hbox1.addWidget(lhttp)
        hbox1.addWidget(self.http)
        hbox1.addWidget(lport)
        hbox1.addWidget(self.port)

        self.cbox = QtGui.QCheckBox('No Authentication')

        userl = QtGui.QLabel('Username: '******'Password: '******'Network Proxy')
        self.connect(self.cbox, QtCore.SIGNAL('stateChanged(int)'),
                     self.Authenticate)
        self.connect(okay, QtCore.SIGNAL('clicked()'), self.Finalize)
        self.connect(cancel, QtCore.SIGNAL('clicked()'), self,
                     QtCore.SLOT('close()'))
예제 #2
0
 def YTubeDownload(self, url, recv, PARTS, info, wMutex, flag):
     ''' Calls a Youtube download by fetching the link '''
     self.info = info
     if recv == None:
         return
     headers = {'User-Agent': 'LINUX DOWNLOAD MANAGER'}  # build header
     req = urllib2.Request(url, None, headers)
     proXy = {}
     proxy_info = UIXML().getProxyInformation('&LDM')
     try:
         if len(proxy_info) == 2:
             proXy['host'] = str(proxy_info[0])
             proXy['port'] = int(proxy_info[1])
             proxy = "http://%(host)s:%(port)d" % proXy
             info = {"http": ""}
             info["http"] = "http://%(host)s:%(port)d" % proXy
             handler = urllib2.ProxyHandler(info)
             opener = urllib2.build_opener(handler)  # Add proxy information
         elif len(proxy_info) == 4:
             proXy['host'] = str(proxy_info[0])
             proXy['port'] = int(proxy_info[1])
             proXy['user'] = str(proxy_info[2])
             proXy['pass'] = str(int(proxy_info[3]))
             proxy = "http://%(user)s:%(pass)s@%(host)s:%(port)d" % proXy
             info = {"http": ""}
             info[
                 "http"] = "http://%(user)s:%(pass)s@%(host)s:%(port)d" % proXy
             handler = urllib2.ProxyHandler(info)
             opener = urllib2.build_opener(handler)  # Add USER & PASS
         else:
             opener = urllib2.build_opener()  # build empty handler
     except Exception, e:
         print "Error ", str(e)
         sys.exit(0)
	def __init__(self,parent=None,loc=None,user=None) :
		QtGui.QWidget.__init__(self,parent)	
		self.setWindowTitle('Network Configuration')	
		self.username = user
		self.authenticated = 1
		self.posMove=None	
		
		self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
								
		self.uixml = UIXML(os.getcwd())
		okay = QtGui.QPushButton('Ok')
		cancel = QtGui.QPushButton('Cancel')
		
		hbox3 = QtGui.QHBoxLayout()
		hbox3.addWidget(okay)
		hbox3.addWidget(cancel)
		
		lhttp = QtGui.QLabel('HTTPProxy: ')
		lport = QtGui.QLabel('Port: ')
		self.http = QtGui.QLineEdit()
		self.port = QtGui.QLineEdit()
		
		hbox1 = QtGui.QHBoxLayout()
		hbox1.addWidget(lhttp)
		hbox1.addWidget(self.http)
		hbox1.addWidget(lport)
		hbox1.addWidget(self.port)
		
		self.cbox = QtGui.QCheckBox('No Authentication')
		
		userl = QtGui.QLabel('Username: '******'Password: '******'Network Proxy')
		self.connect(self.cbox,QtCore.SIGNAL('stateChanged(int)'),self.Authenticate)
		self.connect(okay,QtCore.SIGNAL('clicked()'),self.Finalize)
예제 #4
0
    def YTubePartition(self, info, recv, PARTS, wMutex, flag, bit):
        ''' It download if resume is called with download information '''
        if recv == None:
            return

        if not (os.path.exists(os.getcwd() + '/Download/' + info.fileName +
                               '_LDM')):
            ''' Checks if file with past download is not present is start-over again '''
            info = self.YTubeDownload(info.url, recv, PARTS, info, wMutex,
                                      flag)
            return info[0], info[1], 0

        if bit == 1:
            ''' If url is a youtube url Link is fetched again '''
            headers = {
                'User-Agent': 'LINUX DOWNLOAD MANAGER'
            }  # building of header
            req = urllib2.Request(info.url, None, headers)
            proXy = {}
            proxy_info = UIXML().getProxyInformation('&LDM')
            try:
                if len(proxy_info) == 2:
                    proXy['host'] = str(proxy_info[0])
                    proXy['port'] = int(proxy_info[1])
                    proxy = "http://%(host)s:%(port)d" % proXy
                    info = {"http": ""}
                    info["http"] = "http://%(host)s:%(port)d" % proXy
                    handler = urllib2.ProxyHandler(info)
                    opener = urllib2.build_opener(
                        handler)  # Add proxy information
                elif len(proxy_info) == 4:
                    proXy['host'] = str(proxy_info[0])
                    proXy['port'] = int(proxy_info[1])
                    proXy['user'] = str(proxy_info[2])
                    proXy['pass'] = str(int(proxy_info[3]))
                    proxy = "http://%(user)s:%(pass)s@%(host)s:%(port)d" % proXy
                    info = {"http": ""}
                    info[
                        "http"] = "http://%(user)s:%(pass)s@%(host)s:%(port)d" % proXy
                    handler = urllib2.ProxyHandler(info)
                    opener = urllib2.build_opener(handler)  # Add USER & PASS
                else:
                    opener = urllib2.build_opener()  # build empty handler
            except Exception, e:
                print "Error ", str(e)

            s = opener.open(req).read()  # reads html
            search = re.search(self.regX, s)

            if search:
                url = 'http' + urllib2.unquote(search.group(1))
예제 #5
0
    def Download(self, url, recv, PARTS, info, wMutex, flag, fileName=''):
        ''' Takes a url fetches it's information & partition it to calls download routine '''
        self.flag = flag  # To keep track of signal send to it from GUI
        self.wMutex = wMutex  # Synchronize Loading of information & writing of information of a download
        self.transmit = recv  # Communication PIPE
        self.url = url  # Url or location form where to download
        self.info = info  # Have download prtition & information

        if len(url) == 0:
            return

        if len(fileName
               ) == 0:  # If filename not present , read it from the link
            self.aUrl = url
            fileName = url.split('/')
            fileName = fileName[len(fileName) - 1]

        fileName = self.InAscii(fileName)
        req = urllib2.Request(
            url, None,
            {'User-Agent': 'LINUX DOWNLOAD MANAGER'})  # build the header
        proXy = {}
        proxy_info = UIXML().getProxyInformation('&LDM')
        try:
            if len(proxy_info) == 2:
                proXy['host'] = str(proxy_info[0])
                proXy['port'] = int(proxy_info[1])
                proxy = "http://%(host)s:%(port)d" % proXy
                info = {"http": ""}
                info["http"] = "http://%(host)s:%(port)d" % proXy
                handler = urllib2.ProxyHandler(info)
                opener = urllib2.build_opener(handler)  # Add proxy information
            elif len(proxy_info) == 4:
                proXy['host'] = str(proxy_info[0])
                proXy['port'] = int(proxy_info[1])
                proXy['user'] = str(proxy_info[2])
                proXy['pass'] = str(int(proxy_info[3]))
                proxy = "http://%(user)s:%(pass)s@%(host)s:%(port)d" % proXy
                info = {"http": ""}
                info[
                    "http"] = "http://%(user)s:%(pass)s@%(host)s:%(port)d" % proXy
                handler = urllib2.ProxyHandler(info)
                opener = urllib2.build_opener(handler)  # Add USER & PASS
            else:
                opener = urllib2.build_opener()  # build empty handler
        except Exception, e:
            print "Error ", str(e)
            sys.exit(0)
예제 #6
0
 def forkVariousPart(self, obj, url, fileName, transmit, monitor):
     ''' To fetch individual part this technique is used '''
     if obj.UL - (obj.LL + obj.length.value
                  ) <= 0:  # checks whether partition is a valid partition
         sys.exit(0)
     # intializes state
     obj.LOCK.value = 2
     req = urllib2.Request(url)  # perform the request from the url
     proXy = {}
     proxy_info = UIXML().getProxyInformation(
         '&LDM'
     )  # If user is working under a proxy , fetches proxy information
     try:
         if len(proxy_info) == 2:
             proXy['host'] = str(proxy_info[0])
             proXy['port'] = int(proxy_info[1])
             proxy = "http://%(host)s:%(port)d" % proXy
             info = {"http": ""}
             info["http"] = "http://%(host)s:%(port)d" % proXy
             handler = urllib2.ProxyHandler(info)
             opener = urllib2.build_opener(handler)  # Add proxy information
         elif len(proxy_info) == 4:
             proXy['host'] = str(proxy_info[0])
             proXy['port'] = int(proxy_info[1])
             proXy['user'] = str(proxy_info[2])
             proXy['pass'] = str(int(proxy_info[3]))
             proxy = "http://%(user)s:%(pass)s@%(host)s:%(port)d" % proXy
             info = {"http": ""}
             info[
                 "http"] = "http://%(user)s:%(pass)s@%(host)s:%(port)d" % proXy
             handler = urllib2.ProxyHandler(info)
             opener = urllib2.build_opener(handler)  # Add USER & PASS
         else:
             opener = urllib2.build_opener()  # build empty handler
     except Exception, e:
         print "Error : ", str(e)
class NetworkProxy(QtGui.QWidget) :
	def __init__(self,parent=None,loc=None,user=None) :
		QtGui.QWidget.__init__(self,parent)	
		self.setWindowTitle('Network Configuration')	
		self.username = user
		self.authenticated = 1
		self.posMove=None	
		
		self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
								
		self.uixml = UIXML(os.getcwd())
		okay = QtGui.QPushButton('Ok')
		cancel = QtGui.QPushButton('Cancel')
		
		hbox3 = QtGui.QHBoxLayout()
		hbox3.addWidget(okay)
		hbox3.addWidget(cancel)
		
		lhttp = QtGui.QLabel('HTTPProxy: ')
		lport = QtGui.QLabel('Port: ')
		self.http = QtGui.QLineEdit()
		self.port = QtGui.QLineEdit()
		
		hbox1 = QtGui.QHBoxLayout()
		hbox1.addWidget(lhttp)
		hbox1.addWidget(self.http)
		hbox1.addWidget(lport)
		hbox1.addWidget(self.port)
		
		self.cbox = QtGui.QCheckBox('No Authentication')
		
		userl = QtGui.QLabel('Username: '******'Password: '******'Network Proxy')
		self.connect(self.cbox,QtCore.SIGNAL('stateChanged(int)'),self.Authenticate)
		self.connect(okay,QtCore.SIGNAL('clicked()'),self.Finalize)
		self.connect(cancel,QtCore.SIGNAL('clicked()'),self,QtCore.SLOT('close()'))
	
	def mousePressEvent(self,event) :
		self.posMove = event.pos()
	
	def mouseMoveEvent(self,event) :
		if self.posMove :
			self.move(self.pos().x()+event.pos().x()-self.posMove.x(),self.pos().y()+event.pos().y()-self.posMove.y())
	
	def mouseReleaseEvent(self,event) :
		self.posMove=None
			
	def getInformation(self) :
		l=[]
		if not(len(str(self.http.text()))) or not(len(str(self.port.text()))) :			
			return []
		l.append(str(self.http.text()))
		l.append(str(self.port.text()))
		if len(str(self.user.text())) and len(str(self.passwrd.text())) :				
			l.append(str(self.user.text()))
			l.append(str(self.passwrd.text()))
		
		return l
		
	def setUsername(self,user) :
		self.username = user
		l=self.uixml.getProxyInformation(self.username)
		if len(l)==2:
			self.http.setText(str(l[0]))
			self.port.setText(str(l[1]))
		elif len(l) == 4:
			self.user.setText(str(l[2]))
			self.passwrd.setText(str(l[3]))
		else :
			self.cbox.setChecked(1)
			self.authenticated=0
			self.user.setReadOnly(1)
			self.passwrd.setReadOnly(1)
			
	def Authenticate(self,state) :		
		if state == 2:
			self.authenticated = 0
			self.user.setReadOnly(True)
			self.passwrd.setReadOnly(True)
		else :
			self.authenticated = 1
			self.user.setReadOnly(False)
			self.passwrd.setReadOnly(False)
		
	def Finalize(self) :		
		l=[]
		if not(len(str(self.http.text()))) or not(len(str(self.port.text()))) :
			QtGui.QMessageBox.information(self,'Warning','http/port field is empty')
			return				
		
		l.append(str(self.http.text()))
		l.append(str(self.port.text()))
				
		if self.authenticated :
			if not(len(str(self.user.text()))) or not(len(str(self.passwrd.text()))) :
				QtGui.QMessageBox.information(self,'Warning','login/passwrd field is empty')
				return
			else :
				l.append(str(self.user.text()))
				l.append(str(self.passwrd.text()))	
			
		if self.uixml.setProxyInformation(self.username,l):
			QtGui.QMessageBox.information(self,'Okay','Done Successfully')
예제 #8
0
class NetworkProxy(QtGui.QWidget):
    def __init__(self, parent=None, loc=None, user=None):
        QtGui.QWidget.__init__(self, parent)
        self.setWindowTitle('Network Configuration')
        self.username = user
        self.authenticated = 1
        self.posMove = None

        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)

        self.uixml = UIXML(os.getcwd())
        okay = QtGui.QPushButton('Ok')
        cancel = QtGui.QPushButton('Cancel')

        hbox3 = QtGui.QHBoxLayout()
        hbox3.addWidget(okay)
        hbox3.addWidget(cancel)

        lhttp = QtGui.QLabel('HTTPProxy: ')
        lport = QtGui.QLabel('Port: ')
        self.http = QtGui.QLineEdit()
        self.port = QtGui.QLineEdit()

        hbox1 = QtGui.QHBoxLayout()
        hbox1.addWidget(lhttp)
        hbox1.addWidget(self.http)
        hbox1.addWidget(lport)
        hbox1.addWidget(self.port)

        self.cbox = QtGui.QCheckBox('No Authentication')

        userl = QtGui.QLabel('Username: '******'Password: '******'Network Proxy')
        self.connect(self.cbox, QtCore.SIGNAL('stateChanged(int)'),
                     self.Authenticate)
        self.connect(okay, QtCore.SIGNAL('clicked()'), self.Finalize)
        self.connect(cancel, QtCore.SIGNAL('clicked()'), self,
                     QtCore.SLOT('close()'))

    def mousePressEvent(self, event):
        self.posMove = event.pos()

    def mouseMoveEvent(self, event):
        if self.posMove:
            self.move(self.pos().x() + event.pos().x() - self.posMove.x(),
                      self.pos().y() + event.pos().y() - self.posMove.y())

    def mouseReleaseEvent(self, event):
        self.posMove = None

    def getInformation(self):
        l = []
        if not (len(str(self.http.text()))) or not (len(str(
                self.port.text()))):
            return []
        l.append(str(self.http.text()))
        l.append(str(self.port.text()))
        if len(str(self.user.text())) and len(str(self.passwrd.text())):
            l.append(str(self.user.text()))
            l.append(str(self.passwrd.text()))

        return l

    def setUsername(self, user):
        self.username = user
        l = self.uixml.getProxyInformation(self.username)

        if len(l) == 2:
            self.http.setText(str(l[0]))
            self.port.setText(str(l[1]))
        elif len(l) == 4:
            self.user.setText(str(l[2]))
            self.passwrd.setText(str(l[3]))
        else:
            self.cbox.setChecked(1)
            self.authenticated = 0
            self.user.setReadOnly(1)
            self.passwrd.setReadOnly(1)

    def Authenticate(self, state):
        if state == 2:
            self.authenticated = 0
            self.user.setReadOnly(True)
            self.passwrd.setReadOnly(True)
        else:
            self.authenticated = 1
            self.user.setReadOnly(False)
            self.passwrd.setReadOnly(False)

    def Finalize(self):
        l = []
        if not (len(str(self.http.text()))) or not (len(str(
                self.port.text()))):
            QtGui.QMessageBox.information(self, 'Warning',
                                          'http/port field is empty')
            return

        l.append(str(self.http.text()))
        l.append(str(self.port.text()))

        if self.authenticated:
            if not (len(str(self.user.text()))) or not (len(
                    str(self.passwrd.text()))):
                QtGui.QMessageBox.information(self, 'Warning',
                                              'login/passwrd field is empty')
                return
            else:
                l.append(str(self.user.text()))
                l.append(str(self.passwrd.text()))

        if self.uixml.setProxyInformation(self.username, l):
            QtGui.QMessageBox.information(self, 'Okay', 'Done Successfully')
        self.close()