Nandita Pattnaik

11 papers Journal 10Unranked 1
YearRankTypeTitle / Venue / Authors
2024 J jnl
J. Cybersecur.
Gareth Mott, Sarah Turner, Jason R. C. Nurse, Nandita Pattnaik, Jamie MacColl, Pia Huesch, James Sullivan
2024 J jnl
CoRR
Nandita Pattnaik, Shujun Li, Jason R. C. Nurse
2024 J jnl
Proc. ACM Hum. Comput. Interact.
Nandita Pattnaik, Shujun Li, Jason R. C. Nurse
2023 J jnl
ACM Comput. Surv.
Nandita Pattnaik, Shujun Li, Jason R. C. Nurse
2023 conf
HAISA
Nandita Pattnaik, Jason R. C. Nurse, Sarah Turner, Gareth Mott, Jamie MacColl, Pia Huesch, James Sullivan
2023 J jnl
CoRR
Nandita Pattnaik, Jason R. C. Nurse, Sarah Turner, Gareth Mott, Jamie MacColl, Pia Huesch, James Sullivan
2023 J jnl
Comput. Secur.
Nandita Pattnaik, Shujun Li, Jason R. C. Nurse
2022 J jnl
CoRR
Sarah Turner, Nandita Pattnaik, Jason R. C. Nurse, Shujun Li
2022 J jnl
Proc. ACM Hum. Comput. Interact.
Sarah Turner, Nandita Pattnaik, Jason R. C. Nurse, Shujun Li
2022 J jnl
CoRR
Nandita Pattnaik, Shujun Li, Jason R. C. Nurse
2022 J jnl
CoRR
Nandita Pattnaik, Shujun Li, Jason R. C. Nurse
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