def sixteenc_update_diz_cache(self, year):
        """ cache file_id.diz files for the packs in a given year.
          Populate self.appState.sixteenc_dizcache with {"packname": diz_data_frame}
          diz_data_frame is type Dur Frame
        """

        # print status update
        #self.thread_update_user("Downloading previews... 2")

        url = None
        file_data = None
        preview_mov = None
        packs = []  #packs to cache

        if year in self.appState.sixteenc_cached_years:
            return False
        else:
            self.appState.sixteenc_cached_years.append(year)

        # Get list of packs for given year from 16c
        year_packs = self.sixteenc_api.list_packs_for_year(year)
        if year_packs == False:
            # There was a problem getting the packs. HTTP error
            return False
        # For each pack in the returned list, see if self.appState.sixteenc_dizcache has
        # the pack as a key.
        # If not, download the file_id.diz and populate self.appState.sixteenc_dizcache.
        for pack in year_packs:
            if pack not in self.appState.sixteenc_dizcache:
                packs.append(pack)

        # Launch concurrent threads for downloading diz files in parallel
        max_threads = 10
        with ThreadPoolExecutor(max_workers=max_threads) as self.appState.pool_executor:
            res = self.appState.pool_executor.map(self.sixteenc_cache_diz_for_pack, packs, timeout=15)
            #for r in res:
            #    print(r.status_code)
 cache file_id.diz files for the packs in a given year.
          Populate self.appState.sixteenc_dizcache with {"packname": diz_data_frame}
          diz_data_frame is type Dur Frame
        
durdraw/durdraw_ui_curses.py