# Buggy code
def _create_metadata(self, status, excerpt, tags, categories, post_name=None):
    """Create post metadata."""
    other_meta = {"wp-status": status}
    if excerpt is not None:
        other_meta["excerpt"] = excerpt
    if self.export_categories_as_categories:
        cats = []
        for text in categories:
            if text in self._category_paths:
                cats.append(self._category_paths[text])
            else:
                cats.append(
                    utils.join_hierarchical_category_path([utils.html_unescape(text)])
                )
        other_meta["categories"] = ",".join(cats)
        if len(cats) > 0:
            other_meta["category"] = cats[0]
            if len(cats) > 1:
                LOGGER.warn(
                    (
                        'Post "{0}" has more than one category! '
                        + "Will only use the first one."
                    ).format(post_name)
                )
        tags_cats = [utils.html_unescape(tag) for tag in tags]
    else:
        tags_cats = [utils.html_unescape(tag) for tag in tags + categories]
    return tags_cats, other_meta


# Traceback (KeyError)
########################################
TaskError - taskid:render_galleries:output/galleries/index.html
PythonAction Error
Traceback (most recent call last):
File "/home/kwpolska/virtualenvs/nikola-py2/lib/python2.7/site-packages/doit/action.py", line 360, in execute
returned_value = self.py_callable(*self.args, **kwargs)
File "/home/kwpolska/git/nikola/nikola/plugins/task/galleries.py", line 466, in render_gallery_index
self.site.render_template(template_name, output_name, context)
File "/home/kwpolska/git/nikola/scripts/../nikola/nikola.py", line 607, in render_template
template_name, None, local_context)
File "/home/kwpolska/git/nikola/nikola/plugins/template/mako.py", line 88, in render_template
data = template.render_unicode(**context)
File "/home/kwpolska/virtualenvs/nikola-py2/lib/python2.7/site-packages/mako/template.py", line 452, in render_unicode
as_unicode=True)
File "/home/kwpolska/virtualenvs/nikola-py2/lib/python2.7/site-packages/mako/runtime.py", line 807, in _render
**_kwargs_for_callable(callable_, data))
File "/home/kwpolska/virtualenvs/nikola-py2/lib/python2.7/site-packages/mako/runtime.py", line 839, in _render_context
_exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
File "/home/kwpolska/virtualenvs/nikola-py2/lib/python2.7/site-packages/mako/runtime.py", line 865, in _exec_template
callable_(context, *args, **kwargs)
File "/home/kwpolska/Desktop/nikola-translated-path/cache/.mako.tmp/base.tmpl.py", line 91, in render_body
__M_writer(unicode(base.meta_translations()))
File "/home/kwpolska/Desktop/nikola-translated-path/cache/.mako.tmp/base_helper.tmpl.py", line 274, in render_meta_translations
__M_writer(unicode(_link(permalink, None, langname)))
File "/home/kwpolska/git/nikola/scripts/../nikola/nikola.py", line 765, in link
return self.path(*args, is_link=True)
File "/home/kwpolska/git/nikola/scripts/../nikola/nikola.py", line 729, in path
path = self.path_handlers[kind](name, lang)
KeyError: u'/galleries/galleries/index.html'

# Fixed code
def _create_metadata(self, status, excerpt, tags, categories, post_name=None):
    """Create post metadata."""
    other_meta = {"wp-status": status}
    if excerpt is not None:
        other_meta["excerpt"] = excerpt
    if self.export_categories_as_categories:
        cats = []
        for text in categories:
            if text in self._category_paths:
                cats.append(self._category_paths[text])
            else:
                cats.append(
                    hierarchy_utils.join_hierarchical_category_path(
                        [utils.html_unescape(text)]
                    )
                )
        other_meta["categories"] = ",".join(cats)
        if len(cats) > 0:
            other_meta["category"] = cats[0]
            if len(cats) > 1:
                LOGGER.warn(
                    (
                        'Post "{0}" has more than one category! '
                        + "Will only use the first one."
                    ).format(post_name)
                )
        tags_cats = [utils.html_unescape(tag) for tag in tags]
    else:
        tags_cats = [utils.html_unescape(tag) for tag in tags + categories]
    return tags_cats, other_meta