def set_tdoc_id_full(*args): # Sets the label for the download button tdoc_id = tkvar_tdoc_id.get() tdoc_year,tdoc_number = tdoc.get_tdoc_year(tdoc_id) if tkvar_search_tdoc.get(): command_string = 'Search' else: command_string = 'Open' button_label = command_string if tdoc.is_tdoc(tdoc_id): button_label += ' ' + tdoc_id tkvar_tdoc_id_full.set(button_label) if tdoc.is_tdoc(tdoc_id): # Enable button open_tdoc_button.configure(state=tkinter.NORMAL) else: # Disable button open_tdoc_button.configure(state=tkinter.DISABLED)
def get_tdoc(meeting_folder_name, tdoc_id, use_inbox=False, return_url=False, searching_for_a_file=False, use_email_approval_inbox=False): if not tdoc.is_tdoc(tdoc_id): if not return_url: return None else: return None, None tdoc_local_filename = get_local_filename(meeting_folder_name, tdoc_id) zip_file_url = get_remote_filename( meeting_folder_name, tdoc_id, use_inbox, searching_for_a_file, use_email_approval_inbox=use_email_approval_inbox) if not os.path.exists(tdoc_local_filename): # TODO: change to also FTP support tdoc_file = get_html(zip_file_url, cache=False) if tdoc_file is None: if use_inbox: # Retry without inbox return_value = get_tdoc(meeting_folder_name, tdoc_id, use_inbox=False) else: if not use_email_approval_inbox: # Retry in INBOX folder return_value = get_tdoc(meeting_folder_name, tdoc_id, use_inbox=False, use_email_approval_inbox=True) else: # No need to retry return_value = None if not return_url: return return_value else: return return_value, zip_file_url # Drive zip file to disk with open(tdoc_local_filename, 'wb') as output: output.write(tdoc_file) # If the file does not now exist, there was an error (e.g. not found) if not os.path.exists(tdoc_local_filename): if not return_url: return None else: return None, None if not return_url: return unzip_tdoc_files(tdoc_local_filename) else: return unzip_tdoc_files(tdoc_local_filename), zip_file_url
def reset_status_labels(): tkvar_last_agenda_version.set('') tkvar_tdoc_download_result.set('') # Set default TDoc name current_meeting = tkvar_meeting.get() if application.sa2_meeting_data is None: return year = application.sa2_meeting_data.get_year_from_meeting_text(current_meeting) if year is not None: try: if not performing_search: current_value = tkvar_tdoc_id.get() if not tdoc.is_tdoc(current_value): tkvar_tdoc_id.set('S2-' + str(year)[2:4] + 'XXXXX') except: pass
def analyze_tdoc(self): if not gui.main.current_tdocs_by_agenda_exists(): # Remove all prior elements and return return # Show all data tdocs_df = self.get_tdocs_of_selected_meeting() last_tdoc = gui.main.tkvar_last_doc_tdoc.get() if not tdoc.is_tdoc(last_tdoc): print(str(last_tdoc) + ' is not a TDoc') return try: tdoc_row = tdocs_df.loc[last_tdoc, :] self.tkvar_tdoc.set(gui.main.tkvar_last_doc_tdoc.get()) self.tkvar_original_tdocs.set('') self.tkvar_final_tdocs.set('') original_tdocs = html_parser.get_tdoc_infos( tdoc_row['Original TDocs'], tdocs_df) final_tdocs = html_parser.get_tdoc_infos(tdoc_row['Final TDocs'], tdocs_df) original_tdocs_text = '\n'.join([ '{0} ({1}); {2}'.format(tdoc.tdoc, tdoc.source, tdoc.title) for tdoc in original_tdocs ]) final_tdocs_text = '\n'.join([ '{0} ({1}); {2}'.format(tdoc.tdoc, tdoc.source, tdoc.title) for tdoc in final_tdocs ]) self.tkvar_original_tdocs.set(original_tdocs_text) self.tkvar_final_tdocs.set(final_tdocs_text) except: print('Could not retrieve data for ' + last_tdoc) traceback.print_exc()