本文整理汇总了Python中safe.utilities.resources.resources_path函数的典型用法代码示例。如果您正苦于以下问题:Python resources_path函数的具体用法?Python resources_path怎么用?Python resources_path使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了resources_path函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: on_lstSubcategories_itemSelectionChanged
def on_lstSubcategories_itemSelectionChanged(self):
"""Update subcategory description label.
.. note:: This is an automatic Qt slot
executed when the subcategory selection changes.
"""
self.clear_further_steps()
# Set widgets
subcategory = self.selected_subcategory()
# Exit if no selection
if not subcategory:
return
# Set description label
self.lblDescribeSubcategory.setText(subcategory['description'])
icon_path = resources_path('img', 'wizard',
'keyword-subcategory-%s.svg'
% (subcategory['key'] or 'notset'))
if not os.path.exists(icon_path):
purpose = self.parent.step_kw_purpose.selected_purpose()
icon_path = resources_path('img', 'wizard',
'keyword-category-%s.svg'
% (purpose['key']))
self.lblIconSubcategory.setPixmap(QPixmap(icon_path))
# Enable the next button
self.parent.pbnNext.setEnabled(True)
示例2: content
def content():
"""Helper method that returns just the content.
This method was added so that the text could be reused in the
dock_help module.
.. versionadded:: 4.1.0
:returns: A message object without brand element.
:rtype: safe.messaging.message.Message
"""
message = m.Message()
paragraph = m.Paragraph(
m.Image(
'file:///%s/img/screenshots/'
'field-mapping-tool-screenshot.png' % resources_path()),
style_class='text-center'
)
message.add(paragraph)
paragraph = m.Paragraph(tr(
'This tool allows you to define field mappings to use for demographic '
'breakdowns of your analysis results. You can activate the '
'tool on the InaSAFE toolbar:'),
m.Image(
'file:///%s/img/icons/'
'show-mapping-tool.svg' % resources_path(),
**SMALL_ICON_STYLE),
)
message.add(paragraph)
message.add(field_mapping_help_content())
return message
示例3: populate_function_table_1
def populate_function_table_1(self):
"""Populate the tblFunctions1 table with available functions."""
# The hazard category radio buttons are now removed -
# make this parameter of IFM.available_hazards() optional
hazard_category = hazard_category_single_event
hazards = self.impact_function_manager\
.available_hazards(hazard_category['key'])
# Remove 'generic' from hazards
for h in hazards:
if h['key'] == 'generic':
hazards.remove(h)
exposures = self.impact_function_manager.available_exposures()
self.lblAvailableFunctions1.clear()
self.tblFunctions1.clear()
self.tblFunctions1.setColumnCount(len(hazards))
self.tblFunctions1.setRowCount(len(exposures))
for i in range(len(hazards)):
h = hazards[i]
item = QtGui.QTableWidgetItem()
item.setIcon(QtGui.QIcon(
resources_path('img', 'wizard', 'keyword-subcategory-%s.svg'
% (h['key'] or 'notset'))))
item.setText(h['name'].capitalize())
self.tblFunctions1.setHorizontalHeaderItem(i, item)
for i in range(len(exposures)):
e = exposures[i]
item = QtGui.QTableWidgetItem()
item.setIcon(QtGui.QIcon(resources_path(
'img', 'wizard', 'keyword-subcategory-%s.svg'
% (e['key'] or 'notset'))))
item.setText(e['name'].capitalize())
self.tblFunctions1.setVerticalHeaderItem(i, item)
big_font = QtGui.QFont()
big_font.setPointSize(80)
for h in hazards:
for e in exposures:
item = QtGui.QTableWidgetItem()
functions = \
self.impact_function_manager.functions_for_constraint(
h['key'], e['key'])
if len(functions):
background_colour = QtGui.QColor(120, 255, 120)
else:
background_colour = QtGui.QColor(220, 220, 220)
item.setFlags(item.flags() & ~QtCore.Qt.ItemIsEnabled)
item.setFlags(item.flags() & ~QtCore.Qt.ItemIsSelectable)
item.setBackground(QtGui.QBrush(background_colour))
item.setFont(big_font)
item.setTextAlignment(
QtCore.Qt.AlignCenter | QtCore.Qt.AlignHCenter)
item.setData(RoleFunctions, functions)
item.setData(RoleHazard, h)
item.setData(RoleExposure, e)
self.tblFunctions1.setItem(
exposures.index(e), hazards.index(h), item)
self.parent.pbnNext.setEnabled(False)
示例4: action_checklist_report_extractor
def action_checklist_report_extractor(impact_report, component_metadata):
"""Extracting action checklist of the impact layer to its own report.
:param impact_report: the impact report that acts as a proxy to fetch
all the data that extractor needed
:type impact_report: safe.report.impact_report.ImpactReport
:param component_metadata: the component metadata. Used to obtain
information about the component we want to render
:type component_metadata: safe.report.report_metadata.
ReportComponentsMetadata
:return: context for rendering phase
:rtype: dict
.. versionadded:: 4.1
"""
context = {}
extra_args = component_metadata.extra_args
components_list = resolve_from_dictionary(
extra_args, 'components_list')
context['brand_logo'] = resource_url(
resources_path('img', 'logos', 'inasafe-logo-white.png'))
for key, component in list(components_list.items()):
context[key] = jinja2_output_as_string(
impact_report, component['key'])
context['inasafe_resources_base_dir'] = resources_path()
return context
示例5: test_print_default_template
def test_print_default_template(self):
"""Test printing report to pdf using default template works."""
impact_layer_path = test_data_path(
'impact', 'population_affected_entire_area.shp')
layer, _ = load_layer(impact_layer_path)
# noinspection PyUnresolvedReferences
QgsMapLayerRegistry.instance().addMapLayer(layer)
# noinspection PyCallingNonCallable
rect = QgsRectangle(106.8194, -6.2108, 106.8201, -6.1964)
CANVAS.setExtent(rect)
CANVAS.refresh()
template = resources_path(
'qgis-composer-templates', 'inasafe-portrait-a4.qpt')
report = ImpactReport(IFACE, template, layer)
out_path = unique_filename(
prefix='map_default_template_test',
suffix='.pdf',
dir=temp_dir('test'))
report.print_map_to_pdf(out_path)
# Check the file exists
message = 'Rendered output does not exist: %s' % out_path
self.assertTrue(os.path.exists(out_path), message)
# Check the file is not corrupt
message = 'The output file %s is corrupt' % out_path
out_size = os.stat(out_path).st_size
self.assertTrue(out_size > 0, message)
# Check the components in composition are default components
if qgis_version() < 20500:
safe_logo = report.composition.getComposerItemById(
'safe-logo').pictureFile()
north_arrow = report.composition.getComposerItemById(
'north-arrow').pictureFile()
org_logo = report.composition.getComposerItemById(
'organisation-logo').pictureFile()
else:
safe_logo = report.composition.getComposerItemById(
'safe-logo').picturePath()
north_arrow = report.composition.getComposerItemById(
'north-arrow').picturePath()
org_logo = report.composition.getComposerItemById(
'organisation-logo').picturePath()
expected_safe_logo = resources_path(
'img', 'logos', 'inasafe-logo-url.svg')
expected_north_arrow = resources_path(
'img', 'north_arrows', 'simple_north_arrow.png')
expected_org_logo = resources_path('img', 'logos', 'supporters.png')
message = 'The safe logo path is not the default one'
self.assertEqual(expected_safe_logo, safe_logo, message)
message = 'The north arrow path is not the default one'
self.assertEqual(expected_north_arrow, north_arrow, message)
message = 'The organisation logo path is not the default one'
self.assertEqual(expected_org_logo, org_logo, message)
示例6: _definition_screenshot_url
def _definition_screenshot_url(definition):
jpg_image_path = resources_path(
'img', 'definitions', definition['key'] + '_screenshot.jpg')
png_image_path = resources_path(
'img', 'definitions', definition['key'] + '_screenshot.png')
if exists(jpg_image_path):
url = resource_url(jpg_image_path)
elif exists(png_image_path):
url = resource_url(png_image_path)
else:
url = None
return url
示例7: _definition_icon_url
def _definition_icon_url(definition):
if 'key' not in definition:
return None
svg_image_path = resources_path(
'img', 'definitions', definition['key'] + '.svg')
png_image_path = resources_path(
'img', 'definitions', definition['key'] + '.png')
if exists(svg_image_path):
url = resource_url(svg_image_path)
elif exists(png_image_path):
url = resource_url(png_image_path)
else:
url = None
return url
示例8: populate_function_table_1
def populate_function_table_1(self):
"""Populate the tblFunctions1 table with available functions."""
hazards = deepcopy(hazard_all)
exposures = exposure_all
self.lblAvailableFunctions1.clear()
self.tblFunctions1.clear()
self.tblFunctions1.setColumnCount(len(hazards))
self.tblFunctions1.setRowCount(len(exposures))
for i in range(len(hazards)):
hazard = hazards[i]
item = QtGui.QTableWidgetItem()
item.setIcon(QtGui.QIcon(
resources_path('img', 'wizard', 'keyword-subcategory-%s.svg'
% (hazard['key'] or 'notset'))))
item.setText(hazard['name'].capitalize())
self.tblFunctions1.setHorizontalHeaderItem(i, item)
for i in range(len(exposures)):
exposure = exposures[i]
item = QtGui.QTableWidgetItem()
item.setIcon(QtGui.QIcon(resources_path(
'img', 'wizard', 'keyword-subcategory-%s.svg'
% (exposure['key'] or 'notset'))))
item.setText(exposure['name'].capitalize())
self.tblFunctions1.setVerticalHeaderItem(i, item)
developer_mode = setting('developer_mode', False, bool)
for hazard in hazards:
for exposure in exposures:
item = QtGui.QTableWidgetItem()
if (exposure in hazard['disabled_exposures'] and not
developer_mode):
background_colour = unavailable_option_color
# Set it disable and un-selectable
item.setFlags(
item.flags() & ~
QtCore.Qt.ItemIsEnabled & ~
QtCore.Qt.ItemIsSelectable
)
else:
background_colour = available_option_color
item.setBackground(QtGui.QBrush(background_colour))
item.setFont(big_font)
item.setTextAlignment(
QtCore.Qt.AlignCenter | QtCore.Qt.AlignHCenter)
item.setData(RoleHazard, hazard)
item.setData(RoleExposure, exposure)
self.tblFunctions1.setItem(
exposures.index(exposure), hazards.index(hazard), item)
self.parent.pbnNext.setEnabled(False)
示例9: white_inasafe_logo_path
def white_inasafe_logo_path():
"""Get the path to the White InaSAFE SVG logo.
.. versionadded:: 3.2
"""
path = resources_path("img", "logos", "inasafe-logo-url-white.svg")
return path
示例10: show_keywords_need_review_message
def show_keywords_need_review_message(sender, message=None):
"""Show a message keywords are not adequate to run an analysis.
.. versionadded: 4.0
:param message: Additional message to display.
:type message: str
.. note:: The print button will be disabled if this method is called.
"""
LOGGER.debug('Showing incorrect keywords for v4 message')
message = generate_input_error_message(
tr('Layer Keywords Outdated:'),
m.Paragraph(
tr(
'Please update the keywords for your layers and then '
'try to run the analysis again. Use the keyword wizard '),
m.Image(
'file:///%s/img/icons/'
'show-keyword-wizard.svg' % resources_path(),
**SMALL_ICON_STYLE),
tr(
' icon in the toolbar to update your layer\'s keywords.'),
message)
)
send_static_message(sender, message)
示例11: Xtest_print_impact_table
def Xtest_print_impact_table(self):
"""Test print impact table to pdf."""
impact_layer_path = test_data_path(
'impact', 'population_affected_entire_area.shp')
layer, _ = load_layer(impact_layer_path)
# noinspection PyUnresolvedReferences,PyArgumentList
QgsMapLayerRegistry.instance().addMapLayer(layer)
# noinspection PyCallingNonCallable
rect = QgsRectangle(106.8194, -6.2108, 106.8201, -6.1964)
CANVAS.setExtent(rect)
CANVAS.refresh()
template = resources_path(
'qgis-composer-templates', 'a4-portrait-blue.qpt')
report = ImpactReport(IFACE, template, layer)
report.template = template # just to cover set template
out_path = unique_filename(
prefix='test_print_impact_table',
suffix='.pdf',
dir=temp_dir('test'))
report.print_impact_table(out_path)
# Check the file exists
message = 'Rendered output does not exist: %s' % out_path
self.assertTrue(os.path.exists(out_path), message)
# Check the file is not corrupt
message = 'The output file %s is corrupt' % out_path
out_size = os.stat(out_path).st_size
self.assertTrue(out_size > 0, message)
示例12: restore_state
def restore_state(self):
"""Reinstate the options based on the user's stored session info.
"""
settings = QtCore.QSettings()
flag = bool(settings.value(
'inasafe/analysisExtentFlag', True, type=bool))
self.analysis_extent_radio.setChecked(flag)
self.current_extent_radio.setChecked(not flag)
flag = bool(settings.value(
'inasafe/useDefaultTemplates', True, type=bool))
self.default_template_radio.setChecked(flag)
self.custom_template_radio.setChecked(not flag)
try:
default_template_path = resources_path(
'qgis-composer-templates', 'inasafe-map-report-portrait.qpt')
path = settings.value(
'inasafe/lastTemplate',
default_template_path,
type=str)
self.template_combo.setCurrentIndex(
self.template_combo.findData(path))
except TypeError:
self.template_combo.setCurrentIndex(2)
try:
path = settings.value('inasafe/lastCustomTemplate', '', type=str)
except TypeError:
path = ''
self.template_path.setText(path)
示例13: create_pdf
def create_pdf(self, title, output_directory, impact_layer, count=0, index=None):
"""Create PDF report from impact layer.
Create map & table report PDF based from impact_layer data.
:param title: Report title.
:type title: str
:param output_directory: Output directory.
:type output_directory: str
:param impact_layer: Impact layer instance.
:type impact_layer: QgsMapLayer
:param count: The number of scenarios that were run.
:type count: int
:param index: A sequential number to place at the beginning of the
file name.
:type index: int, None
See also:
Dock.printMap()
"""
# FIXME: check if impact_layer is the real impact layer...
template = resources_path("qgis-composer-templates", "inasafe-portrait-a4.qpt")
impact_report = ImpactReport(self.iface, template, impact_layer)
LOGGER.debug("Create Report: %s" % title)
map_path, table_path = self.report_path(output_directory, title, count, index)
# create map and table pdf
map_path, table_path = impact_report.print_to_pdf(map_path)
LOGGER.debug("Report done %s %s" % (map_path, table_path))
示例14: __init__
def __init__(self, iface, template, layer):
"""Constructor for the Composition Report class.
:param iface: Reference to the QGIS iface object.
:type iface: QgsAppInterface
:param template: The QGIS template path.
:type template: str
"""
LOGGER.debug('InaSAFE Impact Report class initialised')
self._iface = iface
self._template = template
self._layer = layer
self._extent = self._iface.mapCanvas().extent()
self._page_dpi = 300.0
self._safe_logo = resources_path(
'img', 'logos', 'inasafe-logo-url.svg')
self._organisation_logo = default_organisation_logo_path()
self._north_arrow = default_north_arrow_path()
self._disclaimer = disclaimer()
# For QGIS < 2.4 compatibility
# QgsMapSettings is added in 2.4
if qgis_version() < 20400:
map_settings = self._iface.mapCanvas().mapRenderer()
else:
map_settings = self._iface.mapCanvas().mapSettings()
self._template_composition = TemplateComposition(
template_path=self.template,
map_settings=map_settings)
self._keyword_io = KeywordIO()
示例15: show_keyword_version_message
def show_keyword_version_message(sender, keyword_version, inasafe_version):
"""Show a message indicating that the keywords version is mismatch
.. versionadded: 3.2
:param keyword_version: The version of the layer's keywords
:type keyword_version: str
:param inasafe_version: The version of the InaSAFE
:type inasafe_version: str
.. note:: The print button will be disabled if this method is called.
"""
LOGGER.debug('Showing Mismatch Version Message')
message = generate_input_error_message(
tr('Layer Keyword\'s Version Mismatch:'),
m.Paragraph(
tr(
'Your layer\'s keyword\'s version ({layer_version}) does not '
'match with your InaSAFE version ({inasafe_version}). If you '
'wish to use it as an exposure, hazard, or aggregation layer '
'in an analysis, please use the keyword wizard to update the '
'keywords. You can open the wizard by clicking on '
'the ').format(
layer_version=keyword_version,
inasafe_version=inasafe_version),
m.Image(
'file:///%s/img/icons/'
'show-keyword-wizard.svg' % resources_path(),
**SMALL_ICON_STYLE),
tr(
' icon in the toolbar.'))
)
send_static_message(sender, message)