Exemplo n.º 1
0
def get_result_list(query_str):

    query_str = shared.format_query_str(query_str)
    query = get_query_object(query_str)
    results = []

    if not query:
        return results

    prefs = shared.get_prefs()
    bible = shared.get_bible_data(prefs['language'])
    chapters = shared.get_chapter_data()
    matching_books = get_matching_books(bible['books'], query)

    if 'chapter' not in query:
        query['chapter'] = 1

    chosen_version = choose_best_version(prefs, bible, query)

    # Build result list from books matching the query
    for book in matching_books:

        # Skip result if given chapter exceeds number of chapters in book
        if query['chapter'] > chapters[book['id']]:
            continue

        # Result information
        results.append(get_result(book, query, chosen_version))

    return results
Exemplo n.º 2
0
def get_result_list(query_str):

    query_str = shared.format_query_str(query_str)
    query = get_query_object(query_str)
    results = []

    if not query:
        return results

    prefs = shared.get_prefs()
    bible = shared.get_bible_data(prefs['language'])
    chapters = shared.get_chapter_data()
    matching_books = get_matching_books(bible['books'], query)

    if 'chapter' not in query:
        query['chapter'] = 1

    chosen_version = choose_best_version(prefs, bible, query)

    # Build result list from books matching the query
    for book in matching_books:

        # Skip result if given chapter exceeds number of chapters in book
        if query['chapter'] > chapters[book['id']]:
            continue

        # Result information
        results.append(get_result(book, query, chosen_version))

    return results
Exemplo n.º 3
0
 def wrapper(*args, **kwargs):
     original_prefs = yvs.get_prefs()
     try:
         yvs.update_prefs(prefs)
         return fn(*args, **kwargs)
     finally:
         yvs.update_prefs(original_prefs)
Exemplo n.º 4
0
 def wrapper(*args, **kwargs):
     original_prefs = yvs.get_prefs()
     try:
         yvs.update_prefs(prefs)
         return fn(*args, **kwargs)
     finally:
         yvs.update_prefs(original_prefs)
Exemplo n.º 5
0
def set_pref(key, value):

    prefs = shared.get_prefs()
    prefs[key] = value

    if key == 'language':
        bible = shared.get_bible_data(language=value)
        # Set version to default version of new language
        prefs['version'] = bible['default_version']

    shared.update_prefs(prefs)
Exemplo n.º 6
0
def get_version_result_list(query_str):

    prefs = shared.get_prefs()
    versions = shared.get_versions(prefs['language'])
    results = []

    for version in versions:

        result = {
            'arg': 'version:{}'.format(version['id']),
            'title': version['name']
        }
        if version['id'] == prefs['version']:
            result['subtitle'] = 'This is already your preferred version'
            result['valid'] = 'no'
        else:
            result['subtitle'] = 'Set this as your preferred version'

        if not query_str or result['title'].lower().startswith(query_str):
            results.append(result)

    return results
Exemplo n.º 7
0
def get_language_result_list(query_str):

    prefs = shared.get_prefs()
    languages = shared.get_languages()
    results = []

    for language in languages:

        result = {
            'arg': 'language:{}'.format(language['id']),
            'title': language['name']
        }
        if language['id'] == prefs['language']:
            result['subtitle'] = 'This is already your preferred language'
            result['valid'] = 'no'
        else:
            result['subtitle'] = 'Set this as your preferred language'

        if not query_str or result['title'].lower().startswith(query_str):
            results.append(result)

    return results
Exemplo n.º 8
0
def get_version_result_list(query_str):

    prefs = shared.get_prefs()
    versions = shared.get_versions(prefs['language'])
    results = []

    for version in versions:

        result = {
            'arg': 'version:{}'.format(version['id']),
            'title': version['name']
        }
        if version['id'] == prefs['version']:
            result['subtitle'] = 'This is already your preferred version'
            result['valid'] = 'no'
        else:
            result['subtitle'] = 'Set this as your preferred version'

        if not query_str or result['title'].lower().startswith(query_str):
            results.append(result)

    return results
Exemplo n.º 9
0
def get_language_result_list(query_str):

    prefs = shared.get_prefs()
    languages = shared.get_languages()
    results = []

    for language in languages:

        result = {
            'arg': 'language:{}'.format(language['id']),
            'title': language['name']
        }
        if language['id'] == prefs['language']:
            result['subtitle'] = 'This is already your preferred language'
            result['valid'] = 'no'
        else:
            result['subtitle'] = 'Set this as your preferred language'

        if not query_str or result['title'].lower().startswith(query_str):
            results.append(result)

    return results
Exemplo n.º 10
0
def get_search_html(query_str):

    prefs = shared.get_prefs()
    url = 'https://www.bible.com/search/bible?q={}&version_id={}'.format(
        urllib.quote_plus(query_str.encode('utf-8')), prefs['version'])
    return shared.get_url_content(url)