#!/bin/bash

PACKAGE="$1"
SKIP_PACKAGES="$PACKAGE tests management urls"
SKIP_FILES="celery.five.rst
            celery.__main__.rst
            celery.task.rst
            celery.task.base.rst
            celery.task.sets.rst
            celery.task.trace.rst
            celery.bin.rst
            celery.bin.celeryd_detach.rst
            celery.contrib.rst
            celery.fixups.rst
            celery.fixups.django.rst
            celery.local.rst
            celery.app.base.rst
            celery.apps.rst
            celery.canvas.rst
            celery.concurrency.asynpool.rst
            celery.utils.encoding.rst"

modules=$(find "$PACKAGE" -name "*.py")

failed=0
for module in $modules; do
    dotted=$(echo $module | sed 's/\//\./g')
    name=${dotted%.__init__.py}
    name=${name%.py}
    rst=$name.rst
    skip=0
    for skip_package in $SKIP_PACKAGES; do
        [ $(echo "$name" | cut -d. -f 2) == "$skip_package" ] && skip=1
    done
    for skip_file in $SKIP_FILES; do
        [ "$skip_file" == "$rst" ] && skip=1
    done

    if [ $skip -eq 0 ]; then
        if [ ! -f "docs/reference/$rst" ]; then
            if [ ! -f "docs/internals/reference/$rst" ]; then
                echo $rst :: FAIL
                failed=1
            fi
        fi
    fi
done

exit $failed
