airgun.views.dashboard
¶
Module Contents¶
Classes¶
List of name-value pairs. Each name element from every pair is clickable |
|
Return total hosts count from Host Configuration Status type of |
|
Widget refer to auto refresh functionality on dashboard |
|
Base view for Satellite pages |
- class airgun.views.dashboard.ItemValueList(parent, logger=None, **kwargs)¶
List of name-value pairs. Each name element from every pair is clickable
Example html representation:
<ul> <li> <a class="dashboard-links"...>Hosts with no reports</a> <h4>5</h4> </li>
- LABELS = .//li/a[@class='dashboard-links']¶
- LABEL = .//li/a[@class='dashboard-links'][normalize-space(.)='{}']¶
- VALUE = .//h4[preceding-sibling::a[contains(., '{}')]]¶
- read()¶
Return a dictionary where keys are widget criteria names and values are number of hosts that correspond to these criteria
- fill(value)¶
Click on specific criteria from the widget list
- class airgun.views.dashboard.TotalCount(parent, logger=None, **kwargs)¶
Return total hosts count from Host Configuration Status type of widgets
- total_count¶
- read()¶
Return hosts count from widget. Usually it is a string like ‘Total Hosts: 5’
- class airgun.views.dashboard.AutoRefresh(parent, logger=None, **kwargs)¶
Widget refer to auto refresh functionality on dashboard
- AUTO_REFRESH = //a[contains(@href, '/?auto_refresh')]¶
- read()¶
Return whether functionality is enabled or disabled
- fill(value)¶
Click on a button if state of the widget need to be changed
- class airgun.views.dashboard.DashboardView(parent, logger=None, **kwargs)¶
Base view for Satellite pages
- class DiscoveredHosts(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='Discovered Hosts']¶
- hosts¶
- hosts_count¶
- class HostConfigurationStatus(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='Host Configuration Status for All']¶
- status_list¶
- total_count¶
- class TaskStatus(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='Task Status']¶
- states¶
- fill(values)¶
Implementation of form filling.
This method goes through all widgets defined on this view one by one and calls their
fill
methods appropriately.None
values will be ignored.It will log any skipped fill items. It will log a warning if you pass any extra values for filling.
It will store the fill value in
last_fill_data
. The data will be “deflattened” to ensure uniformity.- Parameters
values – A dictionary of
widget_name: value_to_fill
.- Returns
bool
if the fill changed any value.
- class LatestJobs(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='Latest Jobs']¶
- jobs¶
- class HostConfigurationChart(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='Host Configuration Chart for All']¶
- chart¶
- class ContentViews(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='Content Views']¶
- content_views¶
- class SyncOverview(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='Sync Overview']¶
- syncs¶
- class HostSubscription(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='Host Subscription Status']¶
- subscriptions¶
- fill(values)¶
Implementation of form filling.
This method goes through all widgets defined on this view one by one and calls their
fill
methods appropriately.None
values will be ignored.It will log any skipped fill items. It will log a warning if you pass any extra values for filling.
It will store the fill value in
last_fill_data
. The data will be “deflattened” to ensure uniformity.- Parameters
values – A dictionary of
widget_name: value_to_fill
.- Returns
bool
if the fill changed any value.
- class SubscriptionStatus(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='Subscription Status']¶
- subscriptions¶
- class LatestErrata(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='Latest Errata']¶
- erratas¶
- class NewHosts(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='New Hosts']¶
- hosts¶
- class HostCollections(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='Host Collections']¶
- collections¶
- class LatestFailedTasks(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='Latest Warning/Error Tasks']¶
- tasks¶
- fill(values)¶
Implementation of form filling.
This method goes through all widgets defined on this view one by one and calls their
fill
methods appropriately.None
values will be ignored.It will log any skipped fill items. It will log a warning if you pass any extra values for filling.
It will store the fill value in
last_fill_data
. The data will be “deflattened” to ensure uniformity.- Parameters
values – A dictionary of
widget_name: value_to_fill
.- Returns
bool
if the fill changed any value.
- class VirtWhoConfigStatus(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser
, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
View
orwidgetastic.browser.Browser
additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_context
to pass in required variables that will allow you to detect this.
- ROOT = .//li[@data-name='Virt-who Configs Status']¶
- config_status¶
- latest_config¶
- title¶
- manage¶
- refresh¶
- searchbox¶
- property is_displayed¶
Overrides the
Widget.is_displayed()
. The difference is that if the view does not have the root locator, it assumes it is displayed.- Returns