binhost: switch to typing module
Converting Python docstring annotations to typing.
BUG=b:196895668
TEST=./run_tests api/controller/binhost_unittest.py
Change-Id: I7131c36c52c87c87bbc32acb91f2c5021f460692
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/3414096
Tested-by: Kevin Shelton <kmshelton@chromium.org>
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
Commit-Queue: Kevin Shelton <kmshelton@chromium.org>
diff --git a/api/controller/binhost.py b/api/controller/binhost.py
index 652eee6..3a5a24c 100644
--- a/api/controller/binhost.py
+++ b/api/controller/binhost.py
@@ -7,6 +7,7 @@
import os
import shutil
import urllib.parse
+from typing import TYPE_CHECKING
from chromite.api import controller
from chromite.api import faux
@@ -19,6 +20,8 @@
from chromite.lib import sysroot_lib
from chromite.service import binhost
+if TYPE_CHECKING:
+ from chromite.api import api_config
_OVERLAY_TYPE_TO_NAME = {
binhost_pb2.OVERLAYTYPE_PUBLIC: constants.PUBLIC_OVERLAYS,
@@ -87,15 +90,18 @@
@faux.success(_PrepareBinhostUploadsResponse)
@faux.empty_error
@validate.require('uri')
-def PrepareBinhostUploads(input_proto, output_proto, config):
+def PrepareBinhostUploads(
+ input_proto: binhost_pb2.PrepareBinhostUploadsRequest,
+ output_proto: binhost_pb2.PrepareBinhostUploadsResponse,
+ config: 'api_config.ApiConfig'):
"""Return a list of files to upload to the binhost.
See BinhostService documentation in api/proto/binhost.proto.
Args:
- input_proto (PrepareBinhostUploadsRequest): The input proto.
- output_proto (PrepareBinhostUploadsResponse): The output proto.
- config (api_config.ApiConfig): The API call config.
+ input_proto: The input proto.
+ output_proto: The output proto.
+ config: The API call config.
"""
if input_proto.sysroot.build_target.name:
build_target_msg = input_proto.sysroot.build_target
@@ -152,16 +158,19 @@
@faux.empty_error
@validate.require('uri', 'sysroot.path')
@validate.exists('uploads_dir')
-def PrepareDevInstallBinhostUploads(input_proto, output_proto, config):
+def PrepareDevInstallBinhostUploads(
+ input_proto: binhost_pb2.PrepareDevInstallBinhostUploadsRequest,
+ output_proto: binhost_pb2.PrepareDevInstallBinhostUploadsResponse,
+ config: 'api_config.ApiConfig'):
"""Return a list of files to upload to the binhost"
The files will also be copied to the uploads_dir.
See BinhostService documentation in api/proto/binhost.proto.
Args:
- input_proto (PrepareDevInstallBinhostUploadsRequest): The input proto.
- output_proto (PrepareDevInstallBinhostUploadsResponse): The output proto.
- config (api_config.ApiConfig): The API call config.
+ input_proto: The input proto.
+ output_proto: The output proto.
+ config: The API call config.
"""
sysroot_path = input_proto.sysroot.path
@@ -211,15 +220,17 @@
@faux.empty_error
@validate.require('build_target.name', 'key', 'uri')
@validate.validation_complete
-def SetBinhost(input_proto, output_proto, _config):
+def SetBinhost(input_proto: binhost_pb2.SetBinhostRequest,
+ output_proto: binhost_pb2.SetBinhostResponse,
+ _config: 'api_config.ApiConfig'):
"""Set the URI for a given binhost key and build target.
See BinhostService documentation in api/proto/binhost.proto.
Args:
- input_proto (SetBinhostRequest): The input proto.
- output_proto (SetBinhostResponse): The output proto.
- _config (api_config.ApiConfig): The API call config.
+ input_proto: The input proto.
+ output_proto: The output proto.
+ _config: The API call config.
"""
target = input_proto.build_target.name
key = binhost_pb2.BinhostKey.Name(input_proto.key)
@@ -240,15 +251,17 @@
@validate.require('overlay_type')
@validate.is_in('overlay_type', _OVERLAY_TYPE_TO_NAME)
@validate.validation_complete
-def RegenBuildCache(input_proto, output_proto, _config):
+def RegenBuildCache(input_proto: binhost_pb2.RegenBuildCacheRequest,
+ output_proto: binhost_pb2.RegenBuildCacheResponse,
+ _config: 'api_config.ApiConfig'):
"""Regenerate the Build Cache for a build target.
See BinhostService documentation in api/proto/binhost.proto.
Args:
- input_proto (RegenBuildCacheRequest): The input proto.
- output_proto (RegenBuildCacheResponse): The output proto.
- _config (api_config.ApiConfig): The API call config.
+ input_proto: The input proto.
+ output_proto: The output proto.
+ _config: The API call config.
"""
chroot = controller_util.ParseChroot(input_proto.chroot)
overlay_type = input_proto.overlay_type