[Openstack] register a new panel in overrides.py

2013-03-20 Thread Wyllys Ingersoll

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@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] register a new panel in overrides.py

2013-03-20 Thread Lyle, David (Cloud Services)
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@lists.launchpad.net 
[mailto:openstack-bounces+david.lyle=hp@lists.launchpad.net] On Behalf Of 
Wyllys Ingersoll
Sent: Wednesday, March 20, 2013 9:50 AM
To: openstack@lists.launchpad.net
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@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] register a new panel in overrides.py

2013-03-20 Thread Wyllys Ingersoll

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.l...@hp.com 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@lists.launchpad.net 
 [mailto:openstack-bounces+david.lyle=hp@lists.launchpad.net] On Behalf Of 
 Wyllys Ingersoll
 Sent: Wednesday, March 20, 2013 9:50 AM
 To: openstack@lists.launchpad.net
 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@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] register a new panel in overrides.py

2013-03-20 Thread Lyle, David (Cloud Services)
But you should be registering the Panel like
settings.register(EC2ListPanel)
or settings.register(ec2list.EC2ListPanel)

not ec2list

-Dave

-Original Message-
From: Wyllys Ingersoll [mailto:wyllys.ingers...@evault.com] 
Sent: Wednesday, March 20, 2013 11:04 AM
To: Lyle, David (Cloud Services)
Cc: openstack@lists.launchpad.net
Subject: 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.l...@hp.com 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@lists.launchpad.net 
 [mailto:openstack-bounces+david.lyle=hp@lists.launchpad.net] On Behalf Of 
 Wyllys Ingersoll
 Sent: Wednesday, March 20, 2013 9:50 AM
 To: openstack@lists.launchpad.net
 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@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] register a new panel in overrides.py

2013-03-20 Thread Wyllys Ingersoll

Neither of those works.

When I use settings.register(ec2list.EC2ListPanel)  I get this error:
Error registering panel: 'module' object has no attribute 'EC2ListPanel'

If I just use:  settings.register(EC2ListPanel), I get the same sort of error:
Error registering panel: name 'EC2ListPanel' is not defined


-Wyllys


On Mar 20, 2013, at 1:10 PM, Lyle, David (Cloud Services) david.l...@hp.com 
wrote:

 But you should be registering the Panel like
 settings.register(EC2ListPanel)
 or settings.register(ec2list.EC2ListPanel)
 
 not ec2list
 
 -Dave
 
 -Original Message-
 From: Wyllys Ingersoll [mailto:wyllys.ingers...@evault.com] 
 Sent: Wednesday, March 20, 2013 11:04 AM
 To: Lyle, David (Cloud Services)
 Cc: openstack@lists.launchpad.net
 Subject: 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.l...@hp.com 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@lists.launchpad.net 
 [mailto:openstack-bounces+david.lyle=hp@lists.launchpad.net] On Behalf 
 Of Wyllys Ingersoll
 Sent: Wednesday, March 20, 2013 9:50 AM
 To: openstack@lists.launchpad.net
 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@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp
 


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] register a new panel in overrides.py

2013-03-20 Thread Wyllys Ingersoll

OK, I figured out...

The import statement needs to look like this:

from ec2list.panel import EC2ListPanel

I was just using from ec2list import EC2ListPanel which was insufficient 
since it has an empty __init__.py 
adding the .panel (which you suggested in your original email, but I didn't 
quite grok it the first time) fixed it.

The register statement in overrides.py looks like:
try:
settings.register(EC2ListPanel)
except Exception as exc:
LOG.debug(Error registering panel: %s % exc)


Now it's working.  Thanks for the help.

-Wyllys




On Mar 20, 2013, at 1:24 PM, Wyllys Ingersoll wyllys.ingers...@evault.com 
wrote:

 
 Neither of those works.
 
 When I use settings.register(ec2list.EC2ListPanel)  I get this error:
 Error registering panel: 'module' object has no attribute 'EC2ListPanel'
 
 If I just use:  settings.register(EC2ListPanel), I get the same sort of error:
 Error registering panel: name 'EC2ListPanel' is not defined
 
 
 -Wyllys
 
 
 On Mar 20, 2013, at 1:10 PM, Lyle, David (Cloud Services) 
 david.l...@hp.com wrote:
 
 But you should be registering the Panel like
 settings.register(EC2ListPanel)
 or settings.register(ec2list.EC2ListPanel)
 
 not ec2list
 
 -Dave
 
 -Original Message-
 From: Wyllys Ingersoll [mailto:wyllys.ingers...@evault.com] 
 Sent: Wednesday, March 20, 2013 11:04 AM
 To: Lyle, David (Cloud Services)
 Cc: openstack@lists.launchpad.net
 Subject: 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.l...@hp.com 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@lists.launchpad.net 
 [mailto:openstack-bounces+david.lyle=hp@lists.launchpad.net] On Behalf 
 Of Wyllys Ingersoll
 Sent: Wednesday, March 20, 2013 9:50 AM
 To: openstack@lists.launchpad.net
 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@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp
 
 
 
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp