Source code for x_zic.parser.link

"""
Link parser
Copyright (C) 2024 Your Name

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.
"""
from typing import List, Optional
from ..core.models import Link
from .base import BaseParser





def _parse_link_lines(lines: List[str], region: str) -> List[Link]:
    """
    Parse multiple link lines from file content.
    
    Args:
        lines: File lines
        region: Region name
        
    Returns:
        List of Link objects
    """
    links = []
    
    for line_num, line in enumerate(lines, 1):
        line = line.strip()
        
        if not line or line.startswith('#'):
            continue
        
        link = parse_link_line(line, region)
        if link:
            links.append(link)
    
    return links