Exemplo n.º 1
0
def record_document_type_and_number(browser, abstract, document):
    document_type, reception_number = access_document_type_and_number(
        browser, abstract, document)
    document.reception_number = reception_number
    record_value(abstract, 'document type',
                 update_sentence_case_extras(title_strip(document_type)))
    handle_reception_number(abstract, document)
Exemplo n.º 2
0
def record_related_documents(browser, abstract, document):
    related_documents_field = locate_element_by_class_name(
        browser, abstract.county.record["Related Documents"],
        "related documents", False, document)
    related_documents = list_to_string(
        related_documents_field.text.split('\n')[1:])
    record_value(abstract, 'related documents', related_documents)
Exemplo n.º 3
0
def record_name_data(abstract, document_table):
    grantor_text, grantee_text = access_indexing_information(
        abstract, document_table)
    grantor = drop_superfluous_information(abstract, grantor_text)
    grantee = drop_superfluous_information(abstract, grantee_text)
    record_value(abstract, 'grantor', grantor)
    record_value(abstract, 'grantee', grantee)
Exemplo n.º 4
0
def record_indexing_information(abstract, document_table, document):
    recording_date_field = locate_element_by_class_name(
        document_table,
        abstract.county.classes["Recording Date"],
        "recording date",
        document=document)
    recording_date = date_from_string(recording_date_field.text[:10])
    record_value(abstract, 'recording date', recording_date)
Exemplo n.º 5
0
def handle_reception_number(abstract, document):
    if validate_reception_number(document, document.reception_number):
        record_value(abstract, 'reception number', document.reception_number)
    else:
        print(
            f'Reception number "{document.reception_number}" does not match the expected value for '
            f'{document.extrapolate_value()}, please review and press enter to continue...'
        )
        input()
Exemplo n.º 6
0
def record_legal(browser, abstract, document):
    legal_field = locate_element_by_class_name(browser,
                                               abstract.county.record["Legal"],
                                               "legal", False, document)
    legal = list_to_string(legal_field.text.split('\n')[1:])
    notes = access_notes(browser, abstract, document)
    if notes == '' or notes == ' ':
        record_value(abstract, 'legal', legal)
    else:
        record_value(abstract, 'legal', f'{notes}\n\n{legal}')
Exemplo n.º 7
0
def record_parties(browser, abstract, document):
    parties_container = locate_element_by_id(browser,
                                             abstract.county.record["Parties"],
                                             "parties", False, document)
    parties_text_list = remove_empty_list_items(
        parties_container.text.split('\n'))
    midpoint = parties_text_list.index('Grantees')
    grantor = list(map(title_strip, parties_text_list[1:midpoint]))
    grantee = list(map(title_strip, parties_text_list[(midpoint + 1):]))
    record_value(abstract, 'grantor', list_to_string(grantor))
    record_value(abstract, 'grantee', list_to_string(grantee))
Exemplo n.º 8
0
def record_legal_data(abstract, document_table):
    table_rows = access_table_rows(abstract, document_table)
    legal_data = table_rows[1].find_elements_by_tag_name(
        abstract.county.tags["Index Table"][2])
    if legal_data == []:
        record_value(abstract, 'legal', search_errors[2])
    else:
        legal = legal_data[-1].text
        if legal.endswith(search_errors[4]):
            legal = legal.strip()  # Running along with test 1
        record_value(abstract, 'legal',
                     drop_superfluous_information(abstract, legal))
Exemplo n.º 9
0
def record_legal(abstract, rows):
    legal = check_rows(abstract, rows,
                       abstract.county.titles["Row Titles"]["legal"])
    additional_legal = check_rows(
        abstract, rows,
        abstract.county.titles["Row Titles"]["additional_legal"])
    if additional_legal != not_applicable:
        if legal == not_applicable:
            legal = additional_legal
        elif additional_legal != legal:
            legal = f'{legal}\n{additional_legal}'
    record_value(abstract, 'legal', legal)
Exemplo n.º 10
0
def build_document_download_information(browser, abstract, document):
    access_download_information(browser, abstract, document)
    while document.reception_number.strip() == '':
        print('Browser did not correctly access reception number for '
              f'{document.extrapolate_value()}, trying again...')
        naptime()
        access_download_information(browser, abstract, document)
    record_value(abstract, 'reception number', document.reception_number)
    # Below is necessary until better logic order is figured out for 'handle_document_image_status'
    if len(abstract.dataframe['Reception Number']) != len(
            abstract.dataframe['Comments']):
        record_value(abstract, 'comments', '')
