def get_recent_posts(url):
    cookie = cookielib.CookieJar()
    handler = urllib2.HTTPCookieProcessor(cookie)
    opener = urllib2.build_opener(handler)
    response1 = opener.open(fullurl=url)
    source = response1.read()
    
    pre_url = 'https://arxiv.org'
    
    soup = BeautifulSoup(source, "lxml")
    precc = soup.find(id="dlpage")
    paper_list = precc.find_all('div',{'class':re.compile('list-title')})
    link_list = precc.find_all('a',{'title':re.compile('Download PDF')})
    
    
    
    
    feedback = alfred.Feedback()
    dd = min(len(paper_list),9)
    for i in range(dd):
        link = pre_url+link_list[i].get("href")
        name = paper_list[i].get_text()[7:]
        feedback.addItem(
                title=name,
                subtitle='press enter to enter this class',
                arg=link,
                autocomplete=link,
                icontype='filicon',
                icon="mood.png"
        )
    feedback.output()
Exemplo n.º 2
0
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())
Exemplo n.º 3
0
def menu():
    feedback = alfred.Feedback()
    feedback.addItem(
        title           = '人人影视 24小时热门资源',
        subtitle        = '最近24小时的热门排行',
        autocomplete    = 'top',
        valid           = False
    )
    feedback.addItem(
        title           = '人人影视 今日更新的文件',
        subtitle        = '也包括昨日与前日更新的文件,可使用格式名称过滤文件,如hdtv, mp4, 1080p等',
        autocomplete    = 'today ',
        valid           = False
    )
    feedback.addItem(
        title           = '人人影视 最近更新的资源',
        subtitle        = '可使用movie, tv, documentary, openclass, topic过滤相应的资源',
        autocomplete    = 'recent ',
        valid           = False
    )
    feedback.addItem(
        title           = '人人影视 资源搜索...',
        subtitle        = '',
        autocomplete    = 'search ',
        valid           = False
    )
    feedback.output()
Exemplo n.º 4
0
def list_updates():
    """Displays all available updates"""
    workflows = get_updateable()
    feedback = alfred.Feedback()
    # if we have at least one item with updates
    valid_updates = [
        w for w in workflows if w['has_update'] and not w['has_check_errors']
    ]
    if len(valid_updates) > 0:
        feedback.addItem(title='Download', valid='yes', arg='download-all')
    for w in workflows:
        if w['has_update'] and not w['has_check_errors']:
            subtitle = 'v' + str(w['version']) + u' ➔ ' + str(
                w['update']['version']) + ' ' + w['update']['description']
            feedback.addItem(title=w['name'],
                             subtitle=subtitle,
                             icon=w['icon'],
                             arg='download "%s"' % w['dirname'])
        elif w['has_check_errors']:
            feedback.addItem(title=w['name'],
                             subtitle=w['error'],
                             icon='bad.png',
                             valid='no',
                             arg=w['dirname'])
    if feedback.isEmpty():
        feedback.addItem(title='All your workflows are up to date',
                         valid='no',
                         icon='uptodate.png',
                         autocomplete='')
    else:
        feedback.addItem(title='Go back',
                         valid='no',
                         icon='back.png',
                         autocomplete='')
    feedback.output()
Exemplo n.º 5
0
def showRecommendCompany(recommend_com_codes, post_id):
    feedback = alfred.Feedback()
    recommend_com = []
    for code in recommend_com_codes:
        com = getCompany(code)
        if com:
            recommend_com.append(com)
    # 找到推荐的快递公司
    if recommend_com:
        feedback.addItem(title='根据运单号找到下列可能的快递公司,请选择:',
                         icon=os.path.abspath('./icon-info.png'),
                         valid=False)
        map(
            lambda c: feedback.addItem(title=c['companyname'],
                                       subtitle=c['freginfo'],
                                       valid=False,
                                       autocomplete='{} {}'.format(
                                           c['code'], post_id)), recommend_com)
    # 其它所有快递公司
    feedback.addItem(title='{},请在下列中选择:'.format(
        '如果不存在于上述快递公司之中' if recommend_com else '根据运单号没有找到符合的快递公司'),
                     icon=os.path.abspath('./icon-info.png'),
                     valid=False)
    for com in getCompany():
        if com in recommend_com:
            continue
        feedback.addItem(title=com['companyname'],
                         subtitle=com['freginfo'],
                         valid=False,
                         autocomplete='{} {}'.format(com['code'], post_id))
    feedback.output()
