#
# -*- coding: utf-8 -*-
#
# This file is part of reclass (http://github.com/madduck/reclass)
#
# Copyright © 2007–13 martin f. krafft <madduck@madduck.net>
# Released under the terms of the Artistic Licence 2.0
#
from base import BaseDictMerger

class DictUpdate(BaseDictMerger):

    def merge(self, first, second):
        if second is None:
            return first

        ret = first.copy()
        ret.update(second)
        return ret
