def resource(): try: res_id = int(alfred.argv(2)) data = fetchSingleResource(res_id) filter_str = alfred.argv(3) files = data['files'] if filter_str: filter_str = filter_str.upper() files = filter(lambda f: filter_str in f['format'], files) if not data: alfred.exitWithFeedback(title='没有找到相关的内容') feedback = alfred.Feedback() feedback.addItem( title = data['title'], subtitle = '{} 个文件,可使用文件类型过滤,选择此项打开资源页面'.format(len(files)), arg = 'open-url {}'.format( b64encode(getResourcePageURLByID(data['id'])) ), icon = alfred.storage.getLocalIfExists(data['img'], True) ) for f in files: f['has_emule'] = '有' if f['emule'] else '无' f['has_magnet'] = '有' if f['magnet'] else '无' subtitle = '类型: {format} 容量: {filesize} 电驴: {has_emule} 磁力链: {has_magnet}'.format(**f) feedback.addItem( title = f['filename'], subtitle = subtitle, valid = False, autocomplete = 'file {},{}'.format(data['id'], f['id']) ) feedback.addItem(item=_fb_return_top) feedback.output() except Exception, e: alfred.exitWithFeedback(item=_fb_no_found_and_return_top)
def search(self): # 搜索字符窜 query = [] argv_pos = 2 while True: arg = alfred.argv(argv_pos) if not arg: break query.append(arg) argv_pos += 1 query = ' '.join(query) if not query: alfred.exitWithFeedback(title='Search Apps in AppShopper') params = {'search': query, 'platform': 'all', 'device': 'all'} # 搜索类型 ios mac cmd = alfred.argv(1).lower() if cmd.endswith('-ios'): params.update(platform='ios') elif cmd.endswith('-mac'): params.update(platform='mac') elif cmd.endswith('-iphone'): params.update(platform='ios', device='iphone') elif cmd.endswith('-ipad'): params.update(platform='ios', device='ipad') query_str = '?{}'.format(urllib.urlencode(params)) url = self.getUrl('search', query_str) success, data = self.fetchDataFromePage(url, False) return self.outputFeedback(success, data)
def search(self): # 搜索字符窜 query = [] argv_pos = 2 while True: arg = alfred.argv(argv_pos) if not arg: break query.append(arg) argv_pos += 1 query = ' '.join(query) if not query: alfred.exitWithFeedback( title = 'Search Apps in AppShopper' ) params = { 'search' : query, 'platform' : 'all', 'device' : 'all' } # 搜索类型 ios mac cmd = alfred.argv(1).lower() if cmd.endswith('-ios'): params.update(platform='ios') elif cmd.endswith('-mac'): params.update(platform='mac') elif cmd.endswith('-iphone'): params.update(platform='ios', device='iphone') elif cmd.endswith('-ipad'): params.update(platform='ios', device='ipad') query_str = '?{}'.format(urllib.urlencode(params)) url = self.getUrl('search', query_str) success, data = self.fetchDataFromePage(url, False) return self.outputFeedback(success, data)
def showAllTasks(self): tasks = self.getTasks() if not tasks: alfred.exitWithFeedback( title="No Task Found", subtitle="if this message is wrong, please try again or clean cache(ds setting - Clean)", ) tasks = self.filterTasks(tasks, alfred.argv(2), alfred.argv(3)) feedback = alfred.Feedback() if not tasks: feedback.addItem(title="No Task Found.") count = 0 for task in tasks: count += 1 feedback.addItem( title="{}. {}".format(count, task["title"]), subtitle=task["desc"], autocomplete=" detail {}".format(task["id"]), valid=False, ) # 暂停所有任务 feedback.addItem(title="Pause All", arg="pause-all-tasks"), # 恢复所有任务 feedback.addItem(title="Resume All", arg="resume-all-tasks"), # 删除所有任务 需确认 feedback.addItem(title="Delete All", autocomplete=" delete-all", valid=False) # 删除所有错误的任务 需确认 feedback.addItem(title="Remove Erroneous Tasks", autocomplete=" remove-erroneous-tasks", valid=False), # 清理所有已完成的任务 feedback.addItem(title="Clear Completed Tasks", arg="clear-completed-tasks"), # 更多操作 feedback.addItem(title="More Actions ...", autocomplete=" more-actions", valid=False) feedback.output()
def setAccount(): usr = alfred.argv(2) pwd = alfred.argv(3) if not usr or not pwd: alfred.exit('信息不完整。') alfred.config.set(usr=usr, pwd=pwd) if yyets.login(): alfred.exit('账户信息已保存,并成功登陆。') alfred.exit('账户信息已保存,但尝试登陆失败。')
def postRecord(to_save): com_code = alfred.argv(2) post_id = alfred.argv(3) if com_code is None or post_id is None: alfred.exit('出错了,参数错误。') if to_save: express.savePost(com_code, post_id) else: express.delPost(com_code, post_id) alfred.exit('运单 {} 已{}'.format(post_id, '保存' if to_save else '删除'))
def showAllTasks(self): tasks = self.getTasks() if not tasks: alfred.exitWithFeedback(title='No Task Found', subtitle='if this message is wrong, please try again or clean cache(ds setting - Clean)') tasks = self.filterTasks(tasks, alfred.argv(2), alfred.argv(3)) feedback = alfred.Feedback() if not tasks: feedback.addItem( title = 'No Task Found.' ) count = 0 for task in tasks: count += 1 feedback.addItem( title = '{}. {}'.format(count, task['title']), subtitle = task['desc'], autocomplete = ' detail {}'.format(task['id']), valid = False ) # 暂停所有任务 feedback.addItem( title = 'Pause All', arg = 'pause-all-tasks' ), # 恢复所有任务 feedback.addItem( title = 'Resume All', arg = 'resume-all-tasks' ), # 删除所有任务 需确认 feedback.addItem( title = 'Delete All', autocomplete = ' delete-all', valid = False ) # 删除所有错误的任务 需确认 feedback.addItem( title = 'Remove Erroneous Tasks', autocomplete = ' remove-erroneous-tasks', valid = False ), # 清理所有已完成的任务 feedback.addItem( title = 'Clear Completed Tasks', arg = 'clear-completed-tasks' ), # 更多操作 feedback.addItem( title = 'More Actions ...', autocomplete = ' more-actions', valid = False ) feedback.output()
def setAccount(): usr = alfred.argv(2) pwd = alfred.argv(3) if not usr or not pwd: alfred.exit('信息不完整。') alfred.config.set( usr = usr, pwd = pwd ) if yyets.login(): alfred.exit('账户信息已保存,并成功登陆。') alfred.exit('账户信息已保存,但尝试登陆失败。')
def setting(): usr = alfred.argv(2) pwd = alfred.argv(3) info = '' if usr: info = '用户名: {} 密码: {}'.format(usr, pwd) elif alfred.config.get('usr'): info = '现有设置: 用户名: {} 密码: ********'.format(alfred.config.get('usr')) feedback = alfred.Feedback() feedback.addItem(title='{}用户名和密码'.format('修改' if isLogined() else '设置'), subtitle='格式:用户名 密码 {}'.format(info), arg='account-setting {} {}'.format(usr, pwd)) feedback.output()
def setting(): usr = alfred.argv(2) pwd = alfred.argv(3) info = '' if usr: info = '用户名: {} 密码: {}'.format(usr, pwd) elif alfred.config.get('usr'): info = '现有设置: 用户名: {} 密码: ********'.format(alfred.config.get('usr')) feedback = alfred.Feedback() feedback.addItem( title = '{}用户名和密码'.format('修改' if isLogined() else '设置'), subtitle = '格式:用户名 密码 {}'.format(info), arg = 'account-setting {} {}'.format(usr, pwd) ) feedback.output()
def query(): arg1 = alfred.argv(1) arg2 = alfred.argv(2) post_id = arg2 if arg2 else arg1 com_codes = arg1 if arg2 else None # 如果只有快递单号 没有公司代码 先自动检测获得公司代码 com_codes = [surmiseCompanyCode(com_codes)] if com_codes is not None else queryCompanyCodeByPostID(post_id) if not com_codes: alfred.exitWithFeedback(title='没有找到相关的快递信息') # 只有一个公司符合 直接给出结果 if len(com_codes) == 1: showSingle(com_codes[0], post_id) # 如果有多个 则列出公司列表 else: showRecommendCompany(com_codes, post_id)
def run(self): arg1 = alfred.argv(1) # version or page arg2 = alfred.argv(2) # Would be the page if using a version arg3 = alfred.argv(3) # Could be a property or method only ver = None page = '' search = None # Parse args to figure out which page this is. if not arg1: return self.showDefaultList() arg1 = arg1.lower() if arg1.replace(".","").isdigit(): ver = arg1 if arg2 is not None: page = arg2.lower() if arg3 is not None: search = arg3.lower() else: page = arg1 if arg2 is not None: search = arg2.lower() # Make the URL for the all page, whether it is version specific or not. url = 'http://nodejs.org/' if ver is not None: url = url + 'docs/' + 'v0.' + ver + '/' url = url + "api/" + page + ".html" # Begin feedback loop feedback = alfred.Feedback() if not search: feedback.addItem(title='Table of Contents', subtitle=page + ' toc', arg=url + '#toc') success, data = self.getTocOfPage(url) if not success: alfred.exitWithFeedback(title=data) for item in data: if not search or (search is not None and item['name'].lower().find(search) > -1 ): feedback.addItem(title=item['name'], subtitle=item['subtitle'], arg= url + item['link']) feedback.output()
def setServerConfig(self): key = alfred.argv(2) value = alfred.argv(3) if not key or not value: self.exit('arguments error', False) data = {key:value} success, data = self.ds.sendConfig(data) alfred.cache.delete('dsconfig') success_msg = { 'emule_enabled' : 'eMule enabled.' if value == 'true' else 'eMule disabled.' } if success: if key in success_msg.keys(): self.exit(success_msg[key]) self.exit('set server config {}={} success.'.format(key, value)) self.exit('set server config {}={} failed.'.format(key, value))
def openURL(): try: page = b64decode(alfred.argv(2)) subprocess.check_output('open "{}"'.format(page), shell=True) except Exception, e: alfred.log(e) alfred.exit('出错啦')
def run(self): cmd = alfred.argv(1) if not cmd: return self.showDefaultList() cmd = cmd.lower() for page in default_pages: if cmd == page['cmd']: url = self.getUrl(page['page']) self.showAppsFromPage(url) alfred.exit() self.tryShowMoreApps() if cmd.startswith('search'): cmd = 'search' if cmd.startswith('more-apps-'): cmd = 'more-apps' cmd_map = { 'search': lambda: self.search(), 'wishlist': lambda: self.showWishList(), 'setting': lambda: self.showSettings(), 'more-apps': lambda: self.showMoreApps(), 'change-country': lambda: self.showCountries() } if cmd in cmd_map.keys(): return cmd_map[cmd]() return self.showDefaultList()
def setServerConfig(self): key = alfred.argv(2) value = alfred.argv(3) if not key or not value: self.exit('arguments error', False) data = {key:value} success, data = self.ds.sendConfig(data) self.cache.delete('dsconfig') success_msg = { 'emule_enabled' : 'eMule enabled.' if value == 'true' else 'eMule disabled.' } if success: if key in success_msg.keys(): self.exit(success_msg[key]) self.exit('set server config {}={} success.'.format(key, value)) self.exit('set server config {}={} failed.'.format(key, value))
def todayFile(): if not isLogined(): alfred.exitWithFeedback(item=_fb_no_logined()) try: item_id = alfred.argv(2) res_id = item_id.split('-')[0] item = {} for item in fetchTodayItems(): if item.get('id') == item_id: break if not item: alfred.exitWithFeedback(item=_fb_no_found()) feedback = alfred.Feedback() feedback.addItem( title=item['filename'], subtitle= '类别: {type} 格式: {format} 容量: {filesize} 日期: {update_date} 这里可访问资源文件列表' .format(**item), valid=False, autocomplete='resource {}'.format(res_id)) feedback = fileDownloadFeedback(feedback, res_id, item['emule'], item['magnet'], item['baidu']) feedback.addItem(item=_fb_return()) feedback.output() except Exception, e: alfred.exitWithFeedback(item=_fb_no_found())
def changeCountry(): sub = alfred.argv(2) if not sub or sub not in country_currency.keys(): return alfred.config.set(country=sub) alfred.cache.clean() alfred.exit('Country/Currency has changed to {}.'.format(country_currency[sub]))
def toggleAppIconShowing(): sub = alfred.argv(2) if not sub or sub not in ['enable', 'disable']: alfred.exit('argument error') v = True if sub=='enable' else False alfred.config.set(app_icon_show = v) alfred.exit('App Icon Showing {}'.format('Enabled' if v else 'Disabled'))
def showTaskDetail(self): task = self.getSingleTask(alfred.argv(3)) if not task: alfred.exitWithFeedback(title="ERROR", subtitle="No Task Found.") feedback = alfred.Feedback() # 任务标题 feedback.addItem( title=task["title"], subtitle=task["desc"], autocomplete=" detail {id}".format(**task), # 参数与现有相同 即无任何反应 valid=False, ) status = task["status"] # 状态为 '等待'、'下载中' 显示暂停操作 if status in ["waiting", "downloading"]: feedback.addItem(title="Pause", arg="pause-task {id}".format(**task)) # 状态为 '暂停' 显示 恢复操作 if status in ["paused"]: feedback.addItem(title="Resume", arg="resume-task {id}".format(**task)) # 状态为 '完成' 显示 清理操作 if status in ["finished"]: feedback.addItem(title="Clear", arg="delete-task {id}".format(**task)) # 实际上就是删除已完成的任务 # 只有状态不是 '完成'、'完成中'才显示 删除操作 if status not in ["finished", "finishing"]: feedback.addItem(title="Delete", autocomplete=" delete {id}".format(**task), valid=False) feedback.addItem(title="Show all", autocomplete="", valid=False) feedback.output()
def run(self): cmd = alfred.argv(1) if not cmd: return self.showDefaultList() cmd = cmd.lower() for page in default_pages: if cmd == page['cmd']: url = self.getUrl(page['page']) self.showAppsFromPage(url) alfred.exit() self.tryShowMoreApps() if cmd.startswith('search'): cmd = 'search' if cmd.startswith('more-apps-'): cmd = 'more-apps' cmd_map = { 'search' : lambda: self.search(), 'wishlist' : lambda: self.showWishList(), 'setting' : lambda: self.showSettings(), 'more-apps' : lambda: self.showMoreApps(), 'change-country' : lambda: self.showCountries() } if cmd in cmd_map.keys(): return cmd_map[cmd]() return self.showDefaultList()
def main(): cmds = {"setting": lambda: DSSetting().run(), "status": lambda: DSStatus().run(), "task": lambda: DSTask().run()} # fork一个进程进行缓存 forkCacheProcess() subcmd = alfred.argv(1) if subcmd and subcmd.lower() in cmds.keys(): cmds[subcmd.lower()]()
def downloadWithDS(): try: link = b64decode(alfred.argv(2)) alfred.query('ds create {}'.format(link)) except Exception, e: alfred.log(e) alfred.exit('出错啦')
def search(self): title = alfred.argv(2) artist = alfred.argv(3) if title is None: self.outputiTunesPlayingSong() res, data = self.fetchLyricList(title, artist) if not res: alfred.exitWithFeedback( title=data, subtitle= "Format: lrc TITLE ARTIST e.g. lrc 'Heal The World' 'Michael Jackson'" ) feedback = alfred.Feedback() for lrc in data: feedback.addItem(title='{artist} - {title}'.format(**lrc), arg=lrc['id']) feedback.output()
def main(): cmd_map = { 'toggle-fav' : lambda: toggleFavChannel() } cmd = alfred.argv(1) if not cmd or cmd.lower() not in cmd_map.keys(): return cmd_map[cmd.lower()]()
def showRemarkSetting(): try: _, com_code, post_id = alfred.argv(1).split('-') except Exception, e: alfred.exitWithFeedback(title='参数格式错误。', subtitle='选择返回', valid=False, autocomplete='')
def openLink(): try: links = alfred.argv(2).strip().split(',') open_store_link = alfred.config.get('open_store_link', True) link = links[0] if open_store_link else links[1] subprocess.check_output(['open', link]) except Exception, e: alfred.exit('something error.')
def query(): arg1 = alfred.argv(1) arg2 = alfred.argv(2) post_id = arg2 if arg2 else arg1 com_codes = arg1 if arg2 else None # 如果只有快递单号 没有公司代码 先自动检测获得公司代码 com_codes = [ surmiseCompanyCode(com_codes) ] if com_codes is not None else queryCompanyCodeByPostID(post_id) if not com_codes: alfred.exitWithFeedback(title='没有找到相关的快递信息') # 只有一个公司符合 直接给出结果 if len(com_codes) == 1: showSingle(com_codes[0], post_id) # 如果有多个 则列出公司列表 else: showRecommendCompany(com_codes, post_id)
def createTask(self): link = alfred.argv(2) if not link: self.exit('arguments error') link = base64.b64decode(link) success, res = self.ds.createTask(link) if success: self.exit('Create task success') self.exit('Create task failed: {}'.format(res))
def showCountries(self): q = alfred.argv(2) feedback = alfred.Feedback() for k, v in country_currency.iteritems(): if q and not q.lower() in v.lower(): continue feedback.addItem(title=v, arg='change-country {}'.format(k)) feedback.items.sort(key=lambda i: i.content['title'].lower()) feedback.output()
def search(self): title = alfred.argv(2) artist = alfred.argv(3) if title is None: self.outputiTunesPlayingSong() res, data = self.fetchLyricList(title, artist) if not res: alfred.exitWithFeedback( title = data, subtitle = "Format: lrc TITLE ARTIST e.g. lrc 'Heal The World' 'Michael Jackson'" ) feedback = alfred.Feedback() for lrc in data: feedback.addItem( title = '{artist} - {title}'.format(**lrc), arg = lrc['id'] ) feedback.output()
def main(): cmd = alfred.argv(1) for toggle in TOGGLES: if toggle['arg'] == cmd: return toggle['cmd']() feedback = alfred.Feedback() for toggle in TOGGLES: feedback.addItem(**toggle) feedback.output()
def run(self): cmd = alfred.argv(1) if not cmd: self.exit() cmd = cmd.lower() if cmd not in self.cmds.keys(): self.exit('action is missing. {}'.format(cmd)) # 进行操作前等待缓存进程 waitCacheProcess() self.cmds[cmd]()
def main(): cmds = { 'open-url' : lambda: openURL(), 'copy-to-clipboard' : lambda: copyToClipboard(), 'download-with-ds' : lambda: downloadWithDS() } cmd = alfred.argv(1) if not cmd or cmd.lower() not in cmds.keys(): alfred.exit('出错啦') cmds[cmd]();
def run(self): cmd = alfred.argv(1) if not cmd: return try: delay = float(alfred.argv(2)) time.sleep(delay) except: pass caching = '{}-caching'.format(cmd) # 检查caching if alfred.cache.get(caching): return alfred.cache.set(caching, True, 10) try: cmd = cmd.lower() if cmd in self.cmds.keys(): self.cmds[cmd]() except Exception, e: pass
def showMoreApps(self): sub = alfred.argv(1) t = sub[10:].lower() if t not in more_apps_page_type.keys(): self.exitWithFeedback(title='Nothing found') feedback = alfred.Feedback() for item in more_apps_pages: title = item['title'].format(**more_apps_page_type[t]) cmd = '-'.join(title.lower().split(' ')) feedback.addItem(title=title, autocomplete=cmd, valid=False) feedback.output()
def copyToClipboard(): try: word = b64decode(alfred.argv(2)) pb = NSPasteboard.generalPasteboard() pb.clearContents() a = NSArray.arrayWithObject_(word) pb.writeObjects_(a) alfred.exit('已拷贝地址到剪切板') except Exception, e: alfred.log(e) alfred.exit('出错啦')
def main(): cmds = { 'setting' : lambda: DSSetting().run(), 'status' : lambda: DSStatus().run(), 'task' : lambda: DSTask().run() } # fork一个进程进行缓存 forkCacheProcess() subcmd = alfred.argv(1) if subcmd and subcmd.lower() in cmds.keys(): cmds[subcmd.lower()]()
def main(): cmd_map = { 'live' : lambda: showLive(), 'epg' : lambda: showEPG(), 'fav' : lambda: showEPG(), 'all' : lambda: showAllChannles(), } cmd = alfred.argv(1) if not cmd or cmd.lower() not in cmd_map.keys(): cmd = 'live' cmd_map[cmd.lower()]()
def resource(): try: res_id = int(alfred.argv(2)) data = fetchSingleResource(res_id) files = data.get('files', []) files = filterItems(alfred.argv(3), files) if not data: alfred.exitWithFeedback(item=_fb_no_found) feedback = alfred.Feedback() feedback.addItem( title=data['title'], subtitle= '{} 个文件,可使用`文件名,格式`过滤,如:`s09` `,mp4` `s01e08,hdtv`,选择此项打开资源页面'. format(len(files)), arg='open-url {}'.format( b64encode(getResourcePageURLByID(data['id']))), icon=alfred.storage.getLocalIfExists(data['img'], True)) files_ids = [] for f in files: files_ids.append(f['id']) f.update(**parseDownloadHas(f)) subtitle = '类型: {format} 容量: {filesize} 电驴: {has_emule} 磁力链: {has_magnet} 百度盘: {has_baidu}'.format( **f) feedback.addItem( title=f['filename'], subtitle=subtitle, valid=False, autocomplete='file {},{}'.format(data['id'], f['id']), icon=alfred.storage.getLocalIfExists(data['img'], True)) if len(files_ids) > 1: feedback.addItem( title='所有文件', subtitle='对当前的所有文件进行批量处理', valid=False, autocomplete='file {},{}'.format(data['id'], ','.join(files_ids)), icon=alfred.storage.getLocalIfExists(data['img'], True)) feedback.addItem(item=_fb_return()) feedback.output() except Exception, e: alfred.exitWithFeedback(item=_fb_no_found())
def showSettings(self): sub = alfred.argv(2) if sub == 'username': usr = alfred.argv(3) if alfred.argv(3) else '' old_usr = alfred.config.get('username') if alfred.config.get('username') else '' alfred.exitWithFeedback( title = 'Set AppShopper username', subtitle = 'new uername is {}, current: {}'.format(usr, old_usr), arg = 'set-username {}'.format(usr) ) feedback = alfred.Feedback() feedback.addItem( title = 'Set AppShopper Username', subtitle = 'you MUST config this if you want to see your wish list.', autocomplete = 'setting username ', valid = False ) feedback.addItem( title = 'Clean', subtitle = 'clear all cache', arg = 'clean' ) feedback.addItem( title = 'Change Country/Currency', subtitle = 'current: {}'.format( self.getContryDesc() ), autocomplete = 'change-country ', valid = False ) title = '{} App Icon Showing'.format('Enable' if not self.enable_appiconshow else 'Disable') feedback.addItem( title = title, subtitle = 'enable may take more time to fetch data.', arg = 'app-icon-showing {}'.format('enable' if not self.enable_appiconshow else 'disable') ) open_store_link = alfred.config.get('open_store_link', True) feedback.addItem( title = 'Open iTunes link or Appshopper link?', subtitle = 'current: {} link. select this item to change.'.format('iTunes' if open_store_link else 'Appshopper'), arg = 'switch-link-open-type' ) feedback.output()
def createTask(self): if not alfred.argv(3): alfred.exitWithFeedback(title='ERROR', subtitle='No TasK Found.') feedback = alfred.Feedback() tasks = util.parseURIInfo(alfred.argv(3)) if len(tasks) > 1: urls = [] for task in tasks: urls.append(task['original']) feedback.addItem( title = 'Create All', subtitle = 'find {} links'.format(len(tasks)), arg = 'create-task {}'.format(base64.b64encode(','.join(urls))) ) for task in tasks: feedback.addItem( title = task['original'], subtitle = 'Title: {filename:5} Size: {filesize}'.format(**task), arg = 'create-task {}'.format(base64.b64encode(task['original'])) ) feedback.output()
def authorize(self): usr = alfred.argv(3) pwd = alfred.argv(4) host = alfred.argv(5) feedback = alfred.Feedback() title = 'Login Information' if usr and pwd and host: feedback.addItem( title = title, subtitle = 'usr: {} pwd: {} dsm_url: {}'.format(usr, pwd, host), arg = 'authorize {} {} {}'.format(usr, pwd, host) ) else: feedback.addItem( title = title, subtitle = 'e.g. my_username my_password https://my_ds_ip_address_or_ddns_hostname:5001' , autocomplete = '', valid = False ) feedback.output()
def authorize(self): usr = alfred.argv(3) pwd = alfred.argv(4) host = alfred.argv(5) feedback = alfred.Feedback() title = "Login Information" if usr and pwd and host: feedback.addItem( title=title, subtitle="usr: {} pwd: {} dsm_url: {}".format(usr, pwd, host), arg="authorize {} {} {}".format(usr, pwd, host), ) else: feedback.addItem( title=title, subtitle="e.g. my_username my_password https://my_ds_ip_address_or_ddns_hostname:5001", autocomplete="", valid=False, ) feedback.output()
def createTask(self): if not alfred.argv(3): alfred.exitWithFeedback(title="ERROR", subtitle="No TasK Found.") feedback = alfred.Feedback() tasks = util.parseURIInfo(alfred.argv(3)) if len(tasks) > 1: urls = [] for task in tasks: urls.append(task["original"]) feedback.addItem( title="Create All", subtitle="find {} links".format(len(tasks)), arg="create-task {}".format(base64.b64encode(",".join(urls))), ) for task in tasks: feedback.addItem( title=task["original"], subtitle="Title: {filename:5} Size: {filesize}".format(**task), arg="create-task {}".format(base64.b64encode(task["original"])), ) feedback.output()