Commands

Drop Expired User Accounts

class integreat_cms.core.management.commands.drop_expired_user_accounts.Command(stdout=None, stderr=None, no_color=False, force_color=False)[source]

Bases: LogCommand

Management command to delete users who were not activated within 7 days of creation

handle(*args: Any, **options: Any) None[source]

The actual logic of the command. Subclasses must implement this method.

Parameters:
  • args (Any)

  • options (Any)

Return type:

None

Duplicate Pages

class integreat_cms.core.management.commands.duplicate_pages.Command(stdout=None, stderr=None, no_color=False, force_color=False)[source]

Bases: DebugCommand

Management command to duplicate all pages of a region

add_arguments(parser: CommandParser) None[source]

Define the arguments of this command

Parameters:

parser (CommandParser) – The argument parser

Return type:

None

handle(*args: Any, region_slug: str, **options: Any) None[source]

Try to run the command

Parameters:
  • *args (Any) – The supplied arguments

  • region_slug (str) – The slug of the given region

  • **options (Any) – The supplied keyword options

Raises:

CommandError – When the input is invalid

Return type:

None

integreat_cms.core.management.commands.duplicate_pages.duplicate_page(old_page: Page, new_parent: Page | None = None) Page[source]

Duplicate a page and insert it as child of the given new parent

Parameters:
  • old_page (Page) – The old page which should be copied

  • new_parent (Page | None) – The new parent where the duplicate should reside

Returns:

The copied page

Return type:

Page

integreat_cms.core.management.commands.duplicate_pages.duplicate_pages(region: Region, old_parent: Page | None = None, new_parent: Page | None = None) None[source]

Duplicate pages recursively for the given region

Parameters:
  • region (Region) – The given region

  • old_parent (Page | None) – The old parent page which descendants should be copied

  • new_parent (Page | None) – The new parent where the duplicates should reside

Return type:

None

Find Large Files

class integreat_cms.core.management.commands.find_large_files.Command(stdout=None, stderr=None, no_color=False, force_color=False)[source]

Bases: LogCommand

Management command to find large media files

add_arguments(parser: CommandParser) None[source]

Define the arguments of this command

Parameters:

parser (CommandParser) – The argument parser

Return type:

None

handle(*args: Any, limit: int, threshold: int, **options: Any) None[source]

Try to run the command

Parameters:
  • *args (Any) – The supplied arguments

  • limit (int) – Limit the result to this number

  • threshold (int) – Only show the files larger than this value

  • **options (Any) – The supplied keyword options

Raises:

CommandError – When the input is invalid

Return type:

None

Find Missing Versions

class integreat_cms.core.management.commands.find_missing_versions.Command(stdout=None, stderr=None, no_color=False, force_color=False)[source]

Bases: LogCommand

Management command to find missing versions

add_arguments(parser: CommandParser) None[source]

Define the arguments of this command

Parameters:

parser (CommandParser) – The argument parser

Return type:

None

handle(*args: Any, model: ModelBase, **options: Any) None[source]

Try to run the command

Parameters:
  • *args (Any) – The supplied arguments

  • model (ModelBase) – The model to check

  • **options (Any) – The supplied keyword options

Return type:

None

integreat_cms.core.management.commands.find_missing_versions.MODELS: dict[str, ModelBase] = {'event': <class 'integreat_cms.cms.models.events.event_translation.EventTranslation'>, 'page': <class 'integreat_cms.cms.models.pages.page_translation.PageTranslation'>, 'poi': <class 'integreat_cms.cms.models.pois.poi_translation.POITranslation'>}[source]

The possible model choices

{
    'event': <class 'integreat_cms.cms.models.events.event_translation.EventTranslation'>,
    'page': <class 'integreat_cms.cms.models.pages.page_translation.PageTranslation'>,
    'poi': <class 'integreat_cms.cms.models.pois.poi_translation.POITranslation'>,
}
integreat_cms.core.management.commands.find_missing_versions.get_model(model_str: str) ModelBase[source]

Convert a model string to a translation model class

Parameters:

model_str (str) – The model string

Returns:

The model class

Raises:

ArgumentTypeError – When the input is invalid

Return type:

ModelBase

Firebase Data Backup

class integreat_cms.core.management.commands.firebase_data_backup.Command(stdout=None, stderr=None, no_color=False, force_color=False)[source]

Bases: LogCommand

Management command for backing up Firebase Cloud Messaging (FCM) data.

property client: FirebaseDataClient[source]

Lazy version of the firebase data client because otherwise the documentation build fails.

handle(*args: Any, **options: Any) None[source]

The actual logic of the command. Subclasses must implement this method.

Parameters:
  • args (Any)

  • options (Any)

Return type:

None

Hix Bulk

class integreat_cms.core.management.commands.hix_bulk.Command(stdout=None, stderr=None, no_color=False, force_color=False)[source]

Bases: LogCommand

Command to calculate the hix values for public page translations which do not currently have a score

add_arguments(parser: CommandParser) None[source]

Define the arguments of this command

Parameters:

parser (CommandParser) – The argument parser

Return type:

None

handle(*args: Any, region_slugs: list[str], **options: Any) None[source]

Try to run the command

Parameters:
  • *args (Any) – The supplied arguments

  • region_slugs (list[str]) – The slugs of the given regions

  • **options (Any) – The supplied keyword options

Return type:

None

