def parse_headers(): dbc = Db() case_file_headers = {'serial_number': doc_id} case_file_header_items = ( 'filing_date', 'status_code', 'status_date', 'mark_identification', 'mark_drawing_code', 'attorney_docket_number', 'attorney_name', 'principal_register_amended_in', 'supplemental_register_amended_in', 'trademark_in', 'collective_trademark_in', 'service_mark_in', 'collective_service_mark_in', 'collective_membership_mark_in', 'certification_mark_in', 'cancellation_pending_in', 'published_concurrent_in', 'concurrent_use_in', 'concurrent_use_proceeding_in', 'interference_pending_in', 'opposition_pending_in', 'section_12c_in', 'section_2f_in', 'section_2f_in_part_in', 'renewal_filed_in', 'section_8_filed_in', 'section_8_partial_accept_in', 'section_8_accepted_in', 'section_15_acknowledged_in', 'section_15_filed_in', 'supplemental_register_in', 'foreign_priority_in', 'change_registration_in', 'intent_to_use_in', 'intent_to_use_current_in', 'filed_as_use_application_in', 'amended_to_use_application_in', 'use_application_currently_in', 'amended_to_itu_application_in', 'filing_basis_filed_as_44d_in', 'amended_to_44d_application_in', 'filing_basis_current_44d_in', 'filing_basis_filed_as_44e_in', 'filing_basis_current_44e_in', 'amended_to_44e_application_in', 'without_basis_currently_in', 'filing_current_no_basis_in', 'color_drawing_filed_in', 'color_drawing_current_in', 'drawing_3d_filed_in', 'drawing_3d_current_in', 'standard_characters_claimed_in', 'filing_basis_filed_as_66a_in', 'filing_basis_current_66a_in', 'current_location', 'location_date', 'employee_name', 'registration_date', 'published_for_opposition_date', 'amend_to_register_date', 'abandonment_date', 'cancellation_code', 'cancellation_date', 'republished_12c_date', 'domestic_representative_name', 'renewal_date', 'law_office_assigned_location_code') for hitem in case_file_header_items: search_term = 'case-file-header/' + hitem.replace('_', '-') + '/text()' case_file_headers[hitem] = get_text_or_none(case, search_term) return dbc.insert_dict(case_file_headers, 'trademark_app_case_file_headers')
def parse_madrid_international_filing_record(): dbc = Db() mifr_elements = case.findall('madrid-international-filing-requests/madrid-international-filing-record') for child in mifr_elements: madrid_international_filing_record = {'serial_number': doc_id} madrid_international_filing_record_items = ( 'entry_number', 'reference_number', 'original_filing_date_uspto', 'international_registration_number', 'international_registration_date', 'international_status_code', 'international_status_date', 'irregularity_reply_by_date', 'international_renewal_date') for hitem in madrid_international_filing_record_items: search_term = hitem.replace('_', '-') + '/text()' madrid_international_filing_record[hitem] = get_text_or_none(child, search_term) mifr_id = dbc.insert_dict(madrid_international_filing_record, 'trademark_app_madrid_international_filing_record') mhe_elements = child.findall('madrid-history-events/madrid-history-event') lst = [] for subchild in mhe_elements: madrid_history_events = {'serial_number': doc_id, 'madrid_international_filing_record_id': mifr_id} madrid_history_events_items = ( 'code', 'date', 'description_text', 'entry_number') for hitem in madrid_history_events_items: search_term = hitem.replace('_', '-') + '/text()' madrid_history_events[hitem] = get_text_or_none(subchild, search_term) lst.append(madrid_history_events) result = dbc.insert_listdict(lst, 'trademark_app_madrid_history_events')
def parse_case_files(): dbc = Db() case_files = {'serial_number': doc_id, 'file_id': file_id, 'registration_number': get_text_or_none(case, 'registration-number/text()'), 'transaction_date': get_text_or_none(case, 'transaction-date/text()')} return dbc.insert_dict(case_files, 'trademark_app_case_files')
def parse_classifications(): dbc = Db() classification_elements = case.findall('classifications/classification') for child in classification_elements: classifications = {'serial_number': doc_id} classifications_items = ( 'international_code_total_no', 'us_code_total_no', 'international_code', 'status_code', 'status_date', 'first_use_anywhere_date', 'first_use_in_commerce_date', 'primary_code') for hitem in classifications_items: search_term = hitem.replace('_', '-') + '/text()' classifications[hitem] = get_text_or_none(child, search_term) classification_id = dbc.insert_dict(classifications, 'trademark_app_classifications') code_elements = child.findall('us-code') lst = [] for subchild in code_elements: case_file_us_codes = {'serial_number': doc_id, 'classification_id': classification_id, 'us_code': subchild.text} lst.append(case_file_us_codes) result = dbc.insert_listdict(lst, 'trademark_app_us_codes')