Exemplo n.º 6
0
def menu():
    feedback = alfred.Feedback()
    feedback.addItem(
        title           = '人人影视 24小时热门资源',
        subtitle        = '最近24小时的热门排行',
        autocomplete    = 'top',
        valid           = False
    )
    if isLogined():
        feedback.addItem(
            title           = '人人影视 今日更新的文件',
            subtitle        = '若今天尚无文件,则显示前一天,可使用`文件名,格式`过滤,如:`s09` `,mp4` `s01e08,hdtv`',
            autocomplete    = 'today ',
            valid           = False
        )
    feedback.addItem(
        title           = '人人影视 最近更新的资源',
        subtitle        = '可使用movie, tv, documentary, openclass, topic过滤相应的资源',
        autocomplete    = 'recent ',
        valid           = False
    )
    feedback.addItem(
        title           = '人人影视 资源搜索...',
        subtitle        = '',
        autocomplete    = 'search ',
        valid           = False
    )

    feedback.addItem(
        title           = '{}用户名和密码'.format('修改' if isLogined() else '设置'),
        subtitle        = '{}查看今日更新文件或某些有版权问题需要,仅支持用户名方式登陆'.format('已设置并成功登陆,' if isLogined() else ' '),
        valid           = False,
        autocomplete    = 'setting '
    )
    feedback.output()
Exemplo n.º 7
0
def showSaved():
    post = alfred.config.get('post')
    feedback = alfred.Feedback()
    has_checked = False
    if post:
        for p in post[::-1]:
            q = querySingle(p['com_code'], p['post_id'])
            if q.get('checked', False):
                has_checked = True
            item = {}
            item.update(title='{} {} {}'.format(
                getCompany(p['com_code'], 'companyname'), p['post_id'],
                p.get('remark', '')),
                        icon=getComponyLogo(p['com_code']),
                        valid=False,
                        autocomplete='{} {}'.format(p['com_code'],
                                                    p['post_id']))
            if q.get('success'):
                item['subtitle'] = '{time} {content}'.format(**q['trace'][0])
            else:
                item['subtitle'] = '{} 暂时没有记录,运单号不存在、未记录或已经过期。'.format(
                    formatTimestamp(q['last_update']))
            feedback.addItem(**item)
        # 有已签收的
        if has_checked:
            feedback.addItem(title='清除所有已签收的运单?', arg='clear-checked-post')
    else:
        feedback.addItem(
            title='国内快递查询',
            subtitle='直接使用运单号,如:904080779005,快递公司+运单号,如:顺风 904080779005',
            valid=False)
    feedback.output()
def get_recent_posts():
    cookie = cookielib.CookieJar()
    handler = urllib2.HTTPCookieProcessor(cookie)
    opener = urllib2.build_opener(handler)
    url_old = 'http://218.94.159.99/login/index.php'
    data ="username=151250145%40smail.nju.edu.cn&password=#######&rememberusername=1&anchor="
    # url_new ="http://218.94.159.99/course/view.php?id=7"
    response1 = opener.open(fullurl=url_old,data=data)
    # del response1
    # response2 =opener.open(url_new)
    source = response1.read()
    # print source

    soup = BeautifulSoup(source, "lxml")
    precc = soup.find(id="region-main")
    course_list = precc.find_all("a")[1:]
    # print course_list
    feedback = alfred.Feedback()

    for course in course_list:
       link = course.get("href")
       name = course.get("title")
       feedback.addItem(
           title=name,
           subtitle='press enter to enter this class',
           arg=link,
           autocomplete=link,
           icontype='filicon',
           icon="mood.png"
       )
    feedback.output()
Exemplo n.º 9
0
def showLive():
    favs = getFavChannels()
    if not favs: alfred.exit()
    feedback = alfred.Feedback()
    for channel in favs:
        chl_title = getChannelTitle(channel)
        if not chl_title:
            continue
        cur, next = getCurrentAndNextProgram(channel)
        title = '{}'.format(chl_title)
        if cur:
            title = '{} 正在播放: {}'.format(chl_title, cur['show'])
        subtitle = ''
        if next:
            subtitle = '下一个节目: {time} {show}'.format(**next)
        feedback.addItem(
            title           = title,
            subtitle        = subtitle,
            autocomplete    = 'epg {}'.format(channel),
            valid           = False
            )
    feedback.addItem(
        title               = '显示所有电视频道',
        autocomplete        = 'all',
        valid               = False
        )
    feedback.addItem(
        title               = '显示收藏的电视频道',
        autocomplete        = 'fav',
        valid               = False
        )
    feedback.output()
