Make docstring types compatible with pylint

We're enabling the pylint docparams extension in Tricium:
https://docs.pylint.org/en/1.6.0/extensions.html

It requires that param types be of the form "(SomeType or OtherType)"
rather than "(SomeType|OtherType)".

NO BEHAVIOR CHANGE

Bug: 43524
Change-Id: Ibeac0ba607aa70ec694074fadc2344e413d4232e
diff --git a/recipe_modules/artifacts/api.py b/recipe_modules/artifacts/api.py
index 47d6b8e..13b90ab 100644
--- a/recipe_modules/artifacts/api.py
+++ b/recipe_modules/artifacts/api.py
@@ -22,7 +22,7 @@
     This assumes that we have already upload()ed to this bucket.
 
     Args:
-      host (str|None): The hosting address of the package repository; if
+      host (str or None): The hosting address of the package repository; if
        unprovided, the default GCS URL will be constructed.
     """
     assert self.gcs_bucket and self.uuid
@@ -35,7 +35,7 @@
     """Returns the URL (str) of the blobs of an uploaded package repository.
 
     Args:
-      host (str|None): The hosting address of the package repository; if
+      host (str or None): The hosting address of the package repository; if
        unprovided, the default GCS URL will be constructed.
     """
     assert self.gcs_bucket
@@ -48,7 +48,7 @@
     """Returns the URL (str) of the uploaded images.
 
     Args:
-      host (str|None): The hosting address of the images; if unprovided, the
+      host (str or None): The hosting address of the images; if unprovided, the
        default GCS URL will be constructed.
     """
     assert self.gcs_bucket and self.uuid
diff --git a/recipe_modules/bqupload/api.py b/recipe_modules/bqupload/api.py
index 391a5fe..d4b5905 100644
--- a/recipe_modules/bqupload/api.py
+++ b/recipe_modules/bqupload/api.py
@@ -43,7 +43,7 @@
       project (str): id of the gcloud project.
       dataset (str): name of the BigQuery dataset.
       table (str): name of the BigQuery table.
-      data_file (Path|Placeholder): path to the json file that contains
+      data_file (Path or Placeholder): path to the json file that contains
         data to insert into a BigQuery table.
     """
     table_path = '%s.%s.%s' % (project, dataset, table)
diff --git a/recipe_modules/build/api.py b/recipe_modules/build/api.py
index 53bcd55..84af768 100644
--- a/recipe_modules/build/api.py
+++ b/recipe_modules/build/api.py
@@ -238,9 +238,9 @@
 
     Args:
       debug_symbol_gcs_bucket (str): GCS bucket name to upload debug symbols to.
-      gcs_bucket (str|None): GCS bucket to upload debug-binaries.txt record.
+      gcs_bucket (str or None): GCS bucket to upload debug-binaries.txt record.
         If None, do not create or upload the record.
-      namespace (str|None): A unique namespace for the GCS debug-binaries
+      namespace (str or None): A unique namespace for the GCS debug-binaries
         record upload location. If None, the current build's ID is used.
     """
     assert debug_symbol_gcs_bucket
@@ -269,7 +269,7 @@
 
     Args:
       gcs_bucket (str): GCS bucket name to upload build results to.
-      namespace (str|None): A unique namespace for the GCS upload location;
+      namespace (str or None): A unique namespace for the GCS upload location;
         if None, the current build's ID is used.
     """
     assert gcs_bucket
@@ -646,7 +646,7 @@
       collect_build_metrics (bool): Whether to upload build metrics to cloud
         storage.
       sdk_id (str): If specified, set sdk_id in GN.
-      gcs_bucket (str|None): The GCS bucket to upload results to, if set.
+      gcs_bucket (str or None): The GCS bucket to upload results to, if set.
 
     Returns:
       A FuchsiaBuildResults, representing the build.
@@ -828,7 +828,7 @@
       target (str): The build target, see TARGETS for allowed targets.
       build_type (str): One of the build types in BUILD_TYPES.
       product (str): A product to pass to GN to build.
-      board (str|None): A board to pass to GN to build.
+      board (str or None): A board to pass to GN to build.
       packages (sequence[str]): A sequence of packages to pass to GN to build.
       universe_packages (sequence[str]): A sequence of packages to pass to GN
         to build and add to the set of 'universe" packages.
