#!/usr/bin/env python3
import argparse
from nullroute.scrape import Scraper
import requests
import os
import time

class HlsRipper(Scraper):
    def rip(self, hls_url):
        base = os.path.dirname(hls_url)
        while True:
            resp = self.ua.get(hls_url)
            for line in resp.content.splitlines():
                if line.startswith(b"#"):
                    continue
                else:
                    segment = line.decode()
                    if not os.path.exists(segment):
                        print(segment)
                        seg_url = os.path.join(base, segment)
                        self.save_file(seg_url, segment, progress=True)
            time.sleep(1)

parser = argparse.ArgumentParser()
parser.add_argument("hls_url",
                    help="HLS M3U8 playlist URL")
args = parser.parse_args()

hr = HlsRipper()
hr.rip(args.hls_url)
