def __download(self): downloader = Downloader(self.url, self.downloadFile, \ OnlineUpdater.__getModifiedTime(self.recipeFile)) try: retval = downloader.download() finally: downloader.close() return retval
class TorrentCollect(object): def __init__(self): with open("config.yml", 'r') as ymlfile: cfg = yaml.load(ymlfile) self.mail = cfg['email'] def run(self): #cl.open_omxplay_gui() self.Pi = PiMonitor() StopEvent = self.Pi.start() self.bt = Downloader(StopEvent) self.magnetqueue = self.bt.start() self.tran_checker = TransmissionMonitor(StopEvent) self.tran_checker.start() time.sleep(1) self.mailreceiver = MailMonitor(self.magnetqueue, self.mail['white_list'], self.mail['imp4ssl'], self.mail['port'], self.mail['account'], self.mail['password'], StopEvent) self.mailreceiver.start() time.sleep(1) self.webreceiver = WebMonitor(self.magnetqueue, StopEvent) self.webreceiver.start() def close(self): self.webreceiver.close() self.mailreceiver.close() self.pi_checker.close() self.tran_checker.close() self.bt.close() def __del__(self): self.webreceiver.close() self.mailreceiver.close() self.pi_checker.close() self.tran_checker.close() self.bt.close()
class Video: def __init__(self, choice, string): self.choice = choice self.string = string self.check = False self.path = '' self.downloader = Downloader(self.choice) def search(self, popup): self.downloader.launch_youtube() self.downloader.search_youtube(self.string) self.downloader.get_titles() popup.destroy() self.popup = tk.Tk() self.popup.wm_attributes("-topmost", 1) self.popup.wm_title('Video List') self.posX = int(self.popup.winfo_screenwidth() / 2 - WIN_WIDTH / 2) self.posY = int(self.popup.winfo_screenheight() / 2 - WIN_HEIGHT / 2) self.popup.geometry('{}x{}+{}+{}'.format(600, 250, self.posX, self.posY)) self.label = tk.Label(self.popup, text='Choose which one to download!') self.label.place(x=40, y=20) self.Button = [] i = 0 for title in self.downloader.titles: from functools import partial button = tk.Button(self.popup, text=i + 1, command=partial(self.clicked, i), width=3, height=1) self.Button.append(button) self.Button[i].place(x=30, y=50 + i * 30) self.text = tk.Label(self.popup, text=title) self.text.place(x=80, y=50 + i * 30 + 5) i += 1 while True: self.popup.update_idletasks() self.popup.update() if (self.check): self.check = False print('Searching...') break def download(self): self.downloader.find_video(self.path) while True: try: self.downloader.launch_downloader() except: pass if (self.downloader.browser.current_url == 'https://ytmp3.cc/en13/' ): break self.downloader.download() self.downloader.close() def clicked(self, i): self.check = True self.path = "/html/body/ytd-app/div/ytd-page-manager/ytd-search/div[1]/ytd-two-column-search-results-renderer/div/ytd-section-list-renderer/div[2]/ytd-item-section-renderer/div[3]/ytd-video-renderer[{}]".format( i + 1) self.popup.destroy()
""" 根据命令行参数搭建需要的环境 """ envi_type = sys.argv[1] if envi_type == 'vue': node_vue() elif envi_type == 'java': java() elif envi_type == 'all': java() node_vue() ohmyzsh() thefuck() elif envi_type == 'dev': java() node_vue() elif envi_type == 'test': test() else: print('请输入要生成的环境类型') if __name__ == '__main__': try: main() except Exception as e: print(e) finally: # 关闭下载器 downloader.close()
if __name__ == '__main__': obj = loadConfig() dl = Downloader() for company in obj['company']: print('...', end=' ') payload = { 'function': 'TIME_SERIES_INTRADAY', 'interval': obj['interval'], 'symbol': company[0], 'apikey': 'M1PAJKCE6DZUZAUS', 'datatype': obj['datatype'] } pipe = Pipe() new_text = appendCol(clean( pipe.read_from_downloader(text=dl.addParams(payload).bulk())), colname=company[1]) old_text = pipe.read_from_file(filename=company[1], ext=obj['datatype']) pipe.read_from_text(new_text + old_text) pipe.write_to_file(filename=company[1], ext=obj['datatype']) pipe.clear() print('Finish pulling stock data: %s' % company[1]) dl.close()