Traceback (most recent call last):


 "site-packages\calibre\devices\usbms\driver.py", line 238, in update_booklist


 "site-packages\calibre\devices\usbms\driver.py", line 539, in book_from_path


 "site-packages\calibre\devices\usbms\books.py", line 40, in __init__


 "site-packages\calibre\ebooks\metadata\book\base.py", line 790, in __nonzero__


 "site-packages\calibre\ebooks\metadata\book\base.py", line 152, in __getattribute__
AttributeError: Metadata object has no attribute named: 'author'

Traceback (most recent call last):


 "/data/sentry/bin/sentry", line 10, in <module>

sys.exit(main())


 "/data/sentry/lib/python2.7/site-packages/sentry/runner/__init__.py", line 162, in main

cli(prog_name=get_prog(), obj={}, max_content_width=100)


 "/data/sentry/lib/python2.7/site-packages/click/core.py", line 722, in __call__

return self.main(*args, **kwargs)


 "/data/sentry/lib/python2.7/site-packages/click/core.py", line 697, in main

rv = self.invoke(ctx)


 "/data/sentry/lib/python2.7/site-packages/click/core.py", line 1066, in invoke

return _process_result(sub_ctx.command.invoke(sub_ctx))


 "/data/sentry/lib/python2.7/site-packages/click/core.py", line 895, in invoke

return ctx.invoke(self.callback, **ctx.params)


 "/data/sentry/lib/python2.7/site-packages/click/core.py", line 535, in invoke

return callback(*args, **kwargs)


 "/data/sentry/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func

return f(get_current_context(), *args, **kwargs)


 "/data/sentry/lib/python2.7/site-packages/sentry/runner/decorators.py", line 35, in inner

configure()


 "/data/sentry/lib/python2.7/site-packages/sentry/runner/__init__.py", line 125, in configure

configure(ctx, py, yaml, skip_service_validation)


 "/data/sentry/lib/python2.7/site-packages/sentry/runner/settings.py", line 156, in configure

skip_service_validation=skip_service_validation


 "/data/sentry/lib/python2.7/site-packages/sentry/runner/initializer.py", line 319, in initialize_app

register_plugins(settings)


 "/data/sentry/lib/python2.7/site-packages/sentry/runner/initializer.py", line 23, in register_plugins

from sentry.plugins import plugins


 "/data/sentry/lib/python2.7/site-packages/sentry/plugins/__init__.py", line 21, in <module>

from sentry.plugins.bases import *
# NOQA


 "/data/sentry/lib/python2.7/site-packages/sentry/plugins/bases/__init__.py", line 4, in <module>

from .issue2 import IssueTrackingPlugin2
# NOQA


 "/data/sentry/lib/python2.7/site-packages/sentry/plugins/bases/issue2.py", line 19, in <module>

from sentry.plugins.endpoints import PluginGroupEndpoint


 "/data/sentry/lib/python2.7/site-packages/sentry/plugins/endpoints.py", line 7, in <module>

from sentry.api.bases.group import GroupEndpoint


 "/data/sentry/lib/python2.7/site-packages/sentry/api/bases/__init__.py", line 6, in <module>

from .organization_events import *
# NOQA


 "/data/sentry/lib/python2.7/site-packages/sentry/api/bases/organization_events.py", line 4, in <module>

from sentry.api.event_search import get_snuba_query_args, InvalidSearchQuery


 "/data/sentry/lib/python2.7/site-packages/sentry/api/event_search.py", line 127, in <module>

""")


 "/data/sentry/lib/python2.7/site-packages/parsimonious/grammar.py", line 69, in __init__

exprs, first = self._expressions_from_rules(rules, decorated_custom_rules)


 "/data/sentry/lib/python2.7/site-packages/parsimonious/grammar.py", line 106, in _expressions_from_rules

return RuleVisitor(custom_rules).visit(tree)


 "/data/sentry/lib/python2.7/site-packages/parsimonious/nodes.py", line 217, in visit

return method(node, [self.visit(n) for n in node])


 "/data/sentry/lib/python2.7/site-packages/parsimonious/nodes.py", line 217, in visit

return method(node, [self.visit(n) for n in node])


 "/data/sentry/lib/python2.7/site-packages/parsimonious/nodes.py", line 217, in visit

return method(node, [self.visit(n) for n in node])


 "/data/sentry/lib/python2.7/site-packages/parsimonious/nodes.py", line 217, in visit

return method(node, [self.visit(n) for n in node])


 "/data/sentry/lib/python2.7/site-packages/parsimonious/nodes.py", line 217, in visit

return method(node, [self.visit(n) for n in node])


 "/data/sentry/lib/python2.7/site-packages/parsimonious/nodes.py", line 217, in visit

return method(node, [self.visit(n) for n in node])


 "/data/sentry/lib/python2.7/site-packages/parsimonious/nodes.py", line 227, in visit

reraise(VisitationError, VisitationError(exc, exc_class, node), tb)


 "/data/sentry/lib/python2.7/site-packages/parsimonious/nodes.py", line 217, in visit

return method(node, [self.visit(n) for n in node])


 "/data/sentry/lib/python2.7/site-packages/parsimonious/grammar.py", line 371, in visit_regex

verbose='X' in flags)


 "/data/sentry/lib/python2.7/site-packages/parsimonious/expressions.py", line 274, in __init__

(verbose and re.X))


 "/data/sentry/lib64/python2.7/re.py", line 190, in compile

return _compile(pattern, flags)


 "/data/sentry/lib64/python2.7/re.py", line 242, in _compile

raise error, v # invalid expression
parsimonious.exceptions.VisitationError: error: nothing to repeat
