ESV


#!/usr/bin/env python

import sys
import requests


API_KEY = '<ENTER API KEY HERE>'
API_URL = 'https://api.esv.org/v3/passage/html/'

def extract_passages(passages):
    passages_txt = ''

    for p in passages:
        passages_txt = passages_txt + p.strip() + '\n' 

    return passages_txt

def get_esv_text(passage):
    params = {
        'q': passage,
        'include-short-copyright': False,
        'inline-styles': False,
        'include-crossrefs': False
    }

    headers = {
        'Authorization': 'Token %s' % API_KEY
    }

    response = requests.get(API_URL, params=params, headers=headers)

    passages = response.json()['passages']

    return extract_passages(passages) if passages else 'Error: Passage not found'


if __name__ == '__main__':
    passage = ' '.join(sys.argv[1:])
    
    if passage:
        print(get_esv_text(passage))