def place(self, levels=4, ignore=None):

        # deal with the arguments
        if isinstance(levels, int):
            levels = list(range(levels))
        if ignore is None:
            ignore = []
        if isinstance(ignore, compat.string_types):
            ignore = [ignore]

        # make sure there is a location set
        if not 'Location' in self:
            return "" # fail silently

        # mix up the order
        order = ['Place Name', 'Locality', 'Administrative Area', 'Country']
        try:
            order_keys = [order[n] for n in levels]
        except TypeError:
            raise TypeError("'levels' argument must be an integer or list")

        # extract keys
        names = (self[key] for key in order_keys if key in self)

        # filter
        try:
            names = [name for name in names if len(name) and name not in ignore]
        except TypeError:
            raise TypeError("'ignore' argument must be a string or list")

        return ", ".join(names)
Stop node
dataset/ETHPy150Open nathangrigg/dayone_export/dayone_export/__init__.py/Entry.place--crossover with--dataset/ETHPy150Open apache/libcloud/libcloud/compute/drivers/joyent.py/JoyentNodeDriver.ex_stop_node