@@ -958,7 +958,7 @@
         GN graph.
       build_generated_sources (bool): Whether to build generated sources.
       build_zbi_tests (bool): Whether to build the zbi tests in the GN graph.
-      gcs_bucket (str|None): A GCS bucket to upload crash reports to.
+      gcs_bucket (str or None): A GCS bucket to upload crash reports to.
       build_fuchsia (bool): Don't run Ninja on Fuchsia, only Zircon. Useful when
         targets = () indicates no targets should be built for Fuchsia, rather
         than indicating all targets should be built.
diff --git a/recipe_modules/build/fvm.py b/recipe_modules/build/fvm.py
index 10d1033..eb27561 100644
--- a/recipe_modules/build/fvm.py
+++ b/recipe_modules/build/fvm.py
@@ -36,7 +36,7 @@
     This operation is only valid for non-sparse images.
 
     Args:
-      factor (int|float): A factor by which to scale the size of the image.
+      factor (int or float): A factor by which to scale the size of the image.
     """
     assert factor > 1, 'scaling factor must be greater than one'
     new_size = int(self.required_size * factor)
diff --git a/recipe_modules/build/test_api.py b/recipe_modules/build/test_api.py
index f9726fc..38ffb93 100644
--- a/recipe_modules/build/test_api.py
+++ b/recipe_modules/build/test_api.py
@@ -35,7 +35,7 @@
       status (str): One of 'success' (default), 'failure', or
         'infra_failure'. The result of the test case will be required to
         match this.
-      test_deps (sequence[str]|None): Test dependency paths.
+      test_deps (sequence[str] or None): Test dependency paths.
 
     Returns:
       TestData object.
diff --git a/recipe_modules/git/api.py b/recipe_modules/git/api.py
index 61a0c10..d066e3c 100644
--- a/recipe_modules/git/api.py
+++ b/recipe_modules/git/api.py
@@ -162,7 +162,7 @@
     """Checks out a CL and rebases it on top of master.
 
     Args (see `checkout()` for others):
-      cl (common_pb2.GerritChange|None): The CL to check out.
+      cl (common_pb2.GerritChange or None): The CL to check out.
     """
     url = 'https://%s/%s' % (cl.host.replace('-review', ''), cl.project)
     ref = 'refs/changes/%02d/%d/%d' % (cl.change % 100, cl.change, cl.patchset)
diff --git a/recipe_modules/jiri/api.py b/recipe_modules/jiri/api.py
index 715fbc8..f05a189 100644
--- a/recipe_modules/jiri/api.py
+++ b/recipe_modules/jiri/api.py
@@ -396,7 +396,7 @@
     Args:
       project (str): name of the project.
       remote (str): URL to the remote repository.
-      new_revision (str|None): new revision to override the project's current.
+      new_revision (str or None): new revision to override the project's current.
     """
     cmd = ['override', '-revision', new_revision, project, remote]
     return self(*cmd)
@@ -520,7 +520,7 @@
     manifest file.
 
     Args:
-      manifest (str|Path): Path to the manifest file.
+      manifest (str or Path): Path to the manifest file.
       element_type (str): One of 'import', 'project' or 'package'.
       element_name (str): The name of the element.
 
@@ -619,7 +619,7 @@
           template='{{.Remote}}) is cloned to {{.Path}}')
 
     Args:
-      manifest (str|Path): Path to the manifest file.
+      manifest (str or Path): Path to the manifest file.
       element_name (str): The name of the element to read from.
       template (str): A Go template string matching pkg/text/template.
 
diff --git a/recipe_modules/jiri/test_api.py b/recipe_modules/jiri/test_api.py
index 519f363..0dce6a6 100644
--- a/recipe_modules/jiri/test_api.py
+++ b/recipe_modules/jiri/test_api.py
@@ -30,7 +30,7 @@
     Args:
       api (RecipeTestApi): The test api.
       test_output (Dict): The data to use as JSON in the step's stdout response.
-      nesting (str|None): The name of the parent step, if not None.
+      nesting (str or None): The name of the parent step, if not None.
 
       (See JiriApi for docs on remaining args)
 