Exemplo n.º 11
0
def record_grantee(abstract, rows):
    grantee = check_rows(abstract, rows,
                         abstract.county.titles["Row Titles"]["grantee"])
    if grantee == not_applicable:
        grantee = check_rows(
            abstract, rows,
            abstract.county.titles["Row Titles"]["alt_grantee"])
        if grantee == not_applicable:
            grantee = check_rows(
                abstract, rows,
                abstract.county.titles["Row Titles"]["second_alt_grantee"])
    record_value(abstract, 'grantee', grantee.title())
Exemplo n.º 12
0
def record_related_documents(browser, abstract, document_table, document):
    # If none then ... ? conditional -- need to test with some print statements to see general feedback first
    related_table_rows = get_related_documents_table_rows(
        browser, abstract, document_table, document)
    related_documents_info = list(
        map(partial(access_table_body, abstract=abstract), related_table_rows))
    related_document_list = list(
        map(access_title_case_text, related_documents_info))
    # related_documents_info = list(map(access_table_body, related_table_rows))
    # related_document_list = list(map(access_title_case_text, related_documents_info))
    related_documents = "\n".join(related_document_list)
    record_value(abstract, 'related documents',
                 drop_superfluous_information(abstract, related_documents))
Exemplo n.º 13
0
def aggregate_document_information(abstract, document, rows):
    access_reception_number(abstract, document, rows)
    record_value(abstract, 'reception number', document.reception_number)
    record_book_and_page(abstract, rows)
    record_recording_date(abstract, rows)
    record_document_type(abstract, rows)
    record_grantor(abstract, rows)
    record_grantee(abstract, rows)
    record_related_documents(abstract, rows)
    record_legal(abstract, rows)
    record_empty_values(abstract,
                        ['effective date', 'volume', 'document link'])
    record_comments(abstract, document)
Exemplo n.º 14
0
def record_indexing_data(abstract, document_table, document):
    reception_field, recording_date = access_indexing_information(
        abstract, document_table)
    reception_number, book, page = split_reception_field(reception_field)
    reception_number = reception_number.split('\n')[0]
    set_document_download_values(abstract, document, reception_number)
    record_value(abstract, 'reception number', reception_number)
    record_value(abstract, 'book', book)
    record_value(abstract, 'page', page)
    record_value(abstract, 'recording date', recording_date[:10])
Exemplo n.º 15
0
def record_legal(abstract, rows):
    legal = check_rows(abstract, rows,
                       abstract.county.titles["Row Titles"]["legal"])
    alt_legal = check_rows(abstract, rows,
                           abstract.county.titles["Row Titles"]["alt_legal"])
    if legal == not_applicable and alt_legal == not_applicable:
        record_value(abstract, 'legal', '')
    else:
        if legal == alt_legal or alt_legal == not_applicable:
            record_value(abstract, 'legal', legal)
        elif legal == not_applicable:
            record_value(abstract, 'legal', alt_legal)
        else:
            combined_legal = f'{legal}\n{alt_legal}'
            record_value(abstract, 'legal', combined_legal)
Exemplo n.º 16
0
def record_related_documents(abstract, rows):
    related_documents = check_rows(
        abstract, rows,
        abstract.county.titles["Row Titles"]["related_documents"])
    alt_related_documents = check_rows(
        abstract, rows,
        abstract.county.titles["Row Titles"]["alt_related_documents"])
    if related_documents == not_applicable and alt_related_documents == not_applicable:
        record_value(abstract, 'related documents', '')
    else:
        if related_documents == alt_related_documents or alt_related_documents == not_applicable:
            record_value(abstract, 'related documents', related_documents)
        elif related_documents == not_applicable:
            record_value(abstract, 'related documents', alt_related_documents)
        else:
            combined_related_documents = f'{related_documents}\n{alt_related_documents}'
            record_value(abstract, 'related documents',
                         combined_related_documents)
Exemplo n.º 17
0
def record_grantee(abstract, document_table, document):
    grantee_text = document_table.text.split('\n')[1:]
    grantee_list = list(map(title_strip, grantee_text))
    grantee = update_sentence_case_extras(list_to_string(grantee_list))
    record_value(abstract, 'grantee', grantee)