Exemplo n.º 10
0
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)
Exemplo n.º 11
0
def display_top10():
  fb = alfred.Feedback()

  items = get_top10()
  for item in items:
    fb.addItem(title=item['title'], subtitle=item['since'], arg=item['link'])

  fb.output()
Exemplo n.º 12
0
def display(items):
    fb = alfred.Feedback()

    for item in items:
        fb.addItem(title=item['title'],
                   subtitle=item['subtitle'],
                   arg=item['link'])
    fb.output()
Exemplo n.º 13
0
 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()
Exemplo n.º 14
0
 def run(self):
     url = sys.argv[1]
     res = self.parse(url)
     feedback = alfred.Feedback()
     feedback.addItem(
         title       = res['real'],
         subtitle    = '{} {} {}'.format(self.getTypeDesc(res['type']), res['filename'], res['filesize']),
         arg         = res['real']
         )
     feedback.output()
Exemplo n.º 15
0
def search(query):
    workflows = get_cache()
    workflows = [w for w in workflows if filter(w, query) == True]
    feedback = alfred.Feedback()
    for w in workflows:
        feedback.addItem(title=w['name'],
                         subtitle=w['version'] + w['author'] + ', ' +
                         w['description'],
                         arg=w['download'])
    feedback.output()
Exemplo n.º 16
0
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()
Exemplo n.º 17
0
    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()
Exemplo n.º 18
0
 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()
Exemplo n.º 19
0
def showDevices():
    data = accessTabs()
    feedback = alfred.Feedback()
    for k in data['values'].keys():
        d = data['values'][k]['value']
        tabs_count = len(d.get('Tabs', {}))
        feedback.addItem(title=d['DeviceName'],
                         subtitle='{} tabs. last modified: {}'.format(
                             tabs_count, d['LastModified']),
                         valid=False,
                         autocomplete=d['DeviceName'])
    feedback.output()
Exemplo n.º 20
0
def showSingle(com_code, post_id):
    data = querySingle(com_code, post_id)
    post_info = '{} {}'.format(getCompany(com_code, 'companyname'), post_id)
    feedback = alfred.Feedback()
    if not data.get('success'):
        feedback.addItem(title='查询失败: {}'.format(post_info),
                         subtitle='{} {}'.format(
                             formatTimestamp(data['last_update']),
                             data.get('last_message', '')),
                         icon=os.path.abspath('./icon-error.png'),
                         valid=False)
    else:
        # 查询成功 自动保存运单方便下次查询
        savePost(com_code, post_id)
        post = getStoredPost(com_code, post_id)
        remark = post.get('remark', '')
        last_update_info = '' if data.get(
            'last_success') else '本次查询失败,下面显示的是先前的查询结果。'
        update_info = '已签收 ' if data['checked'] else last_update_info
        feedback.addItem(title='{} {}'.format(post_info, remark),
                         subtitle='最后查询: {} {}'.format(
                             formatTimestamp(data['last_update']),
                             update_info),
                         icon=getComponyLogo(com_code),
                         valid=False)
        count = len(data['trace'])
        for t in data['trace']:
            feedback.addItem(title='{:02d}. {}'.format(count, t['content']),
                             subtitle=t['time'],
                             valid=False)
            count = count - 1
    # 运单是否保存
    stored = isPostStored(com_code, post_id)
    # 已保存的 可添加或修改备注
    if stored:
        post = getStoredPost(com_code, post_id)
        remark = post.get('remark')
        remark = '当前备注: {}'.format(remark) if remark else '运单当前尚无备注信息。'
        feedback.addItem(title='设置或修改备注',
                         subtitle=remark,
                         icon=os.path.abspath('./icon-info.png'),
                         valid=False,
                         autocomplete='remark-{}-{} '.format(
                             com_code, post_id))
    feedback.addItem(title='该运单已被保存,删除运单记录?' if stored else '依然保存运单记录?',
                     subtitle='保存的运单可方便后续跟踪,查询成功的运单将被自动保存。',
                     icon=os.path.abspath(
                         './icon-del.png' if stored else './icon-save.png'),
                     arg='{} {} {}'.format(
                         'del-post' if stored else 'save-post', com_code,
                         post_id))
    feedback.addItem(item=_fb_return())
    feedback.output()
