Missing magic variables in custom rcextensions/__init__.py

Mads Kiilerich mads at kiilerich.com
Mon Sep 28 13:25:19 UTC 2015


On 09/28/2015 02:25 PM, Robert Rauch wrote:
> Hi all,
>
> I have recently started using a custom rcextensions package for
> improving our integration of Kallithea with other services like Jenkins
> and Redmine.
>
> Today I noticed, that our Kallithea produced 'internal server errors'
> when viewing the sourcecode of revisioned files via the webfrontend. The
> logfiles showed, that Kallithea was raising exceptions of type
>
>      AttributeError: 'module' object has no attribute 'EXTRA_LEXERS'
>
> I worked around this problem by providing the *missing* line
>
>      EXTRA_LEXERS = {}
>
> in my custom rcextensions/__init__.py.
>
> Is this the intended behaviour of Kallithea?

I don't know. As far as I can see it is in the 
kallithea/config/rcextensions/__init__.py "template".

>  From my perspective, as a
> user/admin, this is really annoying. Why doesn't Kallithea fall back to
> its default of `EXTRA_LEXERS = {}` if it is not defined elsewhere?

That would probably make sense. It would probably be a question of 
adding some hasattr checks or replacing some .X with getattr('X', 
default) or replacing some ['X'] with .get('X', default) .

Can you contribute a patch?

(We should generally replace hasattr with something like safehasattr as 
Mercurial use ... but that is a different story.)

> Besides that, I think the rcextensions API needs more documentation.

Indeed. We appreciate the documentation you already contributed ;-)

/Mads



More information about the kallithea-general mailing list