Exemplo n.º 18
0
def record_book_and_page(abstract, row):
    book_page_value = check_rows(
        abstract, row, abstract.county.titles["Row Titles"]["book_and_page"])
    if book_page_value == 'N/A':
        record_value(abstract, 'book', '')
        record_value(abstract, 'page', '')
    else:
        if book_page_value.startswith(abstract.county.other["Abbreviation"]):
            book, page = book_page_value[
                len(abstract.county.other["Abbreviation"]):].split("/")
            book = book.strip()
            page = page.strip()
            if book == '0' and page == '0':
                book = not_applicable
                page = not_applicable
            record_value(abstract, 'book', book)
            record_value(abstract, 'page', page)
        elif book_page_value == '':
            record_value(abstract, 'book', '')
            record_value(abstract, 'page', '')
        else:
            # Below seems unnecessary, check with testing
            print(
                f'Encountered unexpected value "{book_page_value}" when trying to record book & page.'
            )
Exemplo n.º 19
0
def record_reception_number(abstract, document, reception_number_text):
    reception_number = reception_number_text[1:]
    set_document_download_values(document, reception_number)
    record_value(abstract, 'reception number', reception_number)
Exemplo n.º 20
0
def record_book_and_page(abstract, book_and_page_text):
    _, book, _, page = book_and_page_text.split(' ')
    record_value(abstract, 'book', book)
    record_value(abstract, 'page', page)
Exemplo n.º 21
0
def record_grantee(abstract, rows):
    grantee = check_rows(abstract, rows,
                         abstract.county.titles["Row Titles"]["grantee"])
    record_value(abstract, 'grantee', title_strip(grantee))
Exemplo n.º 22
0
def record_document_type(abstract, rows):
    document_type = check_rows(
        abstract, rows, abstract.county.titles["Row Titles"]["document_type"])
    record_value(abstract, 'document type', title_strip(document_type))
Exemplo n.º 23
0
def record_document_type(abstract, document_table):
    document_type = access_title_case_text(document_table)
    record_value(abstract, 'document type', document_type)
Exemplo n.º 24
0
def record_book_and_page(abstract, rows):
    book_and_page = check_rows(
        abstract, rows, abstract.county.titles["Row Titles"]["book_and_page"])
    if book_and_page == 'N/A':
        record_value(abstract, 'book', '')
        record_value(abstract, 'page', '')
    else:
        if book_and_page.startswith(abstract.county.other["Abbreviation"]):
            book_and_page = book_and_page[len(abstract.county.
                                              other["Abbreviation"]):]
        book, page = book_and_page.replace("/", "").split()
        if book == '0' and page == '0':
            record_value(abstract, 'book', '')
            record_value(abstract, 'page', '')
        else:
            record_value(abstract, 'book', book)
            record_value(abstract, 'page', page)
Exemplo n.º 25
0
def record_effective_date(abstract, effective_date_text):
    effective_date = date_from_string(effective_date_text.split(' ')[-1])
    record_value(abstract, 'effective date', effective_date)
Exemplo n.º 26
0
def record_recording_date(abstract, recording_date_text):
    recording_date = date_from_string(recording_date_text.split(' ')[2])
    record_value(abstract, 'recording date', recording_date)
Exemplo n.º 27
0
def record_document_type(browser, abstract, document):
    document_type_field = locate_element_by_class_name(
        browser, abstract.county.record["Document Type"], "document type",
        False, document)
    record_value(abstract, 'document type', document_type_field.text.title())
Exemplo n.º 28
0
def record_related_documents(abstract, document_table, document):
    related_documents_text = document_table.text.split('\n')[1:]
    related_documents_list = list(map(title_strip, related_documents_text))
    related_documents = list_to_string(related_documents_list)
    record_value(abstract, 'related documents', related_documents)
Exemplo n.º 29
0
def record_legal(abstract, document_table, document):
    legal = title_strip(document_table.text)
    record_value(abstract, 'legal', legal)
Exemplo n.º 30
0
def record_recording_date(abstract, rows):
    recording_date = check_rows(
        abstract, rows, abstract.county.titles["Row Titles"]["recording_date"])
    record_value(abstract, 'recording date', recording_date[:10])