Ejemplo n.º 1
0
def run(command, inp):
    command = dynamic_cast(T_STRING, command).value
    args = map(T_STRING.create_from, inp)
    args = list(map(lambda v: v.value, args))

    print("Running '{}' with arguments {}".format(command, args))
    subprocess.call([command] + args)
Ejemplo n.º 2
0
def less_equals(i, inp):
    i = dynamic_cast(T_INT, i).value
    return inp <= i
Ejemplo n.º 3
0
def less_than(i, inp):
    i = dynamic_cast(T_INT, i).value
    return inp < i
Ejemplo n.º 4
0
def greater_equals(i, inp):
    i = dynamic_cast(T_INT, i).value
    return inp >= i
Ejemplo n.º 5
0
def greater_than(i, inp):
    i = dynamic_cast(T_INT, i).value
    return inp > i
Ejemplo n.º 6
0
def contains(substring, inp):
    substring = dynamic_cast(T_STRING, substring).value
    return substring in inp
Ejemplo n.º 7
0
def replace(old, new, inp):
    old = dynamic_cast(T_STRING, old)
    new = dynamic_cast(T_STRING, new)
    return inp.replace(old.value, new.value)
Ejemplo n.º 8
0
def take(count, inp):
    count = dynamic_cast(T_INT, count).value
    return inp[0:int(count)]
Ejemplo n.º 9
0
def add(num, inp):
    num = dynamic_cast(T_INT, num).value
    return inp - num
Ejemplo n.º 10
0
def has_ext(ext, inp):
    ext = dynamic_cast(T_STRING, ext).value
    (_, file_ext) = os.path.splitext(inp)
    file_ext = file_ext[1:]  # strip leading dot
    return file_ext == ext
Ejemplo n.º 11
0
def replace_ext(new_ext, inp):
    new_ext = dynamic_cast(T_STRING, new_ext).value
    (base, ext) = os.path.splitext(inp)
    if ext != "":
        return base + "." + new_ext
    return inp
Ejemplo n.º 12
0
def index(idx, inp):
    idx = dynamic_cast(T_INT, idx).value
    try:
        return T_STRING.create_from(inp[idx]).value
    except IndexError:
        panic("array index out of range")
Ejemplo n.º 13
0
def join(separator, inp):
    separator = dynamic_cast(T_STRING, separator).value
    vals = map(lambda x: T_STRING.create_from(x).value, inp)
    return separator.join(vals)
Ejemplo n.º 14
0
def split(separator, inp):
    separator = dynamic_cast(T_STRING, separator)
    return map(add_dynamic_type, inp.split(separator.value))
Ejemplo n.º 15
0
def starts_with(pattern, inp):
    pattern = dynamic_cast(T_STRING, pattern).value
    return inp.startswith(pattern)
Ejemplo n.º 16
0
def append(suffix, inp):
    return inp + dynamic_cast(T_STRING, suffix).value
Ejemplo n.º 17
0
def prepend(prefix, inp):
    return dynamic_cast(T_STRING, prefix).value + inp
Ejemplo n.º 18
0
def mul(num, inp):
    num = dynamic_cast(T_INT, num).value
    return inp * num
Ejemplo n.º 19
0
def drop(count, inp):
    count = dynamic_cast(T_INT, count).value
    return inp[int(count):]
Ejemplo n.º 20
0
def substr(start, end, inp):
    start = dynamic_cast(T_INT, start).value
    end = dynamic_cast(T_INT, end).value
    return inp[start:end]