Omar Abdelkafi

12 papers B 3Misc 1Journal 2Unranked 5
YearRankTypeTitle / Venue / Authors
2020 conf
PPSN (1)
Omar Abdelkafi, Bilel Derbel, Arnaud Liefooghe, Darrell Whitley
2019 B conf
CEC
Omar Abdelkafi, Bilel Derbel, Arnaud Liefooghe
2017 conf
Artificial Evolution
Omar Abdelkafi, Lhassane Idoumghar, Julien Lepagnot
2017 B conf
CEC
Omar Abdelkafi, Lhassane Idoumghar, Julien Lepagnot, Jean-Louis Paillaud
2017 J jnl
Comput. Chem. Eng.
Omar Abdelkafi, Lhassane Idoumghar, Julien Lepagnot, Jean-Louis Paillaud, Irena Deroche, Laurent A. Baumes, Pierre Collet
2016 J jnl
Parallel Process. Lett.
Omar Abdelkafi, Lhassane Idoumghar, Julien Lepagnot
2016 conf
ICSIBO
Omar Abdelkafi, Lhassane Idoumghar, Julien Lepagnot, Mathieu Brévilliers
2016 conf
ICSIBO
Mathieu Brévilliers, Omar Abdelkafi, Julien Lepagnot, Lhassane Idoumghar
2016
Omar Abdelkafi
2015 Misc conf
ICCS
Omar Abdelkafi, Lhassane Idoumghar, Julien Lepagnot
2015 B conf
SMC
Omar Abdelkafi, Lhassane Idoumghar, Julien Lepagnot
2014 conf
ICSIBO
Omar Abdelkafi, Julien Lepagnot, Lhassane Idoumghar
lint.sh
← Index lint.sh bash
#!/bin/bash

# Linting script for REDB project
# Usage: ./lint.sh [--fix] [--check-only]

set -e

# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# Default values
FIX=false
CHECK_ONLY=false

# Parse arguments
while [[ $# -gt 0 ]]; do
    case $1 in
        --fix)
            FIX=true
            shift
            ;;
        --check-only)
            CHECK_ONLY=true
            shift
            ;;
        *)
            echo "Unknown option: $1"
            echo "Usage: $0 [--fix] [--check-only]"
            exit 1
            ;;
    esac
done

echo -e "${GREEN}Running linting checks on REDB project...${NC}"

# Check if we're in a virtual environment
if [[ "$VIRTUAL_ENV" == "" ]]; then
    echo -e "${YELLOW}Warning: Not in a virtual environment. Consider activating one.${NC}"
fi

# Function to run a command and check its exit status
run_check() {
    local name="$1"
    local command="$2"
    
    echo -e "\n${YELLOW}Running $name...${NC}"
    if eval "$command"; then
        echo -e "${GREEN}✓ $name passed${NC}"
    else
        echo -e "${RED}✗ $name failed${NC}"
        return 1
    fi
}

# Track overall success
overall_success=true

# 1. isort (import sorting)
if [[ "$FIX" == true ]]; then
    run_check "isort" "isort redb/" || overall_success=false
else
    run_check "isort" "isort --check-only --diff redb/" || overall_success=false
fi

# 2. black (code formatting)
if [[ "$FIX" == true ]]; then
    run_check "black" "black redb/" || overall_success=false
else
    run_check "black" "black --check --diff redb/" || overall_success=false
fi

# 3. flake8 (style and error checking)
run_check "flake8" "flake8 redb/" || overall_success=false

# 4. pylint (comprehensive analysis)
run_check "pylint" "pylint --rcfile=pyproject.toml redb/" || overall_success=false

echo -e "\n${GREEN}Linting completed!${NC}"

if [[ "$overall_success" == true ]]; then
    echo -e "${GREEN}All checks passed! ✨${NC}"
    exit 0
else
    echo -e "${RED}Some checks failed. Please fix the issues above.${NC}"
    exit 1
fi