<s> from django . conf import settings <EOL> from django . utils . html import escape <EOL> from django . utils . http import urlquote <EOL> from mediagenerator . utils import media_url <EOL> WIDE_TWITTER_BUTTON = """<STR_LIT>""" <EOL> FACEBOOK_LIKE_BUTTON = """<STR_LIT>""" <EOL> PLUS_ONE_BUTTON = """<STR_LIT>""" <EOL> WIDE_BUTTONS_DIV = '<STR_LIT>' <EOL> NARROW_BUTTONS_DIV = '<STR_LIT>' <EOL> BASE_BUTTON = '<STR_LIT>' <EOL> DEFAULT_TITLE = '<STR_LIT>' <EOL> NARROW_BUTTONS = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:title>' : '<STR_LIT>' , <EOL> '<STR_LIT:url>' : '<STR_LIT>' , <EOL> } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:title>' : '<STR_LIT>' , <EOL> '<STR_LIT:url>' : '<STR_LIT>' , <EOL> } , <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> SHOW_SOCIAL_BUTTONS = getattr ( settings , '<STR_LIT>' , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) ) <EOL> def narrow_buttons ( request , title , url , buttons = SHOW_SOCIAL_BUTTONS ) : <EOL> base_url = '<STR_LIT>' % ( '<STR_LIT:s>' if request . is_secure ( ) else '<STR_LIT>' , <EOL> request . get_host ( ) ) <EOL> data = _get_url_data ( request , title , url ) <EOL> code = [ ] <EOL> for name in buttons : <EOL> button = NARROW_BUTTONS [ name ] <EOL> if not isinstance ( button , dict ) : <EOL> button = { '<STR_LIT:url>' : button } <EOL> title = escape ( button . get ( '<STR_LIT:title>' , DEFAULT_TITLE % name ) ) <EOL> url = escape ( button [ '<STR_LIT:url>' ] % data ) <EOL> icon = escape ( button . get ( '<STR_LIT>' , <EOL> media_url ( '<STR_LIT>' <EOL> % name . lower ( ) ) ) ) <EOL> if not icon . startswith ( ( '<STR_LIT>' , '<STR_LIT>' ) ) : <EOL> icon = base_url + icon <EOL> code . append ( BASE_BUTTON % { '<STR_LIT:title>' : title , '<STR_LIT:url>' : url , '<STR_LIT>' : icon } ) <EOL> return NARROW_BUTTONS_DIV % '<STR_LIT:\n>' . join ( code ) <EOL> def wide_buttons ( request , title , url , <EOL> buttons = ( WIDE_TWITTER_BUTTON , PLUS_ONE_BUTTON , FACEBOOK_LIKE_BUTTON ) ) : <EOL> data = _get_url_data ( request , title , url ) <EOL> data [ '<STR_LIT>' ] = escape ( data [ '<STR_LIT>' ] ) <EOL> code = [ button % data for button in buttons ] <EOL> return WIDE_BUTTONS_DIV % '<STR_LIT:\n>' . join ( code ) <EOL> def _get_url_data ( request , title , url ) : <EOL> url = '<STR_LIT>' % ( '<STR_LIT:s>' if request . is_secure ( ) else '<STR_LIT>' , <EOL> request . get_host ( ) , url ) <EOL> data = { '<STR_LIT:url>' : url , '<STR_LIT:title>' : title , '<STR_LIT>' : '<STR_LIT>' } <EOL> twitter_username = getattr ( settings , '<STR_LIT>' , None ) <EOL> if twitter_username : <EOL> data [ '<STR_LIT>' ] = twitter_username <EOL> for key in data : <EOL> data [ key ] = urlquote ( data [ key ] ) <EOL> if twitter_username : <EOL> data [ '<STR_LIT>' ] = '<STR_LIT>' + data [ '<STR_LIT>' ] <EOL> data [ '<STR_LIT>' ] = url <EOL> return data </s>