diff --git a/recipe_modules/lkgs/api.py b/recipe_modules/lkgs/api.py
index 7f887cd..189c130 100644
--- a/recipe_modules/lkgs/api.py
+++ b/recipe_modules/lkgs/api.py
@@ -23,7 +23,7 @@
       builder (seq[str]): A list of fully-qualified buildbucket v2 builder ID,
         consisting of <project>/<project-namespaced bucket>/<builder name>. For example:
         ['fuchsia/ci/garnet-x64-release-qemu_kvm'].
-      output_file (Path|Placeholder): The location to dump the retrieved
+      output_file (Path or Placeholder): The location to dump the retrieved
         snapshot.
       gitiles_ref (str): Optionally filter builds for matching gitiles ref,
         e.g. refs/heads/master. By default, do not filter.
diff --git a/recipe_modules/minfs/api.py b/recipe_modules/minfs/api.py
index d171047..9b38786 100644
--- a/recipe_modules/minfs/api.py
+++ b/recipe_modules/minfs/api.py
@@ -41,9 +41,9 @@
         refers to the root of the MinFS image.
 
         Args:
-          from_path (str|Path): The path to copy from.
-          to_path (str|Path): The path to copy to.
-          image (str|Path): The path to the MinFS image.
+          from_path (str or Path): The path to copy from.
+          to_path (str or Path): The path to copy to.
+          image (str or Path): The path to the MinFS image.
 
         Returns:
           A step to perform the copy.
diff --git a/recipe_modules/spec/api.py b/recipe_modules/spec/api.py
index c188b70..4e74546 100644
--- a/recipe_modules/spec/api.py
+++ b/recipe_modules/spec/api.py
@@ -64,7 +64,7 @@
       spec_dir (string): The directory within spec_remote containing specs.
         Specifically we'll look for the spec in
         "<spec_dir>/<project>/specs/<bucket>/<builder>.textproto".
-      spec_revision (string|None): The git revision to fetch the spec from.
+      spec_revision (string or None): The git revision to fetch the spec from.
 
     Returns:
       spec (Type), rev (string): The parsed proto API spec and its revision.
