utils.py 1.02 KB
Newer Older
sdtblck's avatar
sdtblck committed
1
import os
Leo Gao's avatar
Leo Gao committed
2
import re
sdtblck's avatar
sdtblck committed
3
4
5
6
7
8
9
10
11
12
13


class ExitCodeError(Exception):
    pass


def sh(x):
    if os.system(x):
        raise ExitCodeError()


Jason Phang's avatar
gpt3  
Jason Phang committed
14
15
16
17
18
19
def simple_parse_args_string(args_string):
    """
    Parses something like
        args1=val1,arg2=val2
    Into a dictionary
    """
Jason Phang's avatar
Jason Phang committed
20
    args_string = args_string.strip()
Jason Phang's avatar
gpt3  
Jason Phang committed
21
22
23
24
    if not args_string:
        return {}
    arg_list = args_string.split(",")
    args_dict = {}
Jason Phang's avatar
Jason Phang committed
25
    for arg in arg_list:
Jason Phang's avatar
gpt3  
Jason Phang committed
26
27
28
        k, v = arg.split("=")
        args_dict[k] = v
    return args_dict
Leo Gao's avatar
Leo Gao committed
29
30
31

def join_iters(iters):
    for iter in iters:
Leo Gao's avatar
Leo Gao committed
32
        yield from iter
Leo Gao's avatar
Leo Gao committed
33
34
35
36
37
38
39
40
41
42


def chunks(iter, n):
    arr = []
    for x in iter:
        arr.append(x)
        if len(arr) == n:
            yield arr
            arr = []
    
Leo Gao's avatar
Leo Gao committed
43
44
45
46
47
48
49
50
    if arr: yield arr

def general_detokenize(string):
    string = string.replace(" n't", "n't")
    string = string.replace(" )", ")")
    string = string.replace("( ", "(")
    string = string.replace("\" ", "\"")
    string = string.replace(" \"", "\"")
Leo Gao's avatar
Fix  
Leo Gao committed
51
    string = re.sub(r" (['.,])", r"\1", string)
Leo Gao's avatar
Leo Gao committed
52
    return string