Beispiel #1
0
def update_obj_count(domain, dir_name, obj_type):
    if (domain, obj_type) not in obj_counts:
        dir_name = make_path(dir_name)
        try:
            existing_partitions = glob(make_path(dir_name) + "/*")
            if existing_partitions:
                latest_folder = max(existing_partitions)
                base = int(latest_folder.split("/")[-1]) * PER_FOLDER
                count = base + len(os.listdir(latest_folder))
            else:
                count = 0
        except FileNotFoundError:
            count = 0
        obj_counts[(domain, obj_type)] = count
    return obj_counts[(domain, obj_type)]
Beispiel #2
0
def writer(obj, fname, mkdir_no_exist, skip_if_exist, write_func_name):
    fname = make_path(fname)
    if skip_if_exist and os.path.isfile(fname):  # pragma: no cover
        return False
    if mkdir_no_exist:
        dname = os.path.dirname(fname)
        if dname not in set([".", "..", ""]):
            mkdir(dname)
    ext = fname.split(".")[-1] if "." in fname[-6:] else "txt"
    writer_module = EXT_TO_MODULE[ext]
    write_fn = getattr(writer_module, write_func_name)
    return write_fn(obj, fname)
Beispiel #3
0
def remove(file_path, no_exist=False, recursive=False):
    file_path = make_path(file_path)
    if os.path.isfile(file_path):
        os.remove(file_path)
        return True
    if os.path.isdir(file_path):
        if recursive:
            shutil.rmtree(file_path)
            return True
        else:
            raise IOError("Cannot remove directory unless recursive=True")
    # if there is a default value, return that if no file/dir found when attempting to remove
    if no_exist is not None:
        return no_exist
    raise IOError("File '{}' does not exist.".format(file_path))
Beispiel #4
0
def reader(fname, no_exist, read_func_name, unknown_type, ignore_exceptions):
    fname = make_path(fname)
    if not os.path.isfile(fname) and no_exist is not None:
        return no_exist
    ext = fname.split(".")[-1] if "." in fname[-6:] else "txt"
    if ext not in EXT_TO_MODULE and unknown_type == "RAISE":
        raise TypeError("just does not yet cover '{}'".format(ext))
    reader_module = EXT_TO_MODULE.get(ext, None) or EXT_TO_MODULE[unknown_type]
    read_fn = getattr(reader_module, read_func_name)
    if ignore_exceptions is not None:
        try:
            return read_fn(fname)
        except ignore_exceptions:
            return None
    else:
        return read_fn(fname)
Beispiel #5
0
def rename(fname, extension, no_exist=None):
    fname = make_path(fname)
    if not os.path.isfile(fname) and no_exist is not None:
        return False
    os.rename(fname, fname + "." + extension)
    return True
Beispiel #6
0
def remove(fname, no_exist=None):
    fname = make_path(fname)
    if not os.path.isfile(fname) and no_exist is not None:
        return False
    os.remove(fname)
    return True