mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-08 09:01:03 -08:00
Replace full-file parsing with a streaming SAX parser to avoid loading entire XMLTV payloads into memory. Add support for gzipped feeds by using streaming gunzip (createGunzip) and piping into a SaxesParser, allowing incremental processing of channels and programmes. Introduce: - StreamingEpgParser class that incrementally builds channel and program objects and emits batches. - parseXmltvDate helper to normalize XMLTV datetimes to ISO strings. - batching constants and response types for channel/program batches and progress reporting. - use of Readable/Saxes for streaming parsing and reduced memory use. This change improves performance and memory usage for large EPG files, enables progress reporting and batch emission to the main thread, and prepares for handling very large or gzipped EPG sources.