integreat_cms.core.management.commands.hix_bulk.calculate_hix_for_region(region: Region) None[source]

Calculates the hix score for all missing pages in the region. Assumes that hix is globally enabled and enabled for the region

Parameters:

region (Region) – The region

Return type:

None

Import Events

class integreat_cms.core.management.commands.import_events.Command(stdout=None, stderr=None, no_color=False, force_color=False)[source]

Bases: LogCommand

Management command to import events from external calendars

handle(*args: Any, **options: Any) None[source]

Try to run the command

Parameters:
  • *args (Any) – The supplied arguments

  • **options (Any) – The supplied keyword options

Return type:

None

Import POIs From Csv

class integreat_cms.core.management.commands.import_pois_from_csv.Command(stdout=None, stderr=None, no_color=False, force_color=False)[source]

Bases: LogCommand

Management command to import POIs from CSV

add_arguments(parser: CommandParser) None[source]

Define the arguments of this command

Parameters:

parser (CommandParser) – The argument parser

Return type:

None

autocomplete_address(poi: dict) dict[source]

Fill in missing address details

Parameters:

poi (dict) – The input POI dict

Returns:

The updated POI dict

Return type:

dict

get_category(category_name: str, default_language: Language) POICategory[source]

Get a POI category object from the category’s name

Parameters:
  • category_name (str) – The translated name of the category

  • default_language (Language) – The default language of the current region

Returns:

The given POI category

Return type:

POICategory

get_opening_hours(poi: dict) list[source]

Parse the opening hour columns into our JSON structure

Parameters:

poi (dict) – The input POI dict

Returns:

The opening hour list

Return type:

list

get_or_create_default_category(default_language: Language) POICategory[source]

Get the default POI category or create if not exists

Parameters:

default_language (Language) – The default language of the current region

Returns:

The default POI category

Return type:

POICategory

handle(*args: Any, csv_filename: str, region_slug: str, username: str, **options: Any) None[source]

Try to run the command

Parameters:
  • *args (Any) – The supplied arguments

  • csv_filename (str) – The source CSV file to import from

  • region_slug (str) – Import the POI objects into this region

  • username (str) – The username of the creator

  • **options (Any) – The supplied keyword options

Raises:

CommandError – When the input is invalid

Return type:

None

integreat_cms.core.management.commands.import_pois_from_csv.strtobool(val: str) bool[source]

A slightly adapted variant of strtobool which treats an empty string as false

Parameters:

val (str) – The value as string

Returns:

The value as boolean

Return type:

bool

Repair Tree

class integreat_cms.core.management.commands.repair_tree.Command(stdout=None, stderr=None, no_color=False, force_color=False)[source]

Bases: LogCommand

Management command to repair a broken Treebeard page tree

add_arguments(parser: CommandParser) None[source]

Define the arguments of this command

Parameters:

parser (CommandParser) – The argument parser

Return type:

None

handle(*args: Any, page_id: int, commit: bool, **options: Any) None[source]

Try to run the command

Parameters:
  • args (Any)

  • page_id (int)

  • commit (bool)

  • options (Any)

Return type:

None

Reset Mt Budget

class integreat_cms.core.management.commands.reset_mt_budget.Command(stdout=None, stderr=None, no_color=False, force_color=False)[source]

Bases: LogCommand

Management command to reset MT budget

add_arguments(parser: CommandParser) None[source]

Define the arguments of this command

Parameters:

parser (CommandParser) – The argument parser

Return type:

None

handle(*args: Any, force: bool, **options: Any) None[source]

Try to run the command

Parameters:
  • args (Any)

  • force (bool)

  • options (Any)

Return type:

None

Send Push Notifications

class integreat_cms.core.management.commands.send_push_notifications.Command(stdout=None, stderr=None, no_color=False, force_color=False)[source]

Bases: LogCommand

Management command to send timed push notifications

handle(*args: Any, **options: Any) None[source]

Try to run the command

Parameters:
  • *args (Any) – The supplied arguments

  • **options (Any) – The supplied keyword options

Return type:

None

send_push_notification(counter: int, total: int, push_notification: PushNotification) None[source]

Sends a push notification

Parameters:
  • counter (int) – The current counter

  • total (int) – How many push notifications are scheduled for this slot

  • push_notification (PushNotification) – The push notification object

Return type:

None

SUMM.AI Bulk

class integreat_cms.core.management.commands.summ_ai_bulk.Command(stdout=None, stderr=None, no_color=False, force_color=False)[source]

Bases: LogCommand

Management command to create an initial translation for Easy German via SUMM.AI

add_arguments(parser: CommandParser) None[source]

Define the arguments of this command

Parameters:

parser (CommandParser) – The argument parser

Return type:

None

handle(*args: Any, region_slug: str, username: str, initial: bool, **options: Any) None[source]

Try to run the command

Parameters:
  • *args (Any) – The supplied arguments

  • region_slug (str) – The slug of the given region

  • username (str) – The username of the creator

  • initial (bool) – Whether existing translations should not be updated

  • **options (Any) – The supplied keyword options

Return type:

None

integreat_cms.core.management.commands.summ_ai_bulk.summ_ai_bulk(region: Region, username: str, initial: bool = True) None[source]

Translate a complete region into Easy German

Parameters:
  • region (Region) – The current region

  • username (str) – The username of the creator of the translation objects

  • initial (bool) – Whether existing translations should not be updated

Return type:

None