tools_webrtc dir converted to py3 + top level PRESUBMIT script

Bug: webrtc:13607
Change-Id: Ib018e43ea977cc24dd71048e68e3343741f7f31b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249083
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#35953}
diff --git a/tools_webrtc/download_tools.py b/tools_webrtc/download_tools.py
index 62602de..16d7e5f 100755
--- a/tools_webrtc/download_tools.py
+++ b/tools_webrtc/download_tools.py
@@ -1,4 +1,5 @@
-#!/usr/bin/env python
+#!/usr/bin/env vpython3
+
 # Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
 #
 # Use of this source code is governed by a BSD-style license
@@ -27,34 +28,34 @@
 
 
 def main(directories):
-    if not directories:
-        directories = [SCRIPT_DIR]
+  if not directories:
+    directories = [SCRIPT_DIR]
 
-    for path in directories:
-        cmd = [
-            sys.executable,
-            os.path.join(find_depot_tools.DEPOT_TOOLS_PATH,
-                         'download_from_google_storage.py'),
-            '--directory',
-            '--num_threads=10',
-            '--bucket',
-            'chrome-webrtc-resources',
-            '--auto_platform',
-            '--recursive',
-            path,
-        ]
-        print 'Downloading precompiled tools...'
+  for path in directories:
+    cmd = [
+        sys.executable,
+        os.path.join(find_depot_tools.DEPOT_TOOLS_PATH,
+                     'download_from_google_storage.py'),
+        '--directory',
+        '--num_threads=10',
+        '--bucket',
+        'chrome-webrtc-resources',
+        '--auto_platform',
+        '--recursive',
+        path,
+    ]
+    print('Downloading precompiled tools...')
 
-        # Perform download similar to how gclient hooks execute.
-        try:
-            gclient_utils.CheckCallAndFilter(cmd,
-                                             cwd=SRC_DIR,
-                                             always_show_header=True)
-        except (gclient_utils.Error, subprocess2.CalledProcessError) as e:
-            print 'Error: %s' % str(e)
-            return 2
-        return 0
+    # Perform download similar to how gclient hooks execute.
+    try:
+      gclient_utils.CheckCallAndFilter(cmd,
+                                       cwd=SRC_DIR,
+                                       always_show_header=True)
+    except (gclient_utils.Error, subprocess2.CalledProcessError) as e:
+      print('Error: %s' % str(e))
+      return 2
+    return 0
 
 
 if __name__ == '__main__':
-    sys.exit(main(sys.argv[1:]))
+  sys.exit(main(sys.argv[1:]))