text: # Copyright 2018 Google LLC
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  """This script is used to synthesize generated parts of this library."""
  
  import re
  
  import synthtool as s
  from synthtool import gcp
  from synthtool.languages import python
  
  common = gcp.CommonTemplates()
  
  default_version = "v1"
  
  for library in s.get_staging_dirs(default_version):
      # Rename `policy_` to `policy` to avoid breaking change in a GA library
      # Only replace if a non-alphanumeric (\W) character follows `policy_`
      s.replace(library / "**/*.py", "policy_(\W)", "policy\g<1>")
  
      s.move(library, excludes=["docs/index.rst", "nox.py", "README.rst", "setup.py"])
  
  s.remove_staging_dirs()
  
  # ----------------------------------------------------------------------------
  # Add templated files
  # ----------------------------------------------------------------------------
  templated_files = common.py_library(
      samples=True,  # set to True only if there are samples
      microgenerator=True,
      cov_level=100
  )
  s.move(templated_files, excludes=[".coveragerc"])  # microgenerator has a good .coveragerc file
  
  # ----------------------------------------------------------------------------
  # Samples templates
  # ----------------------------------------------------------------------------
  python.py_samples(skip_readmes=True)
  
  # Temporarily disable warnings due to
  # https://github.com/googleapis/gapic-generator-python/issues/525
  s.replace("noxfile.py", '[\"\']-W[\"\']', '# "-W"')
  
  s.shell.run(["nox", "-s", "blacken"], hide_output=False)
  
  