File size: 634 Bytes
6073e55
23fdbc0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Copyright (c) 2025 Ye Liu. Licensed under the BSD-3-Clause License.

import re


def parse_span(span, duration, min_len=-1):
    s, e = span
    s, e = min(duration, max(0, s)), min(duration, max(0, e))
    s, e = min(s, e), max(s, e)

    if min_len != -1 and e - s < min_len:
        h = min_len / 2
        c = min(duration - h, max(h, (s + e) / 2))
        s, e = c - h, c + h

    s, e = min(duration, max(0, s)), min(duration, max(0, e))
    return s, e


def parse_query(query):
    return re.sub(r'\s+', ' ', query).strip().strip('.').strip()


def parse_question(question):
    return re.sub(r'\s+', ' ', question).strip()