Example #1
0
 def getspeed(self, pool):
     speed = 0
     for thread in pool.threads:
         #print "%.2f kb/s" %(thread.threadvars['speed']/1024),
         speed += thread.threadvars['speed']
     #print ''
     if self.log:
         lib_func.printstr("%.2f kb/s" % (speed / 1024), "DD:Speed:")
     else:
         pass
Example #2
0
def runjs(js):
    import PyV8
    v8=PyV8.JSContext()
    v8.enter()
    try:
        func=v8.eval(js)
    except Exception:
        lib_func.printstr("Javascript sytia error",2)
        return None
    return func()
Example #3
0
def runjs(js):
    import PyV8
    v8 = PyV8.JSContext()
    v8.enter()
    try:
        func = v8.eval(js)
    except Exception:
        lib_func.printstr("Javascript sytia error", 2)
        return None
    return func()
Example #4
0
 def getspeed(self,pool):
     speed=0
     for thread in pool.threads:
         #print "%.2f kb/s" %(thread.threadvars['speed']/1024),
         speed+=thread.threadvars['speed']
     #print ''
     if self.log:
         lib_func.printstr("%.2f kb/s" %(speed/1024),"DD:Speed:")
     else:
         pass
Example #5
0
def getparasdict(matparas,formats,formatm=[]):
    plist=matparas.split(' ')
    try:
        opts,args=getopt.getopt(plist,formats,formatm)
        pd={}
        for item in opts:
            pd[mystrip(item[0])]=item[1]
        if args and args[0]:
            pd['args']=args
        return pd
    except Exception:
        lib_func.printstr("parameter string is error for you formats",2)
Example #6
0
def getparasdict(matparas, formats, formatm=[]):
    plist = matparas.split(' ')
    try:
        opts, args = getopt.getopt(plist, formats, formatm)
        pd = {}
        for item in opts:
            pd[mystrip(item[0])] = item[1]
        if args and args[0]:
            pd['args'] = args
        return pd
    except Exception:
        lib_func.printstr("parameter string is error for you formats", 2)
Example #7
0
    def getbytes(self,dlinfo,index,fp,threadvar):
        objc=threadvar['objc']
        objs=StringIO.StringIO()
        objc.setopt(pycurl.WRITEFUNCTION, objs.write)
        objc.setopt(pycurl.RANGE,"%d-%d" %(index*dlinfo['block'],(index+1)*dlinfo['block']-1))
        for i in range(3):
            try:
                objc.perform()
                threadvar['speed']=objc.getinfo(pycurl.SPEED_DOWNLOAD)
                self.write2file(objs,dlinfo,index,fp)
                return
            except Exception as e:
                lib_func.printstr(str(e),"DD:Exception:")

        lib_func.printstr("Time out ,can't download",2)
Example #8
0
    def getbytes(self,dlinfo,index,fp,threadvar):
        objc=threadvar['objc']
        objs=StringIO.StringIO()
        objc.setopt(pycurl.WRITEFUNCTION, objs.write)
        objc.setopt(pycurl.RANGE,"%d-%d" %(index*dlinfo['block'],(index+1)*dlinfo['block']-1))
        for i in range(3):
            try:
                objc.perform()
                threadvar['speed']=objc.getinfo(pycurl.SPEED_DOWNLOAD)
                self.write2file(objs,dlinfo,index,fp)
                return
            except Exception as e:
                lib_func.printstr(str(e),"DD:Exception:")

        lib_func.printstr("Time out ,can't download",2)
Example #9
0
 def start(self):
     print self.welcome
     while 1:
         cmds=raw_input(self.prefix)
         cmds=cmds.strip().split(' ',1)
         if cmds[0] in ('exit','quit'):
             break
         func=self.getfunction(cmds[0])
         if len(cmds)>1 and type(func)!=str:
             self.run(func,cmds[1].strip())
         elif len(cmds)==1 and type(func)!=str:
             self.run(func,"")
         else:
             lib_func.printstr("Not exist command in default groups!!!",2)
 
     lib_func.printstr("Interactive is finish")
Example #10
0
    def regcommand(self,cmd,func,msg="No desc msg",sfile="buildins"):
        """plugin sfile must be __file__"""
        if sfile=="buildins":
            sfile=sfile
            group=sfile
        else:
            p,sfile=os.path.split(sfile)
            group=os.path.split(p)[1]
        if cmd and func:
            if self.__cmd.has_key(group):
                if self.__cmd[group].has_key(cmd):
                    lib_func.printstr("You can't reg exist command",2)
                    return -1
                else:
                    self.__cmd[group][cmd]=(func,msg,sfile)
            else:
                self.__cmd[group]=dict()
                self.__cmd[group][cmd]=(func,msg,sfile)

        return 0
