This document describes the HydrOffice BAG library and tools (0.2). For the source code, go here.

Source code for hydroffice.bag.helper

from __future__ import absolute_import, division, print_function, unicode_literals

import os
import logging

log = logging.getLogger(__name__)


[docs]class BAGError(Exception): """ BAG class for exceptions""" def __init__(self, message, *args): if isinstance(message, Exception): msg = message.args[0] if len(message.args) > 0 else '' else: msg = message self.message = msg # allow users initialize misc. arguments as any other builtin Error Exception.__init__(self, message, *args)
[docs]class Helper(object):
[docs] @classmethod def samples_folder(cls): samples_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "samples")) if not os.path.exists(samples_dir): raise BAGError("unable to find the samples folder: %s" % samples_dir) return samples_dir
[docs] @classmethod def iso19139_folder(cls): iso_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "iso19139")) if not os.path.exists(iso_dir): raise BAGError("unable to find the iso19139 folder: %s" % iso_dir) return iso_dir
[docs] @classmethod def iso19757_3_folder(cls): iso_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "iso19757-3")) if not os.path.exists(iso_dir): raise BAGError("unable to find the iso19757-3 folder: %s" % iso_dir) return iso_dir
[docs] @staticmethod def elide(input_str, max_len=255): """ only in case the passed string is longer than 'max_len', it applies elision """ if len(input_str) > max_len: return input_str[:max_len] + "[..]" return input_str