Re: [viewvc-dev] [PATCH] mod_python configuration

Alon Bar-Lev <[email protected]> Fri, 23 Sep 2011 13:42:35 +0300
Newsgroups gmane.comp.version-control.cvs.viewcvs.devel
Message-ID <CAOazyz3ZMO=bnAYPFfv_yq=zPmyQ8mMsctvsO=96kQVU0gt0Kw@mail.gmail.com>
Hello,
I don't want to nag...
Just wanted to know if adding the ability to send config file via the
mod_python/cgi interface is something that will be considered and if I
can help further to push this forward.
Thanks!

On Sun, Sep 18, 2011 at 6:17 PM, Alon Bar-Lev <[email protected]> wrote:
>
> Can I help further in this issue?
>
> On Thu, Sep 15, 2011 at 8:11 PM, Alon Bar-Lev <[email protected]> wrote:
> >
> > On Thu, Sep 15, 2011 at 7:51 PM, C. Michael Pilato <[email protected]> wrote:
> > > On 09/15/2011 11:19 AM, Alon Bar-Lev wrote:
> > >>> That said, in reviewing your patch, it occurs to me that the code in
> > >>> viewvc.load_config() probably shouldn't use os.environ() to check for that
> > >>> variable, but (if a 'server' is provided') should use server.getenv()
> > >>> instead.  That way, the appropriate environment-checking function for the
> > >>> deployment type (mod_python, CGI, IIS, etc.) is used.
> > >>>
> > >>> Would you be willing to explore this idea a bit to see if it makes sense?
> > >>
> > >> Well,
> > >>
> > >> SetEnv does not work in mod_python, at least not in my setup.
> > >
> > > How do you know that SetEnv doesn't work for mod_python?  How are you
> > > testing that?
> >
> > Apache
> > ---
> > <Location /viewvc>
> >       DirectoryIndex viewvc.py
> > #       PythonOption org.viewvc.conf_file "/var/www/localhost/conf/viewvc.conf"
> >       SetEnv VIEWVC_CONF_PATHNAME "/var/www/localhost/conf/viewvc.conf"
> > </Location>
> > ---
> >
> > Viewvc
> > ---
> >     pathname = (server.getenv("VIEWVC_CONF_PATHNAME")
> >                 or os.environ.get("VIEWVC_CONF_PATHNAME")
> >                 or os.environ.get("VIEWCVS_CONF_PATHNAME")
> >                 or os.path.join(os.path.dirname(os.path.dirname(__file__)),
> >                                 "viewvc.conf"))
> > ---
> >
> > Well, I am more like C guy but it looks right and does not work.
> > I may miss something?
> > Does it work for you?
> >
> > >
> > >> So we need something like:
> > >>
> > >>   if pathname is None:
> > >>     pathname = (server.get_options()["org.viewvc.conf_file"]              <----
> > >>                 or os.environ.get("VIEWVC_CONF_PATHNAME")
> > >>                 or os.environ.get("VIEWCVS_CONF_PATHNAME")
> > >>                 or os.path.join(os.path.dirname(os.path.dirname(__file__)),
> > >>                                 "viewvc.conf"))
> > >>
> > >> However
> >
> > Correction, the server is your own viewvc object... so it actually need to be:
> >
> >  pathname = (server.request.get_options()["org.viewvc.conf_file"]
> >                or os.environ.get("VIEWVC_CONF_PATHNAME")
> >                or os.environ.get("VIEWCVS_CONF_PATHNAME")
> >                or os.path.join(os.path.dirname(os.path.dirname(__file__)),
> >                                "viewvc.conf"))
> >
> >
> > >>
> > >> 1. The python throws and exception if element within hash is not found
> > >> (I expect it to return None...) so I leave it for you...
> > >
> > > server.get_options().get("org.viewvc.conf_file") returns None of the key
> > > doesn't exist in the dictionary/hash.
> >
> > Strange, I getting an exception.
> > ---
> >  File "/usr/lib64/python2.7/site-packages/viewvc/viewvc.py", line
> > 4411, in load_config
> >    pathname = (server.request.get_options()["org.viewvc.conf_file44"]
> >
> > KeyError: 'org.viewvc.conf_file44'
> > ---
> >
> > Not python developer...
> >
> > But I can add get_option in the ModPythonServer object that returns
> > None if not exists.
> >
> > >
> > >> 2. Correct me if I am wrong but this does not overrides the default
> > >> within file, it does set if config is null, and it never is as the
> > >> viewvc-install sets CONF_PATHNAME to none null.
> > >> I expect environment / option to override the hard coded anyway, so
> > >> remove the "if pathname is None:" (and of course un-indent...).
> > >
> > > You are correct.  I read that wrongly.
> > >
> > >> 3. Environment(or options) should be documented in INSTALL.... A
> > >> complete <Directory sample would be nice! :)
> > >
> > > Fair enough.  :-)
> > >
> > > --
> > > C. Michael Pilato <[email protected]>
> > > CollabNet   <>   www.collab.net   <>   Distributed Development On Demand
> > >
> > >

------------------------------------------------------
http://viewvc.tigris.org/ds/viewMessage.do?dsForumId=4251&dsMessageId=2843869

To unsubscribe from this discussion, e-mail: [[email protected]].