arxiv.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:alfred-arxiv-workflow 作者: wookayin 项目源码 文件源码
def main(wf):
    import argparse
    parser = argparse.ArgumentParser(description=__doc__)
    parser.add_argument('query', default=None, type=str)
    args = parser.parse_args()
    log.debug('args : {}'.format(args))

    query = args.query
    # FUCK arxiv.py is too stupid why it is not quoting
    ret = arxiv.query(urllib.quote(query),
                      max_results=25)

    if not ret:
        wf.add_item('No matchings', icon=workflow.ICON_WARNING)

    for entry in ret:
        title = entry['title']
        authors = ', '.join(entry['authors'])
        bundle = ', '.join(t['term'] for t in entry['tags'])
        url = entry['id']

        identifier, version = parse_arxiv_url(url)     # 1704.12345
        canonical_url = 'https://arxiv.org/abs/%s' % identifier

        item = wf.add_item(
            title="[%s] %s" % (identifier, title),
            subtitle="%s [%s]" % (authors, bundle),
            valid=True,
            arg=identifier,
            uid=identifier,
            type='file',
            #icon='icon.png',
        )
        item.add_modifier('alt', 'http://arxiv.org/pdf/%s' % identifier,
                          arg=identifier)
        item.add_modifier('shift', 'Copy the identifier %s' % identifier,
                          arg=identifier)
        item.add_modifier('cmd', 'Copy the arXiv abs URL: %s' % canonical_url,
                          arg=canonical_url)
        item.add_modifier('ctrl', 'Copy markdown link: [[%s] %s](%s)' % (identifier, title, canonical_url),
                          arg="[[%s] %s](%s)" % (identifier, title, canonical_url))

    wf.send_feedback()
    return 0
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号