# Copyright 2020 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 os

import synthtool as s
import synthtool.gcp as gcp
from synthtool.languages import python

common = gcp.CommonTemplates()

default_version = "v1"

for library in s.get_staging_dirs(default_version):
    # rename library to google-cloud-game-servers
    s.replace(library / "**/*.py", "google-cloud-gaming", "google-cloud-game-servers")

    # Fix paragaraph in docstring that should be a raw block
    s.replace(library / "google/**/common.py",
    """    start_time\|-------\[cron job\]-------\[cron job\]-------\[cron
    job\]---\|end_time cron job: cron spec start time \+ duration""",
    """    ::

        start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time
        cron job: cron spec start time + duration\n""",
    )

    s.move(library, excludes=["nox.py", "setup.py", "README.rst", "docs/index.rst", "*.tar.gz"])

s.remove_staging_dirs()

# ----------------------------------------------------------------------------
# Add templated files
# ----------------------------------------------------------------------------
templated_files = common.py_library(cov_level=99, microgenerator=True)
s.move(
    templated_files, excludes=[".coveragerc"],
)  # the microgenerator has a good coveragerc file

python.py_samples(skip_readmes=True)

s.shell.run(["nox", "-s", "blacken"], hide_output=False)

# ----------------------------------------------------------------------------
# Main Branch migration
# ----------------------------------------------------------------------------

s.replace(
  "*.rst",
  "master",
  "main"
)

s.replace(
  "CONTRIBUTING.rst",
  "kubernetes/community/blob/main",
  "kubernetes/community/blob/master"
)

s.replace(
  "docs/*",
  "master",
  "main"
)

s.replace(
  "docs/conf.py",
  "main_doc",
  "root_doc"
)

s.replace(
  ".kokoro/*",
  "master",
  "main"
)

s.replace(
  "README.rst",
  "google-cloud-python/blob/main/README.rst",
  "google-cloud-python/blob/master/README.rst"
)


# Copyright 2020 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 os

import synthtool as s
import synthtool.gcp as gcp
from synthtool.languages import python

common = gcp.CommonTemplates()

default_version = "v1"

for library in s.get_staging_dirs(default_version):
    # rename library to google-cloud-game-servers
    s.replace(library / "**/*.py", "google-cloud-gaming", "google-cloud-game-servers")

    # Fix paragaraph in docstring that should be a raw block
    s.replace(library / "google/**/common.py",
    """    start_time\|-------\[cron job\]-------\[cron job\]-------\[cron
    job\]---\|end_time cron job: cron spec start time \+ duration""",
    """    ::

        start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time
        cron job: cron spec start time + duration\n""",
    )

    s.move(library, excludes=["nox.py", "setup.py", "README.rst", "docs/index.rst", "*.tar.gz"])

s.remove_staging_dirs()

# ----------------------------------------------------------------------------
# Add templated files
# ----------------------------------------------------------------------------
templated_files = common.py_library(cov_level=99, microgenerator=True)
s.move(
    templated_files, excludes=[".coveragerc"],
)  # the microgenerator has a good coveragerc file

python.py_samples(skip_readmes=True)

s.shell.run(["nox", "-s", "blacken"], hide_output=False)


revert owlbot main branch templates (#189)