Exemplo n.º 1
0
def get_saver(path, experimental=False, return_id=False):
    ret_id = None
    ext = get_file_extension(path)
    saver = None
    sv_formats = [] + uc2const.SAVER_FORMATS

    msg = 'Start to search saver by file extension %s' % (ext.__str__())
    events.emit(events.MESSAGES, msgconst.INFO, msg)

    if experimental:
        sv_formats += uc2const.EXPERIMENTAL_SAVERS
    for item in sv_formats:
        if ext in uc2const.FORMAT_EXTENSION[item]:
            saver = _get_saver(item)
            ret_id = item
            break
    if saver is None:
        msg = 'Saver is not found for %s file format' % (ext.__str__())
        events.emit(events.MESSAGES, msgconst.ERROR, msg)
    else:
        msg = 'Saver is found for extension %s' % (ext.__str__())
        events.emit(events.MESSAGES, msgconst.OK, msg)

    if return_id:
        return saver, ret_id
    return saver
Exemplo n.º 2
0
def get_loader(path, experimental=False, return_id=False):
    if not fsutils.exists(path):
        return None
    if not fsutils.isfile(path):
        return None

    ret_id = None

    ext = get_file_extension(path)
    loader = None
    ld_formats = [] + uc2const.LOADER_FORMATS

    msg = 'Start to search for loader by file extension %s' % (ext.__str__())
    events.emit(events.MESSAGES, msgconst.INFO, msg)

    if experimental:
        ld_formats += uc2const.EXPERIMENTAL_LOADERS
    for item in ld_formats:
        if ext in uc2const.FORMAT_EXTENSION[item]:
            checker = _get_checker(item)
            if checker and checker(path):
                loader = _get_loader(item)
                ret_id = item
                break

    if loader is None:
        msg = 'Loader is not found or not suitable for %s' % path
        events.emit(events.MESSAGES, msgconst.WARNING, msg)
        msg = 'Start to search loader by file content'
        events.emit(events.MESSAGES, msgconst.INFO, msg)

        for item in ld_formats:
            checker = _get_checker(item)
            if checker is not None:
                if checker(path):
                    loader = _get_loader(item)
                    ret_id = item
                    break

    if loader is None:
        msg = 'By file content loader is not found for %s' % path
        events.emit(events.MESSAGES, msgconst.WARNING, msg)
        msg = 'Try using fallback loader'
        events.emit(events.MESSAGES, msgconst.INFO, msg)
        if fallback_check(path):
            loader = im_loader

    if loader is None:
        msg = 'Loader is not found for %s' % path
        events.emit(events.MESSAGES, msgconst.ERROR, msg)
    else:
        loader_name = loader.__str__().split(' ')[1]
        msg = 'Loader "%s" is found for %s' % (loader_name, path)
        events.emit(events.MESSAGES, msgconst.OK, msg)

    if return_id:
        return loader, ret_id
    return loader
Exemplo n.º 3
0
def get_loader(path, experimental=False):

    if not os.path.lexists(path): return None
    if not os.path.isfile(path): return None

    ext = get_file_extension(path)
    loader = None
    ld_formats = [] + data.LOADER_FORMATS

    msg = _('Start to search for loader by file extension %s') % (
        ext.__str__())
    events.emit(events.MESSAGES, msgconst.INFO, msg)

    if experimental:
        ld_formats += data.EXPERIMENTAL_LOADERS
    for item in ld_formats:
        if ext in uc2const.FORMAT_EXTENSION[item]:
            if data.CHECKERS[item](path):
                loader = data.LOADERS[item]
                break

    if loader is None:
        msg = _('Loader is not found or not suitable for %s') % (path)
        events.emit(events.MESSAGES, msgconst.WARNING, msg)
        msg = _('Start to search loader by file content')
        events.emit(events.MESSAGES, msgconst.INFO, msg)

        for item in ld_formats:
            checker = data.CHECKERS[item]
            if not checker is None:
                if checker(path):
                    loader = data.LOADERS[item]
                    break

    if loader is None:
        msg = _('By file content loader is not found for %s') % (path)
        events.emit(events.MESSAGES, msgconst.WARNING, msg)
        msg = _('Try using fallback loader')
        events.emit(events.MESSAGES, msgconst.INFO, msg)
        if fallback_check(path): loader = im_loader

    if loader is None:
        msg = _('Loader is not found for %s') % (path)
        events.emit(events.MESSAGES, msgconst.ERROR, msg)
    else:
        loader_name = loader.__str__().split(' ')[1]
        msg = _('Loader <%s> is found for %s') % (loader_name, path)
        events.emit(events.MESSAGES, msgconst.OK, msg)
    return loader
