← Back to team overview

openstack team mailing list archive

Re: register a new panel in overrides.py

 

Thats not working for me.

My module is installed in /usr/lib/python2.7/dist-packages/horizon/dashboards/settings as 'ec2list', it is in the python path so thats not the issue.

overrides.py looks like this:
------------
import horizon
import logging

settings= horizon.get_dashboard('settings')

LOG = logging.getLogger(__name__)

import ec2list 

try:
        settings.register(ec2list)
except Exception as exc:
        LOG.debug("Error registering ec2list panel: %s" % exc)
-------------

I've also tried using ec2list.__class__, but then I get the following error:
"Error registering ec2list panel: Only Panel classes or subclasses may be registered."

However, my ec2list Panel is a valid panel, as is evident by the fact that when I put it directly into the settings/dashboard.py file list of panels, it works just fine.  Here is the panel.py file:

------
from django.utils.translation import ugettext_lazy as _

import horizon
from horizon.dashboards.settings import dashboard

class EC2ListPanel(horizon.Panel):
	name = _("EC2 List Credentials")
	slug = 'ec2list'

dashboard.Settings.register(EC2ListPanel)
---------






On Mar 20, 2013, at 12:34 PM, "Lyle, David (Cloud Services)" <david.lyle@xxxxxx> wrote:

> There's a couple of changes that you need to make...
> 
> First, edit the overrides.py file:  (e.g., if we wanted to add the panel to the admin dashboard so this uses the admin dashboard slug: 'admin')
> 
> import horizon
> from path_to_module.panel import YourNewPanelClass 
> 
> admin_dashboard = horizon.get_dashboard("admin")
> admin_dashboard.register(YourNewPanelClass)
> 
> 
> Next, make sure your overrides.py file is being called in your settings.py
> 
> HORIZON_CONFIG = {
> 	dashboards = ('project', 'admin','settings'),
> 	...,
> 	'customization_module': 'your_base_module.overrides'
> }
> 
> -Dave
> 
> -----Original Message-----
> From: openstack-bounces+david.lyle=hp.com@xxxxxxxxxxxxxxxxxxx [mailto:openstack-bounces+david.lyle=hp.com@xxxxxxxxxxxxxxxxxxx] On Behalf Of Wyllys Ingersoll
> Sent: Wednesday, March 20, 2013 9:50 AM
> To: openstack@xxxxxxxxxxxxxxxxxxx
> Subject: [Openstack] register a new panel in overrides.py
> 
> 
> Can someone give a pointer to how one goes about adding a new panel to an existing panel using overrides.py ?
> 
> I know my panel is working because if I hardcode it into an existing dashboard.py file, it is found and displayed.  I'd prefer to put it in overrides.py instead and am wondering how that would be coded.
> 
> thanks,
>  Wyllys
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp



Follow ups

References