

# manage_settings

`scripts.manage_settings`

Global Settings and Password Management Tool for nova_fde

This script manages global database connection settings and password expiration tracking.

Usage: python -m nova_fde.scripts.manage_settings \[options\]

Options: –create Create a new global settings file –db-host HOST Database host for template creation –db-port PORT Database port for template creation (default: 5432) –db-name NAME Database name for template creation –update-password Record a password update (resets expiration timer) –check Check password expiration status –create-reminder Create calendar reminder for password expiration –expiry DAYS Set password expiry days (e.g., –expiry=90) –reminder DAYS Set reminder days before expiry (e.g., –reminder=14) –settings-path PATH Path to global settings file –show Show the current global settings

## Classes

| Name | Description |
|----|----|
| [SettingsManager](#nova_fde.scripts.manage_settings.SettingsManager) | Manages global settings and password expiration. |

### SettingsManager

``` python
scripts.manage_settings.SettingsManager(self, settings_path=None)
```

Manages global settings and password expiration.

#### Methods

| Name | Description |
|----|----|
| [check_expiration](#nova_fde.scripts.manage_settings.SettingsManager.check_expiration) | Check password expiration status. |
| [create_calendar_reminder](#nova_fde.scripts.manage_settings.SettingsManager.create_calendar_reminder) | Create a calendar reminder file for password rotation. |
| [create_settings](#nova_fde.scripts.manage_settings.SettingsManager.create_settings) | Create a new global settings file. |
| [get_settings](#nova_fde.scripts.manage_settings.SettingsManager.get_settings) | Get global settings. |
| [load_settings](#nova_fde.scripts.manage_settings.SettingsManager.load_settings) | Load global settings from file. |
| [update_expiry_settings](#nova_fde.scripts.manage_settings.SettingsManager.update_expiry_settings) | Update password expiry settings. |
| [update_password](#nova_fde.scripts.manage_settings.SettingsManager.update_password) | Record a password update. |

##### check_expiration

``` python
scripts.manage_settings.SettingsManager.check_expiration()
```

Check password expiration status.

##### create_calendar_reminder

``` python
scripts.manage_settings.SettingsManager.create_calendar_reminder()
```

Create a calendar reminder file for password rotation.

##### create_settings

``` python
scripts.manage_settings.SettingsManager.create_settings(
    db_host,
    db_port,
    db_name,
    expiry_days=90,
    reminder_days=14,
)
```

Create a new global settings file.

##### get_settings

``` python
scripts.manage_settings.SettingsManager.get_settings()
```

Get global settings.

##### load_settings

``` python
scripts.manage_settings.SettingsManager.load_settings()
```

Load global settings from file.

##### update_expiry_settings

``` python
scripts.manage_settings.SettingsManager.update_expiry_settings(
    expiry_days=None,
    reminder_days=None,
)
```

Update password expiry settings.

##### update_password

``` python
scripts.manage_settings.SettingsManager.update_password(username=None)
```

Record a password update.

## Functions

| Name | Description |
|----|----|
| [main](#nova_fde.scripts.manage_settings.main) | Main entry point. |
| [parse_args](#nova_fde.scripts.manage_settings.parse_args) | Parse command-line arguments. |

### main

``` python
scripts.manage_settings.main()
```

Main entry point.

### parse_args

``` python
scripts.manage_settings.parse_args()
```

Parse command-line arguments.
