Пример #1
0
 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)
Пример #2
0
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
Пример #3
0
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
Пример #4
0
    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()