def cp_image()

in devops/inter-org-artifacts-release/App.py [0:0]


def cp_image():
    pubsub_message = request.get_json()
    if not pubsub_message:
        msg = "No Pub/Sub message received"
        print(f"Error: {msg}")
        response = make_response(msg, 400)
        return jsonify(response)


    if not isinstance(pubsub_message, dict) or "message" not in pubsub_message:
        msg = "Invalid Pub/Sub message format"
        response = make_response(msg, 400)
        return jsonify(response)
    message = pubsub_message["message"]
  
#################################
# Edit Image Tag that will be copied to target
#################################
    image_tag_target = "$target_image_tag:$"


    source_ar_repository_name = SOURCE_AR_REGISTRY if not os.environ.get("SOURCE_AR_REGISTRY") else os.environ.get("SOURCE_AR_REGISTRY")
    target_ar_repository_name = TARGET_AR_REGISTRY if not os.environ.get("TARGET_AR_REGISTRY") else os.environ.get("TARGET_AR_REGISTRY")


    print(f"source repo name: {source_ar_repository_name}")
    print(f"target repo name: {target_ar_repository_name}")
  
#################################
# Copy image_tag
#################################
    if isinstance(message, dict) and "data" in message:
        data = base64.b64decode(message["data"]).decode("utf-8").strip()
        print(f"data: {data}", flush=True)
        data_clean = data.replace("data:","")
        data = json.loads(data_clean)
        image_full_name= data["tag"]
        data_repo = data["tag"].rsplit('/', 1)[0:1]
        print(f"data_repo: {str(data_repo[0])}", flush=True)


        if (data["action"] == "INSERT") and (str(data_repo[0]) == source_ar_repository_name) :
            image_full_name= data["tag"]
            image_tag_pubsub_msg = image_full_name.split("/")[::-1][:1]
            print(f"image_tag: {image_tag_pubsub_msg}", flush=True)