<s> import json <EOL> import logging <EOL> from django . conf import settings <EOL> from django . core . urlresolvers import reverse <EOL> from django . template . defaultfilters import register <EOL> from django . utils import html <EOL> from django . utils import safestring <EOL> import six <EOL> import six . moves . urllib . parse as urlparse <EOL> from openstack_dashboard . api import swift <EOL> LOG = logging . getLogger ( __name__ ) <EOL> resource_urls = { <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> "<STR_LIT>" : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT:%s>' + swift . FOLDER_DELIMITER } , <EOL> } <EOL> def resource_to_url ( resource ) : <EOL> if ( not resource or <EOL> not resource . physical_resource_id or <EOL> not hasattr ( resource , '<STR_LIT>' ) ) : <EOL> return None <EOL> mapping = resource_urls . get ( resource . resource_type , { } ) <EOL> try : <EOL> if '<STR_LIT>' not in mapping : <EOL> return None <EOL> format_pattern = mapping . get ( '<STR_LIT>' ) or '<STR_LIT:%s>' <EOL> rid = format_pattern % resource . physical_resource_id <EOL> url = reverse ( mapping [ '<STR_LIT>' ] , args = ( rid , ) ) <EOL> except Exception as e : <EOL> LOG . exception ( e ) <EOL> return None <EOL> return url <EOL> @ register . filter <EOL> def stack_output ( output ) : <EOL> if not output : <EOL> return u'<STR_LIT>' <EOL> if isinstance ( output , six . string_types ) : <EOL> parts = urlparse . urlsplit ( output ) <EOL> if parts . netloc and parts . scheme in ( '<STR_LIT:http>' , '<STR_LIT>' ) : <EOL> url = html . escape ( output ) <EOL> safe_link = u'<STR_LIT>' % ( url , url ) <EOL> return safestring . mark_safe ( safe_link ) <EOL> if isinstance ( output , dict ) or isinstance ( output , list ) : <EOL> output = json . dumps ( output , indent = <NUM_LIT:2> ) <EOL> return safestring . mark_safe ( u'<STR_LIT>' % html . escape ( output ) ) <EOL> static_url = getattr ( settings , "<STR_LIT>" , "<STR_LIT>" ) <EOL> resource_images = { <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : <EOL> static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : <EOL> static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> '<STR_LIT>' : static_url + '<STR_LIT>' , <EOL> } <EOL> resource_types = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> def get_resource_type ( type ) : <EOL> for key , value in six . iteritems ( resource_types ) : <EOL> if key in type : <EOL> return value <EOL> return '<STR_LIT>' <EOL> def get_resource_status ( status ) : <EOL> if ( '<STR_LIT>' in status ) : <EOL> return '<STR_LIT>' <EOL> elif ( '<STR_LIT>' in status ) : <EOL> return '<STR_LIT>' <EOL> elif ( '<STR_LIT>' in status ) : <EOL> return '<STR_LIT>' <EOL> elif ( '<STR_LIT>' in status ) : <EOL> return '<STR_LIT>' <EOL> else : <EOL> return '<STR_LIT>' <EOL> def get_resource_image ( status , type ) : <EOL> """<STR_LIT>""" <EOL> resource_type = get_resource_type ( type ) <EOL> resource_status = get_resource_status ( status ) <EOL> resource_state = resource_type + "<STR_LIT:_>" + resource_status <EOL> for key in resource_images : <EOL> if key == resource_state : <EOL> return resource_images . get ( key ) </s>