Exemplo n.º 4
0
def get_loader(path, experimental=False):

	if not os.path.lexists(path): return None
	if not os.path.isfile(path):return None

	ext = get_file_extension(path)
	loader = None
	ld_formats = [] + data.LOADER_FORMATS

	msg = _('Start to search for loader by file extension %s') % (ext.__str__())
	events.emit(events.MESSAGES, msgconst.INFO, msg)

	if experimental:
		ld_formats += data.EXPERIMENTAL_LOADERS
	for item in ld_formats:
		if ext in uc2const.FORMAT_EXTENSION[item]:
			if data.CHECKERS[item](path):
				loader = data.LOADERS[item]
				break

	if loader is None:
		msg = _('Loader is not found or not suitable for %s') % (path)
		events.emit(events.MESSAGES, msgconst.WARNING, msg)
		msg = _('Start to search loader by file content')
		events.emit(events.MESSAGES, msgconst.INFO, msg)

		for item in ld_formats:
			checker = data.CHECKERS[item]
			if not checker is None:
				if checker(path):
					loader = data.LOADERS[item]
					break

	if loader is None:
		msg = _('By file content loader is not found for %s') % (path)
		events.emit(events.MESSAGES, msgconst.WARNING, msg)
		msg = _('Try using fallback loader')
		events.emit(events.MESSAGES, msgconst.INFO, msg)
		if fallback_check(path): loader = im_loader

	if loader is None:
		msg = _('Loader is not found for %s') % (path)
		events.emit(events.MESSAGES, msgconst.ERROR, msg)
	else:
		loader_name = loader.__str__().split(' ')[1]
		msg = _('Loader <%s> is found for %s') % (loader_name, path)
		events.emit(events.MESSAGES, msgconst.OK, msg)
	return loader
Exemplo n.º 5
0
def get_saver(path, experimental=False):
    ext = get_file_extension(path)
    saver = None
    sv_formats = [] + data.SAVER_FORMATS

    msg = _('Start to search saver by file extension %s') % (ext.__str__())
    events.emit(events.MESSAGES, msgconst.INFO, msg)

    if experimental:
        sv_formats += data.EXPERIMENTAL_SAVERS
    for format in sv_formats:
        if ext in uc2const.FORMAT_EXTENSION[format]:
            saver = data.SAVERS[format]
            break
    if saver is None:
        msg = _('Saver is not found for %s file format') % (ext.__str__())
        events.emit(events.MESSAGES, msgconst.ERROR, msg)
    else:
        msg = _('Saver is found for extension %s') % (ext.__str__())
        events.emit(events.MESSAGES, msgconst.OK, msg)
    return saver
Exemplo n.º 6
0
def get_saver(path, experimental=False):
	ext = get_file_extension(path)
	saver = None
	sv_formats = [] + data.SAVER_FORMATS

	msg = _('Start to search saver by file extension %s') % (ext.__str__())
	events.emit(events.MESSAGES, msgconst.INFO, msg)

	if experimental:
		sv_formats += data.EXPERIMENTAL_SAVERS
	for item in sv_formats:
		if ext in uc2const.FORMAT_EXTENSION[item]:
			saver = data.SAVERS[item]
			break
	if saver is None:
		msg = _('Saver is not found for %s file format') % (ext.__str__())
		events.emit(events.MESSAGES, msgconst.ERROR, msg)
	else:
		msg = _('Saver is found for extension %s') % (ext.__str__())
		events.emit(events.MESSAGES, msgconst.OK, msg)
	return saver
Exemplo n.º 7
0
def get_loader(path, experimental=False):

    if not os.path.lexists(path): return None
    if not os.path.isfile(path): return None

    ext = get_file_extension(path)
    loader = None
    ld_formats = [] + data.LOADER_FORMATS

    msg = _('Start to search for loader by file extension %s') % (
        ext.__str__())
    events.emit(events.MESSAGES, msgconst.INFO, msg)

    if experimental:
        ld_formats += data.EXPERIMENTAL_LOADERS
    for format in ld_formats:
        if ext in uc2const.FORMAT_EXTENSION[format]:
            if data.CHECKERS[format](path):
                loader = data.LOADERS[format]
                break
    if loader is None:

        msg = _('Loader is not found or not suitable for %s') % (path)
        events.emit(events.MESSAGES, msgconst.WARNING, msg)
        msg = _('Start to search loader by file content')
        events.emit(events.MESSAGES, msgconst.INFO, msg)

        for format in ld_formats:
            checker = data.CHECKERS[format]
            if not checker is None:
                if checker(path):
                    loader = data.LOADERS[format]
                    break
    if loader is None:
        msg = _('Loader is not found for %s') % (path)
        events.emit(events.MESSAGES, msgconst.ERROR, msg)
    else:
        msg = _('Loader is found for %s') % (path)
        events.emit(events.MESSAGES, msgconst.OK, msg)
    return loader
Exemplo n.º 8
0
def get_loader(path, experimental=False):

	if not os.path.lexists(path): return None
	if not os.path.isfile(path):return None

	ext = get_file_extension(path)
	loader = None
	ld_formats = [] + data.LOADER_FORMATS

	msg = _('Start to search for loader by file extension %s') % (ext.__str__())
	events.emit(events.MESSAGES, msgconst.INFO, msg)

	if experimental:
		ld_formats += data.EXPERIMENTAL_LOADERS
	for format in ld_formats:
		if ext in uc2const.FORMAT_EXTENSION[format]:
			if data.CHECKERS[format](path):
				loader = data.LOADERS[format]
				break
	if loader is None:

		msg = _('Loader is not found or not suitable for %s') % (path)
		events.emit(events.MESSAGES, msgconst.WARNING, msg)
		msg = _('Start to search loader by file content')
		events.emit(events.MESSAGES, msgconst.INFO, msg)

		for format in ld_formats:
			checker = data.CHECKERS[format]
			if not checker is None:
				if checker(path):
					loader = data.LOADERS[format]
					break
	if loader is None:
		msg = _('Loader is not found for %s') % (path)
		events.emit(events.MESSAGES, msgconst.ERROR, msg)
	else:
		msg = _('Loader is found for %s') % (path)
		events.emit(events.MESSAGES, msgconst.OK, msg)
	return loader