cloud-init/cloudinit/util.py

25 lines
649 B
Python

# Copyright 2015 Canonical Ltd.
# This file is part of cloud-init. See LICENCE file for license information.
#
# vi: ts=4 expandtab
from cloudinit import logging
LOG = logging.getLogger(__name__)
def load_file(path, encoding='utf8'):
LOG.blather("Loading file from path '%s' (%s)", path, encoding)
with open(path, 'rb') as fh:
return fh.read().decode(encoding)
class abstractclassmethod(classmethod):
"""A backport for abc.abstractclassmethod from Python 3."""
__isabstractmethod__ = True
def __init__(self, func):
func.__isabstractmethod__ = True
super(abstractclassmethod, self).__init__(func)