Exemplo n.º 21
0
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()
Exemplo n.º 22
0
def show_options():
    """Displays initial options"""
    feedback = alfred.Feedback()
    feedback.addItem(title='List compatible workflows',
                     autocomplete='list',
                     valid='no')
    feedback.addItem(title='Check for updates',
                     subtitle='This may take a while...'
                     if get_updateable_timeout() <= 10.0 else '',
                     autocomplete='update',
                     valid='no')
    feedback.addItem(title='Reset cache', autocomplete='reset', valid='no')
    feedback.addItem(title='View log', autocomplete='log', valid='no')
    feedback.output()
Exemplo n.º 23
0
def main():
    import alfred
    url = sys.argv[1]
    if not url:
        alfred.exitWithFeedback(title='UNKNOWN')
    rdl = RealDownloadLink()
    res = rdl.parse(url)
    feedback = alfred.Feedback()
    res.update({'type_desc': rdlTypeToDesc(res['type'])})
    feedback.addItem(
        title=res['real'],
        subtitle='{type_desc} {filename} {filesize}'.format(**res),
        arg=res['real'])
    feedback.output()
Exemplo n.º 24
0
def showEPG():
    channel = alfred.argv(2)
    if channel:
        return showChannleEPG(channel)
    favs = getFavChannels()
    if not favs: alfred.exitWithFeedback(title='你还没有收藏的频道')
    feedback = alfred.Feedback()
    for chl_id in favs:
        current, next = getCurrentAndNextProgram(chl_id)
        subtitle = '正在播放: {show}'.format(**current) if current else ''
        feedback.addItem(title=getChannelTitle(chl_id),
                         subtitle=subtitle,
                         arg=chl_id,
                         autocomplete='epg {}'.format(chl_id),
                         valid=False)
    feedback.output()
Exemplo n.º 25
0
def showChannleEPG(channel):
    chl_title = getChannelTitle(channel)
    if not chl_title: alfred.exitWithFeedback(title='未找到频道信息')
    schedules = fetchChannelEPGToday(channel)
    if not schedules: alfred.exitWithFeedback(title='未找到频道的节目单')
    feedback = alfred.Feedback()
    date_str = datetime.now().strftime('%Y-%m-%d')
    now_time = datetime.now().strftime('%H:%M')
    is_faved = isChannelFaved(channel)
    feedback.addItem(
        title='{} {} 节目单 现在时间: {}'.format(chl_title, date_str, now_time),
        subtitle='已收藏,选择这项可以取消收藏。' if is_faved else '未收藏,选择这项可以收藏',
        arg='toggle-fav {}'.format(channel))
    for item in schedules:
        feedback.addItem(title='{time} {show}'.format(**item))
    feedback.output()
Exemplo n.º 26
0
 def outputFeedback(self, success, data, no_found_msg=''):
     if not success or not data:
         alfred.exitWithFeedback(title='No App Found',
                                 subtitle=no_found_msg)
     self.downloadAppIcon(data)
     feedback = alfred.Feedback()
     for app in data:
         icon = ''
         if self.enable_appiconshow:
             icon = self.getLocalAppIcon(app['icon'])
         links = '{},{}'.format(app['store'], app['link'])
         feedback.addItem(title=app['name'],
                          subtitle=app['desc'],
                          arg='open-link {}'.format(links),
                          icon=icon if icon else '')
     feedback.output()
Exemplo n.º 27
0
def recent():
    try:
        items = fetchRecentItems(alfred.argv(2))
        if not items:
            alfred.exitWithFeedback(item=_fb_no_found)
        feedback = alfred.Feedback()
        for item in items:
            feedback.addItem(
                title           = item['title'],
                subtitle        = item['info'],
                icon            = alfred.storage.getLocalIfExists(item['img'], True),
                valid           = False,
                autocomplete    = 'resource {} '.format(item['id'])
            )
        feedback.output()
    except Exception, e:
        alfred.exitWithFeedback(item=_fb_no_found) 
Exemplo n.º 28
0
 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()
Exemplo n.º 29
0
    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()
Exemplo n.º 30
0
 def confirmDeleteAllTasks(self):
     feedback = alfred.Feedback()
     feedback.addItem(
         title           = 'Are you sure you want to delete all tasks?',
         subtitle        = '',
         autocomplete    = ' delete-all', #! 同样的命令,不进行任何操作
         valid           = False
         )
     feedback.addItem(
         title           = 'Yes',
         arg             = 'delete-all-tasks'
         )
     feedback.addItem(
         title           = 'No',
         autocomplete    = '', #! 返回任务列表
         valid           = False
         )
     feedback.output()