ObjChannelEdit extends ObjChannel to provide YAML export/import for
channel definitions stored in def_Channel. Channels control how reports
are delivered — email layout, headers, footers, SMTP config, styles, etc.
Unlike package-level Edit modules, ObjChannelEdit exports a single
channel per file (keyed by Channel + Package).
Exported files are written to local.documents/channels/ by default.
ObjChannel.ObjChannel
→ ObjChannelEdit.ObjChannelEdit ← this module
| Table | Purpose |
|---|---|
def_Channel |
One row per Channel/Package |
Strips Package (not portable). Empty strings and None values are
also removed. SQL fields (contextsql) are prettified. Long strings
and multi-line values are emitted as YAML block scalars (|).
Channel: DEFAULT
Email: reports@example.com
Description: Default email delivery channel
Contextsql: |
SELECT * FROM data_report WHERE Channel = 'DEFAULT'
python factory.core/extend.edit/ObjChannelEdit.py save DEFAULT
python factory.core/extend.edit/ObjChannelEdit.py save DEFAULT --filename backup.yaml
python factory.core/extend.edit/ObjChannelEdit.py load default_channel.yaml
python factory.core/extend.edit/ObjChannelEdit.py list-channels
python factory.core/extend.edit/ObjChannelEdit.py list-channels --package homechoice
| Method | Purpose |
|---|---|
load(channel_name, package) |
Load a single channel row from DB |
list_channels(package) |
List Channel, Email, Description for all channels |
export_to_file(channel_name, filename, package) |
Export channel to YAML |
import_from_data(data, package) |
Import from in-memory dict |
import_from_file(filename, package) |
Import from YAML file |