projects:fido_man
Table of Contents
FTN Nodelist Editor
A PyQt6 desktop application for Linux to create, view, edit, and maintain FidoNet-style (FTN) nodelists, including Fido, FSX, and RetroNet formats.
This tool is intended to assist network coordinators in maintaining accurate and consistent nodelists, as well as bootstrapping new FTN networks.
Project Goals
- Read existing FTN nodelist files
- Display nodelist hierarchy in a tree view
- Edit node information via structured editor fields
- Validate common FTN constraints
- Save modified nodelists back to disk
- Generate new nodelists for new networks
Supported Formats
- Fido-style nodelists
- FSX extensions
- RetroNet conventions
- Comment preservation
Application Layout
Main Window
- Menu bar
- File β New
- File β Open
- File β Save
- File β Save As
- File β Exit
- Editor panel (top)
- Address fields (Zone / Net / Node / Point)
- Sysop
- Location
- Flags
- Misc data
- Tree view (bottom)
- Zone
- Region
- Net
- Node
- Point
- Action buttons
- Save
- Cancel
v0.1 Feature Scope
Included
- Load and parse existing nodelists
- Structured in-memory data model
- Tree-based navigation
- Field-based editor panel
- Add / delete nodes via context menu
- Validation:
- Required fields
- Duplicate addresses
- Unsaved-change detection
- New nodelist creation
Deferred (Post v0.1)
- Undo / Redo
- Diff preview
- Multiple output formats
- Template system
- NODEDIFF generation
Internal Architecture
Directory Layout
ftn-nodelist-editor/ βββ app.py βββ ui/ βββ model/ βββ parser/ βββ validation/ βββ resources/
Design Principles
- UI operates on structured objects, not raw text
- Parsing and serialization are isolated
- Errors are non-fatal and reported to the user
- Future formats supported via parser modules
Development Notes
- Target platform: Linux
- Toolkit: PyQt6
- Encoding awareness required (CP437 vs UTF-8)
- Preserve comments and ordering on save
Future Ideas
- Network-wide statistics view
- Echomail announcement generator
- Export node blocks
- Visual diff viewer
- Plug-in validation rules
Status
- Planning: IN PROGRESS
- Initial parser:*
projects/fido_man.txt Β· Last modified: by freedomotter
