From 1d6267bb05023fec9c7a0b73c461e89579d62eeb Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Mon, 25 Sep 2023 18:14:50 +0100 Subject: [PATCH] Port apache-latest-planet-filename to python --- .../default/apache-latest-planet-filename.erb | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/cookbooks/planet/templates/default/apache-latest-planet-filename.erb b/cookbooks/planet/templates/default/apache-latest-planet-filename.erb index 9107436b3..283e0d5a8 100644 --- a/cookbooks/planet/templates/default/apache-latest-planet-filename.erb +++ b/cookbooks/planet/templates/default/apache-latest-planet-filename.erb @@ -1,26 +1,28 @@ -#!/usr/bin/perl +#!/usr/bin/python3 # DO NOT EDIT - This file is being maintained by Chef -use strict; -use warnings; +import os +import sys -use Cwd qw(abs_path); +def main(): + for line in sys.stdin: + path = line.strip() -$| = 1; + # Construct the file path and resolve its real path, + # which will consider any symbolic links + file = os.path.realpath(f"/store/planet{path}") -while (my $path = ) -{ - chomp $path; + # Check if the constructed file path starts with '/store/planet' + # and if the file actually exists + if file.startswith('/store/planet') and os.path.isfile(file): + # Print the portion of the path after '/store/planet' + # and immediately flush the output + print(file[len('/store/planet'):], flush=True) + else: + # If the file does not exist or the path does not start with + # the expected prefix, print "NULL" and flush the output + print("NULL", flush=True) - my $file = abs_path("/store/planet${path}"); - - if ($file && $file =~ m|^/store/planet(/.*)$| && -f $file) - { - print "$1\n"; - } - else - { - print "NULL\n"; - } -} +if __name__ == "__main__": + main() -- 2.43.2