🔍 Code Extractor

function is_published_status_v1

Maturity: 33

Checks whether a given status value belongs to the published/non-editable status group by verifying its membership in NON_EDITABLE_STATUSES.

File:
/tf/active/vicechatdev/CDocs single class/config/settings.py
Lines:
330 - 332
Complexity:
simple

Purpose

This function serves as a validation utility to determine if a status represents a published or non-editable state. It's typically used in content management systems, workflow engines, or document processing applications to enforce business rules around which statuses allow editing and which don't. The function acts as a centralized check to maintain consistency across the codebase when determining editability based on status.

Source Code

def is_published_status(status):
    """Check if status is in the published/non-editable group."""
    return status in NON_EDITABLE_STATUSES

Parameters

Name Type Default Kind
status - - positional_or_keyword

Parameter Details

status: The status value to check. Expected to be a value that can be compared for membership in NON_EDITABLE_STATUSES collection. This could be a string, integer, Enum member, or any hashable type depending on how NON_EDITABLE_STATUSES is defined. No type constraints are enforced by the function signature.

Return Value

Returns a boolean value: True if the status is found in NON_EDITABLE_STATUSES (indicating it's published/non-editable), False otherwise. The return type is bool.

Usage Example

# Assuming NON_EDITABLE_STATUSES is defined
NON_EDITABLE_STATUSES = ['published', 'archived', 'locked']

# Check if a status is published/non-editable
status = 'published'
if is_published_status(status):
    print('This content cannot be edited')
else:
    print('This content can be edited')

# Example with enum
from enum import Enum

class Status(Enum):
    DRAFT = 'draft'
    PUBLISHED = 'published'
    ARCHIVED = 'archived'

NON_EDITABLE_STATUSES = {Status.PUBLISHED, Status.ARCHIVED}

current_status = Status.PUBLISHED
if is_published_status(current_status):
    print('Cannot modify published content')

Best Practices

  • Ensure NON_EDITABLE_STATUSES is defined as a set or frozenset for O(1) lookup performance rather than a list for O(n) performance
  • The status parameter should match the type of elements in NON_EDITABLE_STATUSES to avoid false negatives from type mismatches
  • Consider using Enum types for status values to provide type safety and prevent invalid status values
  • Document what NON_EDITABLE_STATUSES contains in your module to make the function's behavior clear to other developers
  • This function assumes NON_EDITABLE_STATUSES is immutable; if it needs to change at runtime, consider making it configurable
  • Use this function consistently throughout your codebase rather than directly checking membership in NON_EDITABLE_STATUSES to maintain a single source of truth

Similar Components

AI-powered semantic similarity - components with related functionality:

  • function is_published_status 82.1% similar

    Validates whether a document status string represents a published or non-editable state by checking against a predefined list of non-editable statuses.

    From: /tf/active/vicechatdev/CDocs/models/document_status.py
  • function is_editable_status_v1 81.2% similar

    Validates whether a given status value belongs to the predefined group of editable statuses by checking membership in the EDITABLE_STATUSES constant.

    From: /tf/active/vicechatdev/CDocs single class/config/settings.py
  • function is_editable_status 66.1% similar

    Validates whether a given document status string allows editing by checking it against a predefined list of editable statuses.

    From: /tf/active/vicechatdev/CDocs/models/document_status.py
  • function is_valid_document_status 61.5% similar

    Validates whether a given status code exists in the DOCUMENT_STATUS_CONFIG configuration.

    From: /tf/active/vicechatdev/CDocs/settings_prod.py
  • function is_valid_status_transition 60.2% similar

    Validates whether a transition from one status to another is allowed based on predefined valid status transitions.

    From: /tf/active/vicechatdev/CDocs/settings_prod.py
← Back to Browse