code: def convert_old_publication_info_to_new(publication_infos):
      result = []
      hidden_publication_infos = []
      for publication_info in publication_infos:
          _publication_info = copy.deepcopy(publication_info)
          journal_title = _publication_info.get('journal_title')
          try:
              journal_title = _JOURNALS_RENAMED_OLD_TO_NEW[journal_title]
              _publication_info['journal_title'] = journal_title
              result.append(_publication_info)
              continue
          except KeyError:
              pass
          journal_volume = _publication_info.get('journal_volume')
          if journal_title in _JOURNALS_WITH_YEAR_ADDED_TO_VOLUME and journal_volume and len(journal_volume) == 4:
              try:
                  was_last_century = int(journal_volume[:2]) > 50
              except ValueError:
                  pass
              else:
                  _publication_info['year'] = int('19' + journal_volume[:2] if was_last_century else '20' + journal_volume[:2])
                  _publication_info['journal_volume'] = journal_volume[2:]
              result.append(_publication_info)
              continue
          if journal_title and journal_volume and journal_title.lower() not in JOURNALS_IGNORED_IN_OLD_TO_NEW:
              volume_starts_with_a_letter = _RE_VOLUME_STARTS_WITH_A_LETTER.match(journal_volume)
              volume_ends_with_a_letter = _RE_VOLUME_ENDS_WITH_A_LETTER.match(journal_volume)
              match = volume_starts_with_a_letter or volume_ends_with_a_letter
              if match:
                  _publication_info.pop('journal_record', None)
                  if journal_title in _JOURNALS_RENAMED_OLD_TO_NEW.values():
                      _publication_info['journal_title'] = journal_title
                  else:
                      _publication_info['journal_title'] = ''.join([
                          journal_title,
                          '' if journal_title.endswith('.') else ' ',
                          match.group('letter'),
                      ])
                  _publication_info['journal_volume'] = match.group('volume')
          hidden = _publication_info.pop('hidden', None)
          if hidden:
              hidden_publication_infos.append(_publication_info)
          else:
              result.append(_publication_info)
      for publication_info in hidden_publication_infos:
          if publication_info not in result:
              publication_info['hidden'] = True
              result.append(publication_info)
      return result