From bd21ff688d8598905c0ad8fd250f1f54030b7068 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Thu, 28 Jan 2021 16:04:55 +0100 Subject: Use and enforce python3 shebangs in userscripts See #6080 --- misc/userscripts/add-nextcloud-bookmarks | 2 +- misc/userscripts/add-nextcloud-cookbook | 2 +- misc/userscripts/readability | 2 +- misc/userscripts/ripbang | 2 +- scripts/dev/misc_checks.py | 8 ++++++-- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/misc/userscripts/add-nextcloud-bookmarks b/misc/userscripts/add-nextcloud-bookmarks index 5da887086..86f4f5bc7 100755 --- a/misc/userscripts/add-nextcloud-bookmarks +++ b/misc/userscripts/add-nextcloud-bookmarks @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Behavior: diff --git a/misc/userscripts/add-nextcloud-cookbook b/misc/userscripts/add-nextcloud-cookbook index a348417e0..3952bb16f 100755 --- a/misc/userscripts/add-nextcloud-cookbook +++ b/misc/userscripts/add-nextcloud-cookbook @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Behavior: diff --git a/misc/userscripts/readability b/misc/userscripts/readability index 4cf987c70..f9cbbf829 100755 --- a/misc/userscripts/readability +++ b/misc/userscripts/readability @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # Executes python-readability on current page and opens the summary as new tab. # diff --git a/misc/userscripts/ripbang b/misc/userscripts/ripbang index b35ff7777..df9cb2fbc 100755 --- a/misc/userscripts/ripbang +++ b/misc/userscripts/ripbang @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # Adds DuckDuckGo bang as searchengine. # diff --git a/scripts/dev/misc_checks.py b/scripts/dev/misc_checks.py index 1d6c3155e..f66081dbf 100644 --- a/scripts/dev/misc_checks.py +++ b/scripts/dev/misc_checks.py @@ -313,14 +313,18 @@ def check_userscript_shebangs(_args: argparse.Namespace) -> bool: continue with sub.open('r', encoding='utf-8') as f: - shebang = f.readline() + shebang = f.readline().rstrip('\n') assert shebang.startswith('#!'), shebang - binary = shebang.split()[0][2:] + shebang = shebang[2:] + binary = shebang.split()[0] if binary not in ['/bin/sh', '/usr/bin/env']: bin_name = pathlib.Path(binary).name print(f"In {sub}, use #!/usr/bin/env {bin_name} instead of #!{binary}") ok = False + elif shebang in ['/usr/bin/env python', '/usr/bin/env python2']: + print(f"In {sub}, use #!/usr/bin/env python3 instead of #!{shebang}") + ok = False return ok -- cgit v1.2.3-54-g00ecf