diff --git a/recipe_modules/swarming_retry/api.py b/recipe_modules/swarming_retry/api.py
index 9fa7468..5123721 100644
--- a/recipe_modules/swarming_retry/api.py
+++ b/recipe_modules/swarming_retry/api.py
@@ -334,7 +334,7 @@
       max_attempts (int): maximum number of attempts per task
       collect_timeout (str): duration to wait for tasks to complete
         (format: https://golang.org/pkg/time/#ParseDuration)
-      collect_output_dir (Path|None): output directory to pass to
+      collect_output_dir (Path or None): output directory to pass to
         api.swarming.collect()
 
     Returns:
@@ -464,9 +464,9 @@
       tasks (seq[Task]): tasks to execute
       max_attempts (int): maximum number of attempts per task (0 means
         DEFAULT_MAX_ATTEMPTS)
-      collect_timeout (str|None): duration to wait for tasks to complete
+      collect_timeout (str or None): duration to wait for tasks to complete
         (format: https://golang.org/pkg/time/#ParseDuration)
-      collect_output_dir (Path|None): output directory to pass to
+      collect_output_dir (Path or None): output directory to pass to
         api.swarming.collect()
 
     Returns:
diff --git a/recipe_modules/swarming_retry/examples/full.py b/recipe_modules/swarming_retry/examples/full.py
index fa07d89..683d55f 100644
--- a/recipe_modules/swarming_retry/examples/full.py
+++ b/recipe_modules/swarming_retry/examples/full.py
@@ -59,7 +59,7 @@
       """Construct a Task object.
 
       Args:
-        initial_task_id (int|str): integer decimal value (since this needs
+        initial_task_id (int or str): integer decimal value (since this needs
           to be incremented but is then used as a str later this method
           accepts both int and str types to minimize confusion, so long as
           int(initial_task_id) works)
diff --git a/recipe_modules/swarming_retry/test_api.py b/recipe_modules/swarming_retry/test_api.py
index 3ee91c1..c007169 100644
--- a/recipe_modules/swarming_retry/test_api.py
+++ b/recipe_modules/swarming_retry/test_api.py
@@ -32,7 +32,7 @@
       name (str): name of the task
       task_id (str): task id returned by mock call
       iteration (int): iteration of 'launch/collect' step
-      attempt (int|None): index number of attempt
+      attempt (int or None): index number of attempt
 
     See FuchsiaSwarmingRetryTestApi._attempt() for details in case
     attempt is None.
diff --git a/recipe_modules/symbolize/api.py b/recipe_modules/symbolize/api.py
index f7da07e..cb55d31 100644
--- a/recipe_modules/symbolize/api.py
+++ b/recipe_modules/symbolize/api.py
@@ -30,7 +30,7 @@
       build_id_dirs (seq(Path)): A list of build-id directories.
       debug_symbol_gcs_bucket (str): A GCS bucket hosting debug symbols.
       symbolizer_output: A string with the path to save the symbolizer output to.
-      presentation (StepPresentation|None): The step presentation to add the
+      presentation (StepPresentation or None): The step presentation to add the
         symbolized logs to.
 
     Returns:
diff --git a/recipe_modules/testing/api.py b/recipe_modules/testing/api.py
index e8b2325..723d6d6 100644
--- a/recipe_modules/testing/api.py
+++ b/recipe_modules/testing/api.py
@@ -46,7 +46,7 @@
       runtests (no ssh).
     api (RecipeApi): The api to use for accessing recipe modules from this
       object.
-    symbolizer_output (Path|None): The path to the symbolized log file
+    symbolizer_output (Path or None): The path to the symbolized log file
       produced by running these tests.
     overwrite_summary (bool): Whether to set the "name" and "gn_label" fields
       in the summary.json produced by these tests using the corresponding
@@ -595,7 +595,7 @@
 
     Args:
       test_results (FuchsiaTestResults): Fuchsia test result object
-      presentation (dict|None): A particular step's presentation on which to log
+      presentation (dict or None): A particular step's presentation on which to log
         test result outputs; if not provided, that of the active result will be
         used.
     """
@@ -979,9 +979,9 @@
       symbolize_tool (Path): The path to the symbolize tool.
       llvm_symbolizer (Path): The path to the llvm_symbolizer tool.
       debug_symbol_gcs_bucket (str): A GCS bucket hosting debug symbols.
-      symbolizer_output (Path|None): A path to a file to write the symbolizer's
+      symbolizer_output (Path or None): A path to a file to write the symbolizer's
         stdout.
-      presentation (StepPresentation|None): The step presentation to attach
+      presentation (StepPresentation or None): The step presentation to attach
         logs to. Defaults to `active_result.presentation`.
 
     Raises:
diff --git a/recipe_modules/testing/test_api.py b/recipe_modules/testing/test_api.py
index 28c44b1..f6d0edf 100644
--- a/recipe_modules/testing/test_api.py
+++ b/recipe_modules/testing/test_api.py
@@ -129,7 +129,7 @@
       task_results (seq[StepTestData]): step test data to be used for the
         collect step.
       iteration (int): iteration of swarming_retry
-      attempt (int|None): index of attempt (if None, swarming_retry will
+      attempt (int or None): index of attempt (if None, swarming_retry will
         make an educated guess)
 
     Returns:
diff --git a/recipe_modules/testing_requests/api.py b/recipe_modules/testing_requests/api.py
index 564f6ef..a68396d 100644
--- a/recipe_modules/testing_requests/api.py
+++ b/recipe_modules/testing_requests/api.py
@@ -301,7 +301,7 @@
       shards (list of testsharder.Shard): Test shards.
       use_runtests (bool): Whether to use runtests (or else run_test_component)
         when executing tests on target.
-      default_service_account (str|None): The default service account to run the
+      default_service_account (str or None): The default service account to run the
         test task with. This is required for fetching images from GCS.
       timeout_secs (int): The amount of seconds to wait for the tests to execute
         before giving up.
@@ -368,7 +368,7 @@
         task, once scheduled (enforced by swarming).
       swarming_io_timeout_secs (int): The swarming task will be killed if it does
         not produce any output for this long.
-      default_service_account (str|None): The default service account to run the
+      default_service_account (str or None): The default service account to run the
         task with.
 
     Returns:
@@ -450,8 +450,8 @@
       timeout_secs (int): The amount of seconds to wait for the tests to execute
         before giving up.
       qemu_type (str): type of qemu, either QEMU or AEMU.
-      service_account (str|None): The service account to run the task with.
-      shard (api.testsharder.Shard|None): The shard associated with the task or
+      service_account (str or None): The service account to run the task with.
+      shard (api.testsharder.Shard or None): The shard associated with the task or
         None if it's not a shard.
 
     Returns:
@@ -561,7 +561,7 @@
       pave (bool): Whether or not the build artifacts should be paved.
       timeout_secs (int): The amount of seconds to wait for the tests to execute
         before giving up.
-      service_account (str|None): The service account to run the task with.
+      service_account (str or None): The service account to run the task with.
 
     Returns:
       An api.swarming.TaskRequest representing the swarming task request.
@@ -684,8 +684,8 @@
       isolate_tree (api.file.SymlinkTree): A tree into which artifacts may be
         linked.
       build_results (FuchsiaBuildResults): The result of a fuchsia build.
-      shard (api.testsharder.Shard|None): A test shard.
-      test_bot_cpu (str|None): The host cpu of the bot running the test task.
+      shard (api.testsharder.Shard or None): A test shard.
+      test_bot_cpu (str or None): The host cpu of the bot running the test task.
       legacy_qemu (bool): Whether to only isolate the images needed to run QEMU
         alone.
 
diff --git a/recipe_modules/testsharder/api.py b/recipe_modules/testsharder/api.py
index 0f60f29..7a36bdf 100644
--- a/recipe_modules/testsharder/api.py
+++ b/recipe_modules/testsharder/api.py
@@ -234,14 +234,14 @@
       testsharder_path (Path): path to the testsharder tool.
       build_dir (Path): path to a Fuchsia build directory root, in
         which GN has been run (ninja need not have been executed).
-      max_shard_size (long|None):  Additional shards will be created if needed
+      max_shard_size (long or None):  Additional shards will be created if needed
         to keep the number of tests per shard <= this number.
-      mode (str|None): mode in which the testsharder may run (e.g.,
+      mode (str or None): mode in which the testsharder may run (e.g.,
         normal or restricted); if None, the default normal mode will
         be used.
         See https://fuchsia.googlesource.com/fuchsia/+/master/tools/integration/testsharder/mode.go
         for more details
-      multipliers (Path|None): path of a json manifest specifying tests to run
+      multipliers (Path or None): path of a json manifest specifying tests to run
         multiple times; if supplied, new shards will be created to run them.
       output_file (Path): optional file path to leak output to.
       tags (list(str)): tags on which to filter test specs.
diff --git a/recipe_modules/upload/api.py b/recipe_modules/upload/api.py
index 4155f6c..d43ea4d 100644
--- a/recipe_modules/upload/api.py
+++ b/recipe_modules/upload/api.py
@@ -47,7 +47,7 @@
       bucket (str): The name of the GCS bucket to upload to.
       subpath (str): The end of the destination path within the
         build-specific subdirectory.
-      namespace (str|None): A unique ID for this build. Defaults to the current
+      namespace (str or None): A unique ID for this build. Defaults to the current
         build ID or led run ID.
     Returns:
       The upload step.
@@ -73,7 +73,7 @@
       bucket (str): The name of the GCS bucket to upload to.
       subpath (str): The end of the destination path within the
         build-specific subdirectory.
-      namespace (str|None): A unique ID for this build. Defaults to the current
+      namespace (str or None): A unique ID for this build. Defaults to the current
         build ID or led run ID.
     Returns:
       The upload step.
@@ -133,10 +133,10 @@
         the paths to directories or files to upload.
       search_tag (dict): The tag to search for the CIPD pin with. This should
         contain one element and be either `git_revision` or `version`.
-      repository (str|None): The git repository where code for the package
+      repository (str or None): The git repository where code for the package
         lives.
-      install_mode (str|None): The install mode for the package.
-      extra_tags (dict|None): Extra tags to add to the package.
+      install_mode (str or None): The install mode for the package.
+      extra_tags (dict or None): Extra tags to add to the package.
     Returns:
       The CIPDApi.Pin instance_id.
     """