Example #11
0
 def download(self,address,savepath,savename="",opts={},thread=1):
     if not address:
         lib_func.printstr("You should input vaild urls",2)
         return
     objc=self.initobjc(opts)
     try:
         finfo=self.getfileinfo(objc,address)
     except Exception as e:
         lib_func.printstr(str(e),"DD:Get ddinfo faile:")
         return
     opts=lib_func.copydict(opts,(pycurl.URL,finfo[0]))
     
     if finfo[1]==0:
         lib_func.printstr("Have error in download",2)
         return
     block=self.getblock(finfo[1])
     fname=savepath+'/'+savename
     dlinfo={'url':finfo[0],'save':fname,'size':finfo[1],'block':block,'status':[0 for i in range(int(math.ceil(float(finfo[1])/block)))]}
     self.printdd(dlinfo)
     f=self.getfp(dlinfo['save'],dlinfo['size'])
     pool=lib_TheardPool2.threadpool(thread,start=False)
     pool.initsubthead(self.initsub,(opts,))
     [pool.addtask(self.getbytes,(dlinfo,i,f))for i in range(len(dlinfo['status']))]
     pool.start()
     pool.waitPoolComplete(self.getspeed)
     f.close()
Example #12
0
 def download(self,address,savepath,savename="",opts={},thread=1):
     if not address:
         lib_func.printstr("You should input vaild urls",2)
         return
     objc=self.initobjc(opts)
     try:
         finfo=self.getfileinfo(objc,address)
     except Exception as e:
         lib_func.printstr(str(e),"DD:Get ddinfo faile:")
         return
     opts=lib_func.copydict(opts,(pycurl.URL,finfo[0]))
     
     if finfo[1]==0:
         lib_func.printstr("Have error in download",2)
         return
     block=self.getblock(finfo[1])
     fname=savepath+'/'+savename
     dlinfo={'url':finfo[0],'save':fname,'size':finfo[1],'block':block,'status':[0 for i in range(int(math.ceil(float(finfo[1])/block)))]}
     self.printdd(dlinfo)
     f=self.getfp(dlinfo['save'],dlinfo['size'])
     pool=lib_TheardPool2.threadpool(thread,start=False)
     pool.initsubthead(self.initsub,(opts,))
     [pool.addtask(self.getbytes,(dlinfo,i,f))for i in range(len(dlinfo['status']))]
     pool.start()
     pool.waitPoolComplete(self.getspeed)
     f.close()
Example #13
0
 def printdd(self, dlinfo):
     lib_func.printstr(dlinfo['url'], "DD:URL:")
     lib_func.printstr(dlinfo['save'], "DD:SAVE:")
     lib_func.printstr(dlinfo['size'], "DD:SIZE:")
Example #14
0
 def run(self,func,paras=""):
     try:
         func(paras)
     except Exception as e:
         lib_func.printstr("have error in %s %s" %(func.__name__,paras),2)
         lib_func.printstr(str(e),"Exception:")
Example #15
0
 def printdd(self, dlinfo):
     lib_func.printstr(dlinfo["url"], "DD:URL:")
     lib_func.printstr(dlinfo["save"], "DD:SAVE:")
     lib_func.printstr(dlinfo["size"], "DD:SIZE:")
Example #16
0
 def printdd(self,dlinfo):
     lib_func.printstr(dlinfo['url'],"DD:URL:")
     lib_func.printstr(dlinfo['save'],"DD:SAVE:")
     lib_func.printstr(dlinfo['size'],"DD:SIZE:")
Example #17
0
 def tivehelp(self,paras):
     """print help msg for you question"""
     try:
         pd=lib_func.getparasdict(paras,'v')
         if not pd:
             for group,dt in self.getcmddict().iteritems():
                 lib_func.printstr(group,'####')
                 for name,cmdmsg in dt.iteritems():
                     print '*'+name,
                 print ''
             return
         if pd.has_key('v'):
             for group,dt in self.getcmddict().iteritems():
                 lib_func.printstr(group,'####')
                 for name,cmdmsg in dt.iteritems():
                     lib_func.printstr("%s\t%s" %(name,cmdmsg[1]),'*')
             return
         if pd.has_key('args') and len(pd['args'])==1:
             lib_func.printstr(self.getfunction(pd['args'][0],tp=2),'SRCFILE:')
             lib_func.printstr(self.getfunction(pd['args'][0],tp=3),'HelpMSG:')
     except Exception:
         lib_func.printstr("You parameter vaild",2)