#!/bin/bash

# Get script name
SCRIPT=$(basename "$0")

# First param is docker container
CONTAINER=$1

# Default configuration
PACKAGE_PATH="/usr/lib/python3/dist-packages/"

# Custom configuration
FILE_PATH="${PACKAGE_PATH}odoo/service/server.py"
FIND="for db_name, registry in registries.d.items()"
REPLACE="for db_name, registry in registries.d.copy().items()"

# Get filename
FILE=`basename "$FILE_PATH"`

# Copy from docker
docker cp "$CONTAINER":"$FILE_PATH" .

# Check if already patched
FOUND=$(grep "$FIND" $FILE)

# Find and replace
sed -i'' "s/$FIND/$REPLACE/g" $FILE

# Copy back to docker
docker cp $FILE "$CONTAINER":"$FILE_PATH"

# Remove file
rm -f $FILE

if [ -z "$FOUND" ];then
    exit 0 # File is already patched
else
    exit 2 # File changed
fi