Merge branch 'main' into avm99963-monorail

Merged commit 34d8229ae2b51fb1a15bd208e6fe6185c94f6266

GitOrigin-RevId: 7ee0917f93a577e475f8e09526dd144d245593f4
diff --git a/framework/csv_helpers.py b/framework/csv_helpers.py
index 3dd10c7..ac6509f 100644
--- a/framework/csv_helpers.py
+++ b/framework/csv_helpers.py
@@ -1,13 +1,13 @@
-# Copyright 2016 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file or at
-# https://developers.google.com/open-source/licenses/bsd
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
 
 """Helper functions for creating CSV pagedata."""
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
 
+import six
 import types
 
 from framework import framework_helpers
@@ -63,7 +63,7 @@
   """Return a version of string S that is safe as part of a CSV file."""
   if s is None:
     return ''
-  if isinstance(s, types.StringTypes):
+  if isinstance(s, six.string_types):
     s = s.strip().replace('"', '""')
     # Prefix any formula cells because some spreadsheets have built-in
     # formila functions that can actually have side-effects on the user's