def default_repository_metadata_value_mapper(trans, repository_metadata): value_mapper = { 'id': trans.security.encode_id(repository_metadata.id), 'repository_id': trans.security.encode_id(repository_metadata.repository_id) } if repository_metadata.time_last_tested: value_mapper['time_last_tested'] = time_ago( repository_metadata.time_last_tested) return value_mapper
def render_body(context,**pageargs): context.caller_stack._push_frame() try: __M_locals = __M_dict_builtin(pageargs=pageargs) _import_ns = {} _mako_get_namespace(context, '__anon_0x7f72840781d0')._populate(_import_ns, [u'*']) _mako_get_namespace(context, '__anon_0x7f7284078210')._populate(_import_ns, [u'render_tool_shed_repository_actions']) _mako_get_namespace(context, '__anon_0x7f7284078d90')._populate(_import_ns, [u'*']) _mako_get_namespace(context, '__anon_0x7f72940881d0')._populate(_import_ns, [u'render_msg']) containers_dict = _import_ns.get('containers_dict', context.get('containers_dict', UNDEFINED)) revision_label = _import_ns.get('revision_label', context.get('revision_label', UNDEFINED)) render_msg = _import_ns.get('render_msg', context.get('render_msg', UNDEFINED)) skip_tool_tests_check_box = _import_ns.get('skip_tool_tests_check_box', context.get('skip_tool_tests_check_box', UNDEFINED)) render_tool_shed_repository_actions = _import_ns.get('render_tool_shed_repository_actions', context.get('render_tool_shed_repository_actions', UNDEFINED)) num_ratings = _import_ns.get('num_ratings', context.get('num_ratings', UNDEFINED)) current_allow_push_list = _import_ns.get('current_allow_push_list', context.get('current_allow_push_list', UNDEFINED)) message = _import_ns.get('message', context.get('message', UNDEFINED)) long_description = _import_ns.get('long_description', context.get('long_description', UNDEFINED)) alerts_check_box = _import_ns.get('alerts_check_box', context.get('alerts_check_box', UNDEFINED)) render_review_comment = _import_ns.get('render_review_comment', context.get('render_review_comment', UNDEFINED)) render_clone_str = _import_ns.get('render_clone_str', context.get('render_clone_str', UNDEFINED)) display_reviews = _import_ns.get('display_reviews', context.get('display_reviews', UNDEFINED)) selected_categories = _import_ns.get('selected_categories', context.get('selected_categories', UNDEFINED)) allow_push_select_field = _import_ns.get('allow_push_select_field', context.get('allow_push_select_field', UNDEFINED)) to_safe_string = _import_ns.get('to_safe_string', context.get('to_safe_string', UNDEFINED)) metadata = _import_ns.get('metadata', context.get('metadata', UNDEFINED)) status = _import_ns.get('status', context.get('status', UNDEFINED)) description = _import_ns.get('description', context.get('description', UNDEFINED)) repository = _import_ns.get('repository', context.get('repository', UNDEFINED)) len = _import_ns.get('len', context.get('len', UNDEFINED)) skip_tool_test = _import_ns.get('skip_tool_test', context.get('skip_tool_test', UNDEFINED)) repository_type_select_field = _import_ns.get('repository_type_select_field', context.get('repository_type_select_field', UNDEFINED)) changeset_revision = _import_ns.get('changeset_revision', context.get('changeset_revision', UNDEFINED)) categories = _import_ns.get('categories', context.get('categories', UNDEFINED)) repository_metadata = _import_ns.get('repository_metadata', context.get('repository_metadata', UNDEFINED)) malicious_check_box = _import_ns.get('malicious_check_box', context.get('malicious_check_box', UNDEFINED)) render_repository_type_select_field = _import_ns.get('render_repository_type_select_field', context.get('render_repository_type_select_field', UNDEFINED)) render_star_rating = _import_ns.get('render_star_rating', context.get('render_star_rating', UNDEFINED)) h = _import_ns.get('h', context.get('h', UNDEFINED)) avg_rating = _import_ns.get('avg_rating', context.get('avg_rating', UNDEFINED)) render_repository_items = _import_ns.get('render_repository_items', context.get('render_repository_items', UNDEFINED)) render_sharable_str = _import_ns.get('render_sharable_str', context.get('render_sharable_str', UNDEFINED)) changeset_revision_select_field = _import_ns.get('changeset_revision_select_field', context.get('changeset_revision_select_field', UNDEFINED)) trans = _import_ns.get('trans', context.get('trans', UNDEFINED)) __M_writer = context.writer() # SOURCE LINE 1 __M_writer(u'\n') # SOURCE LINE 2 __M_writer(u'\n') # SOURCE LINE 3 __M_writer(u'\n') # SOURCE LINE 4 __M_writer(u'\n') # SOURCE LINE 5 __M_writer(u'\n\n') # SOURCE LINE 7 from galaxy.web.framework.helpers import time_ago from tool_shed.util.shed_util_common import changeset_is_malicious if repository.metadata_revisions: has_metadata = True else: has_metadata = False is_admin = trans.user_is_admin() is_new = repository.is_new( trans.app ) if repository.deprecated: is_deprecated = True else: is_deprecated = False if changeset_is_malicious( trans, trans.security.encode_id( repository.id ), repository.tip( trans.app ) ): is_malicious = True else: is_malicious = False if not is_deprecated and trans.app.security_agent.can_push( trans.app, trans.user, repository ): can_push = True else: can_push = False if not is_deprecated and not is_new and ( not is_malicious or can_push ): can_download = True else: can_download = False if has_metadata and not is_deprecated and trans.app.security_agent.user_can_review_repositories( trans.user ): can_review_repository = True else: can_review_repository = False if not is_new and not is_deprecated: can_set_metadata = True else: can_set_metadata = False if changeset_revision == repository.tip( trans.app ): changeset_revision_is_repository_tip = True else: changeset_revision_is_repository_tip = False if metadata and can_set_metadata and is_admin and changeset_revision_is_repository_tip: can_set_malicious = True else: can_set_malicious = False can_view_change_log = not is_new if repository_metadata and repository_metadata.includes_tools: includes_tools = True else: includes_tools = False if changeset_revision_is_repository_tip: tip_str = 'repository tip' sharable_link_label = 'Sharable link to this repository:' sharable_link_changeset_revision = None else: tip_str = '' sharable_link_label = 'Sharable link to this repository revision:' sharable_link_changeset_revision = changeset_revision __M_locals_builtin_stored = __M_locals_builtin() __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['can_set_metadata','changeset_is_malicious','tip_str','can_view_change_log','has_metadata','is_new','can_download','changeset_revision_is_repository_tip','is_deprecated','is_malicious','is_admin','includes_tools','can_set_malicious','can_review_repository','can_push','sharable_link_changeset_revision','time_ago','sharable_link_label'] if __M_key in __M_locals_builtin_stored])) # SOURCE LINE 74 __M_writer(u'\n\n') # SOURCE LINE 82 __M_writer(u'\n') # SOURCE LINE 83 __M_writer(u'\n\n') # SOURCE LINE 88 __M_writer(u'\n\n') # SOURCE LINE 94 __M_writer(u'\n\n') # SOURCE LINE 96 __M_writer(unicode(render_tool_shed_repository_actions( repository, metadata=metadata, changeset_revision=changeset_revision ))) __M_writer(u'\n\n') # SOURCE LINE 98 if message: # SOURCE LINE 99 __M_writer(u' ') __M_writer(unicode(render_msg( message, status ))) __M_writer(u'\n') pass # SOURCE LINE 101 __M_writer(u'\n') # SOURCE LINE 102 if repository.deprecated: # SOURCE LINE 103 __M_writer(u' <div class="warningmessage">\n This repository has been marked as deprecated, so some tool shed features may be restricted.\n </div>\n') pass # SOURCE LINE 107 __M_writer(u'\n') # SOURCE LINE 108 if len( changeset_revision_select_field.options ) > 1: # SOURCE LINE 109 __M_writer(u' <div class="toolForm">\n <div class="toolFormTitle">Repository revision</div>\n <div class="toolFormBody">\n <form name="change_revision" id="change_revision" action="') # SOURCE LINE 112 __M_writer(unicode(h.url_for( controller='repository', action='manage_repository', id=trans.security.encode_id( repository.id ) ))) __M_writer(u'" method="post" >\n <div class="form-row">\n ') # SOURCE LINE 114 __M_writer(unicode(changeset_revision_select_field.get_html())) __M_writer(u' <i>') __M_writer(unicode(tip_str)) __M_writer(u'</i>\n <div class="toolParamHelp" style="clear: both;">\n') # SOURCE LINE 116 if can_review_repository: # SOURCE LINE 117 __M_writer(u' Select a revision to inspect for adding or managing a review or for download or installation.\n') # SOURCE LINE 118 else: # SOURCE LINE 119 __M_writer(u' Select a revision to inspect for download or installation.\n') pass # SOURCE LINE 121 __M_writer(u' </div>\n </div>\n </form>\n </div>\n </div>\n <p/>\n') pass # SOURCE LINE 128 __M_writer(u'<div class="toolForm">\n <div class="toolFormTitle">Repository \'') # SOURCE LINE 129 __M_writer(filters.html_escape(unicode(repository.name ))) __M_writer(u'\'</div>\n <div class="toolFormBody">\n <form name="edit_repository" id="edit_repository" action="') # SOURCE LINE 131 __M_writer(unicode(h.url_for( controller='repository', action='manage_repository', id=trans.security.encode_id( repository.id ) ))) __M_writer(u'" method="post" >\n <div class="form-row">\n <label>') # SOURCE LINE 133 __M_writer(unicode(sharable_link_label)) __M_writer(u'</label>\n ') # SOURCE LINE 134 __M_writer(unicode(render_sharable_str( repository, changeset_revision=sharable_link_changeset_revision ))) __M_writer(u'\n </div>\n') # SOURCE LINE 136 if can_download: # SOURCE LINE 137 __M_writer(u' <div class="form-row">\n <label>Clone this repository:</label>\n ') # SOURCE LINE 139 __M_writer(unicode(render_clone_str( repository ))) __M_writer(u'\n </div>\n') pass # SOURCE LINE 142 __M_writer(u' <div class="form-row">\n <label>Name:</label>\n') # SOURCE LINE 144 if repository.times_downloaded > 0: # SOURCE LINE 145 __M_writer(u' ') __M_writer(unicode(repository.name)) __M_writer(u'\n') # SOURCE LINE 146 else: # SOURCE LINE 147 __M_writer(u' <input name="repo_name" type="textfield" value="') __M_writer(filters.html_escape(unicode(repository.name ))) __M_writer(u'" size="40"/>\n') pass # SOURCE LINE 149 __M_writer(u' <div class="toolParamHelp" style="clear: both;">\n Repository names cannot be changed if the repository has been cloned.\n </div>\n <div style="clear: both"></div>\n </div>\n ') # SOURCE LINE 154 __M_writer(unicode(render_repository_type_select_field( repository_type_select_field, render_help=True ))) __M_writer(u'\n <div class="form-row">\n <label>Synopsis:</label>\n <input name="description" type="textfield" value="') # SOURCE LINE 157 __M_writer(filters.html_escape(unicode(description ))) __M_writer(u'" size="80"/>\n <div style="clear: both"></div>\n </div>\n <div class="form-row">\n <label>Detailed description:</label>\n') # SOURCE LINE 162 if long_description: # SOURCE LINE 163 __M_writer(u' <pre><textarea name="long_description" rows="3" cols="80">') __M_writer(filters.html_escape(unicode(long_description ))) __M_writer(u'</textarea></pre>\n') # SOURCE LINE 164 else: # SOURCE LINE 165 __M_writer(u' <textarea name="long_description" rows="3" cols="80"></textarea>\n') pass # SOURCE LINE 167 __M_writer(u' <div style="clear: both"></div>\n </div>\n <div class="form-row">\n <label>Revision:</label>\n') # SOURCE LINE 171 if can_view_change_log: # SOURCE LINE 172 __M_writer(u' <a href="') __M_writer(unicode(h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) ))) __M_writer(u'">') __M_writer(filters.html_escape(unicode(revision_label ))) __M_writer(u'</a>\n') # SOURCE LINE 173 else: # SOURCE LINE 174 __M_writer(u' ') __M_writer(filters.html_escape(unicode(revision_label ))) __M_writer(u'\n') pass # SOURCE LINE 176 __M_writer(u' </div>\n <div class="form-row">\n <label>Owner:</label>\n ') # SOURCE LINE 179 __M_writer(filters.html_escape(unicode(repository.user.username ))) __M_writer(u'\n </div>\n <div class="form-row">\n <label>Times downloaded:</label>\n ') # SOURCE LINE 183 __M_writer(filters.html_escape(unicode(repository.times_downloaded ))) __M_writer(u'\n </div>\n') # SOURCE LINE 185 if is_admin: # SOURCE LINE 186 __M_writer(u' <div class="form-row">\n <label>Location:</label>\n ') # SOURCE LINE 188 __M_writer(filters.html_escape(unicode(repository.repo_path( trans.app ) ))) __M_writer(u'\n </div>\n <div class="form-row">\n <label>Deleted:</label>\n ') # SOURCE LINE 192 __M_writer(filters.html_escape(unicode(repository.deleted ))) __M_writer(u'\n </div>\n') pass # SOURCE LINE 195 __M_writer(u' <div class="form-row">\n <input type="submit" name="edit_repository_button" value="Save"/>\n </div>\n </form>\n </div>\n</div>\n') # SOURCE LINE 201 __M_writer(unicode(render_repository_items( metadata, containers_dict, can_set_metadata=True, render_repository_actions_for='tool_shed' ))) __M_writer(u'\n') # SOURCE LINE 202 if includes_tools: # SOURCE LINE 203 __M_writer(u' <p/>\n <div class="toolForm">\n <div class="toolFormTitle">Automated tool tests</div>\n <div class="toolFormBody">\n <form name="skip_tool_tests" id="skip_tool_tests" action="') # SOURCE LINE 207 __M_writer(unicode(h.url_for( controller='repository', action='manage_repository', id=trans.security.encode_id( repository.id ), changeset_revision=repository_metadata.changeset_revision ))) __M_writer(u'" method="post" >\n <div class="form-row">\n <label>Skip automated testing of tools in this revision:</label>\n ') # SOURCE LINE 210 __M_writer(unicode(skip_tool_tests_check_box.get_html())) __M_writer(u'\n <div class="toolParamHelp" style="clear: both;">\n Check the box and click <b>Save</b> to skip automated testing of the tools in this revision.\n </div>\n </div>\n <div style="clear: both"></div>\n <div class="form-row">\n <label>Reason for skipping automated testing:</label>\n') # SOURCE LINE 218 if skip_tool_test: # SOURCE LINE 219 __M_writer(u' <pre><textarea name="skip_tool_tests_comment" rows="3" cols="80">') __M_writer(filters.html_escape(unicode(skip_tool_test.comment ))) __M_writer(u'</textarea></pre>\n') # SOURCE LINE 220 else: # SOURCE LINE 221 __M_writer(u' <textarea name="skip_tool_tests_comment" rows="3" cols="80"></textarea>\n') pass # SOURCE LINE 223 __M_writer(u' </div>\n <div style="clear: both"></div>\n <div class="form-row">\n <input type="submit" name="skip_tool_tests_button" value="Save"/>\n </div>\n </form>\n </div>\n </div>\n') pass # SOURCE LINE 232 __M_writer(u'<p/>\n<div class="toolForm">\n <div class="toolFormTitle">Manage categories</div>\n <div class="toolFormBody">\n <form name="categories" id="categories" action="') # SOURCE LINE 236 __M_writer(unicode(h.url_for( controller='repository', action='manage_repository', id=trans.security.encode_id( repository.id ) ))) __M_writer(u'" method="post" >\n <div class="form-row">\n <label>Categories</label>\n <select name="category_id" multiple>\n') # SOURCE LINE 240 for category in categories: # SOURCE LINE 241 if category.id in selected_categories: # SOURCE LINE 242 __M_writer(u' <option value="') __M_writer(unicode(trans.security.encode_id( category.id ))) __M_writer(u'" selected>') __M_writer(filters.html_escape(unicode(category.name ))) __M_writer(u'</option>\n') # SOURCE LINE 243 else: # SOURCE LINE 244 __M_writer(u' <option value="') __M_writer(unicode(trans.security.encode_id( category.id ))) __M_writer(u'">') __M_writer(filters.html_escape(unicode(category.name ))) __M_writer(u'</option>\n') pass pass # SOURCE LINE 247 __M_writer(u' </select>\n <div class="toolParamHelp" style="clear: both;">\n Multi-select list - hold the appropriate key while clicking to select multiple categories.\n </div>\n <div style="clear: both"></div>\n </div>\n <div class="form-row">\n <input type="submit" name="manage_categories_button" value="Save"/>\n </div>\n </form>\n </div>\n</div>\n') # SOURCE LINE 259 if trans.app.config.smtp_server: # SOURCE LINE 260 __M_writer(u' <p/>\n <div class="toolForm">\n <div class="toolFormTitle">Notification on update</div>\n <div class="toolFormBody">\n <form name="receive_email_alerts" id="receive_email_alerts" action="') # SOURCE LINE 264 __M_writer(unicode(h.url_for( controller='repository', action='manage_repository', id=trans.security.encode_id( repository.id ) ))) __M_writer(u'" method="post" >\n <div class="form-row">\n <label>Receive email alerts:</label>\n ') # SOURCE LINE 267 __M_writer(unicode(alerts_check_box.get_html())) __M_writer(u'\n <div class="toolParamHelp" style="clear: both;">\n Check the box and click <b>Save</b> to receive email alerts when updates to this repository occur.\n </div>\n </div>\n <div class="form-row">\n <input type="submit" name="receive_email_alerts_button" value="Save"/>\n </div>\n </form>\n </div>\n </div>\n') pass # SOURCE LINE 279 __M_writer(u'<p/>\n<div class="toolForm">\n <div class="toolFormTitle">Grant authority to make changes</div>\n <div class="toolFormBody">\n <table class="grid">\n <tr>\n <td>') # SOURCE LINE 285 __M_writer(filters.html_escape(unicode(repository.user.username ))) __M_writer(u'</td>\n <td>owner</td>\n <td> </td>\n </tr>\n') # SOURCE LINE 289 for username in current_allow_push_list: # SOURCE LINE 290 if username != repository.user.username: # SOURCE LINE 291 __M_writer(u' <tr>\n <td>') # SOURCE LINE 292 __M_writer(filters.html_escape(unicode(username ))) __M_writer(u'</td>\n <td>write</td>\n <td><a class="action-button" href="') # SOURCE LINE 294 __M_writer(unicode(h.url_for( controller='repository', action='manage_repository', id=trans.security.encode_id( repository.id ), user_access_button='Remove', remove_auth=username ))) __M_writer(u'">remove</a>\n </tr>\n') pass pass # SOURCE LINE 298 __M_writer(u' </table>\n <br clear="left"/>\n <form name="user_access" id="user_access" action="') # SOURCE LINE 300 __M_writer(unicode(h.url_for( controller='repository', action='manage_repository', id=trans.security.encode_id( repository.id ) ))) __M_writer(u'" method="post" >\n <div class="form-row">\n <label>Username:</label>\n ') # SOURCE LINE 303 __M_writer(unicode(allow_push_select_field.get_html())) __M_writer(u'\n <div class="toolParamHelp" style="clear: both;">\n Multi-select usernames to grant permission to make changes to this repository\n </div>\n <div style="clear: both"></div>\n </div>\n <div class="form-row">\n <input type="submit" name="user_access_button" value="Grant access"/>\n </div>\n </form>\n </div>\n</div>\n') # SOURCE LINE 315 if repository.ratings: # SOURCE LINE 316 __M_writer(u' <p/>\n <div class="toolForm">\n <div class="toolFormTitle">Rating</div>\n <div class="toolFormBody">\n <div class="form-row">\n <label>Times Rated:</label>\n ') # SOURCE LINE 322 __M_writer(filters.html_escape(unicode(num_ratings ))) __M_writer(u'\n <div style="clear: both"></div>\n </div>\n <div class="form-row">\n <label>Average Rating:</label>\n ') # SOURCE LINE 327 __M_writer(unicode(render_star_rating( 'avg_rating', avg_rating, disabled=True ))) __M_writer(u'\n <div style="clear: both"></div>\n </div>\n </div>\n </div>\n <p/>\n <div class="toolForm">\n <div class="toolFormBody">\n') # SOURCE LINE 335 if display_reviews: # SOURCE LINE 336 __M_writer(u' <div class="form-row">\n <a href="') # SOURCE LINE 337 __M_writer(unicode(h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), display_reviews=False ))) __M_writer(u'"><label>Hide Reviews</label></a>\n </div>\n <div style="clear: both"></div>\n <div class="form-row">\n <table class="grid">\n <thead>\n <tr>\n <th>Rating</th>\n <th>Comments</th>\n <th>Reviewed</th>\n <th>User</th>\n </tr>\n </thead>\n ') # SOURCE LINE 350 count = 0 __M_locals_builtin_stored = __M_locals_builtin() __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['count'] if __M_key in __M_locals_builtin_stored])) __M_writer(u'\n') # SOURCE LINE 351 for review in repository.ratings: # SOURCE LINE 352 __M_writer(u' ') count += 1 name = 'rating%d' % count __M_locals_builtin_stored = __M_locals_builtin() __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['count','name'] if __M_key in __M_locals_builtin_stored])) # SOURCE LINE 355 __M_writer(u'\n <tr>\n <td>') # SOURCE LINE 357 __M_writer(unicode(render_star_rating( name, review.rating, disabled=True ))) __M_writer(u'</td>\n <td>') # SOURCE LINE 358 __M_writer(unicode(render_review_comment( to_safe_string( review.comment, to_html=True ) ))) __M_writer(u'</td>\n <td>') # SOURCE LINE 359 __M_writer(unicode(time_ago( review.update_time ))) __M_writer(u'</td>\n <td>') # SOURCE LINE 360 __M_writer(filters.html_escape(unicode(review.user.username ))) __M_writer(u'</td>\n </tr>\n') pass # SOURCE LINE 363 __M_writer(u' </table>\n </div>\n <div style="clear: both"></div>\n') # SOURCE LINE 366 else: # SOURCE LINE 367 __M_writer(u' <div class="form-row">\n <a href="') # SOURCE LINE 368 __M_writer(unicode(h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), display_reviews=True ))) __M_writer(u'"><label>Display Reviews</label></a>\n </div>\n <div style="clear: both"></div>\n') pass # SOURCE LINE 372 __M_writer(u' </div>\n </div>\n') pass # SOURCE LINE 375 __M_writer(u'<p/>\n') # SOURCE LINE 376 if can_set_malicious: # SOURCE LINE 377 __M_writer(u' <p/>\n <div class="toolForm">\n <div class="toolFormTitle">Malicious repository tip</div>\n <div class="toolFormBody">\n <form name="malicious" id="malicious" action="') # SOURCE LINE 381 __M_writer(unicode(h.url_for( controller='repository', action='set_malicious', id=trans.security.encode_id( repository.id ), ctx_str=changeset_revision ))) __M_writer(u'" method="post">\n <div class="form-row">\n <label>Define repository tip as malicious:</label>\n ') # SOURCE LINE 384 __M_writer(unicode(malicious_check_box.get_html())) __M_writer(u'\n <div class="toolParamHelp" style="clear: both;">\n Check the box and click <b>Save</b> to define this repository\'s tip as malicious, restricting it from being download-able.\n </div>\n </div>\n <div class="form-row">\n <input type="submit" name="malicious_button" value="Save"/>\n </div>\n </form>\n </div>\n </div>\n') pass # SOURCE LINE 396 __M_writer(u'<p/>\n') return '' finally: context.caller_stack._pop_frame()
def default_value_mapper( trans, repository_metadata ): value_mapper = { 'id' : trans.security.encode_id( repository_metadata.id ), 'repository_id' : trans.security.encode_id( repository_metadata.repository_id ) } if repository_metadata.time_last_tested: value_mapper[ 'time_last_tested' ] = time_ago( repository_metadata.time_last_tested ) return value_mapper
def render_body(context,**pageargs): context.caller_stack._push_frame() try: __M_locals = __M_dict_builtin(pageargs=pageargs) _import_ns = {} _mako_get_namespace(context, '__anon_0x7fe160459410')._populate(_import_ns, [u'render_msg']) _mako_get_namespace(context, '__anon_0x7fe160459650')._populate(_import_ns, [u'*']) _mako_get_namespace(context, '__anon_0x7fe1604594d0')._populate(_import_ns, [u'*']) _mako_get_namespace(context, '__anon_0x7fe160459590')._populate(_import_ns, [u'*']) containers_dict = _import_ns.get('containers_dict', context.get('containers_dict', UNDEFINED)) revision_label = _import_ns.get('revision_label', context.get('revision_label', UNDEFINED)) render_msg = _import_ns.get('render_msg', context.get('render_msg', UNDEFINED)) render_tool_shed_repository_actions = _import_ns.get('render_tool_shed_repository_actions', context.get('render_tool_shed_repository_actions', UNDEFINED)) num_ratings = _import_ns.get('num_ratings', context.get('num_ratings', UNDEFINED)) render_long_description = _import_ns.get('render_long_description', context.get('render_long_description', UNDEFINED)) message = _import_ns.get('message', context.get('message', UNDEFINED)) alerts_check_box = _import_ns.get('alerts_check_box', context.get('alerts_check_box', UNDEFINED)) render_review_comment = _import_ns.get('render_review_comment', context.get('render_review_comment', UNDEFINED)) render_clone_str = _import_ns.get('render_clone_str', context.get('render_clone_str', UNDEFINED)) display_reviews = _import_ns.get('display_reviews', context.get('display_reviews', UNDEFINED)) render_galaxy_repository_actions = _import_ns.get('render_galaxy_repository_actions', context.get('render_galaxy_repository_actions', UNDEFINED)) metadata = _import_ns.get('metadata', context.get('metadata', UNDEFINED)) status = _import_ns.get('status', context.get('status', UNDEFINED)) repository = _import_ns.get('repository', context.get('repository', UNDEFINED)) len = _import_ns.get('len', context.get('len', UNDEFINED)) is_malicious = _import_ns.get('is_malicious', context.get('is_malicious', UNDEFINED)) repository_type_select_field = _import_ns.get('repository_type_select_field', context.get('repository_type_select_field', UNDEFINED)) changeset_revision = _import_ns.get('changeset_revision', context.get('changeset_revision', UNDEFINED)) render_repository_type_select_field = _import_ns.get('render_repository_type_select_field', context.get('render_repository_type_select_field', UNDEFINED)) render_star_rating = _import_ns.get('render_star_rating', context.get('render_star_rating', UNDEFINED)) h = _import_ns.get('h', context.get('h', UNDEFINED)) avg_rating = _import_ns.get('avg_rating', context.get('avg_rating', UNDEFINED)) render_repository_items = _import_ns.get('render_repository_items', context.get('render_repository_items', UNDEFINED)) render_sharable_str = _import_ns.get('render_sharable_str', context.get('render_sharable_str', UNDEFINED)) changeset_revision_select_field = _import_ns.get('changeset_revision_select_field', context.get('changeset_revision_select_field', UNDEFINED)) trans = _import_ns.get('trans', context.get('trans', UNDEFINED)) __M_writer = context.writer() # SOURCE LINE 1 __M_writer(u'\n') # SOURCE LINE 2 __M_writer(u'\n') # SOURCE LINE 3 __M_writer(u'\n') # SOURCE LINE 4 __M_writer(u'\n') # SOURCE LINE 5 __M_writer(u'\n\n') # SOURCE LINE 7 from galaxy.web.framework.helpers import time_ago from tool_shed.util.shed_util_common import to_safe_string is_new = repository.is_new( trans.app ) is_deprecated = repository.deprecated can_browse_contents = trans.webapp.name == 'tool_shed' and not is_new can_push = not is_deprecated and trans.app.security_agent.can_push( trans.app, trans.user, repository ) can_download = not is_deprecated and not is_new and ( not is_malicious or can_push ) can_view_change_log = trans.webapp.name == 'tool_shed' and not is_new changeset_revision_is_repository_tip = changeset_revision == repository.tip( trans.app ) if changeset_revision_is_repository_tip: tip_str = 'repository tip' sharable_link_label = 'Sharable link to this repository:' sharable_link_changeset_revision = None else: tip_str = '' sharable_link_label = 'Sharable link to this repository revision:' sharable_link_changeset_revision = changeset_revision __M_locals_builtin_stored = __M_locals_builtin() __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['tip_str','can_browse_contents','is_new','to_safe_string','changeset_revision_is_repository_tip','is_deprecated','can_view_change_log','can_download','can_push','sharable_link_changeset_revision','time_ago','sharable_link_label'] if __M_key in __M_locals_builtin_stored])) # SOURCE LINE 28 __M_writer(u'\n\n') # SOURCE LINE 36 __M_writer(u'\n') # SOURCE LINE 37 __M_writer(u'\n\n') # SOURCE LINE 42 __M_writer(u'\n\n') # SOURCE LINE 48 __M_writer(u'\n\n') # SOURCE LINE 50 if trans.webapp.name == 'tool_shed': # SOURCE LINE 51 __M_writer(u' ') __M_writer(unicode(render_tool_shed_repository_actions( repository=repository, changeset_revision=changeset_revision ))) __M_writer(u'\n') # SOURCE LINE 52 else: # SOURCE LINE 53 __M_writer(u' ') __M_writer(unicode(render_galaxy_repository_actions( repository=repository ))) __M_writer(u'\n') pass # SOURCE LINE 55 __M_writer(u'\n') # SOURCE LINE 56 if message: # SOURCE LINE 57 __M_writer(u' ') __M_writer(unicode(render_msg( message, status ))) __M_writer(u'\n') pass # SOURCE LINE 59 __M_writer(u'\n') # SOURCE LINE 60 if repository.deprecated: # SOURCE LINE 61 __M_writer(u' <div class="warningmessage">\n This repository has been marked as deprecated, so some tool shed features may be restricted.\n </div>\n') pass # SOURCE LINE 65 __M_writer(u'\n') # SOURCE LINE 66 if len( changeset_revision_select_field.options ) > 1: # SOURCE LINE 67 __M_writer(u' <div class="toolForm">\n <div class="toolFormTitle">Repository revision</div>\n <div class="toolFormBody">\n <form name="change_revision" id="change_revision" action="') # SOURCE LINE 70 __M_writer(unicode(h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ) ))) __M_writer(u'" method="post" >\n <div class="form-row">\n ') # SOURCE LINE 72 __M_writer(unicode(changeset_revision_select_field.get_html())) __M_writer(u' <i>') __M_writer(unicode(tip_str)) __M_writer(u'</i>\n <div class="toolParamHelp" style="clear: both;">\n Select a revision to inspect and download versions of Galaxy utilities from this repository.\n </div>\n </div>\n </form>\n </div>\n </div>\n <p/>\n') pass # SOURCE LINE 82 __M_writer(u'<div class="toolForm">\n <div class="toolFormTitle">Repository \'') # SOURCE LINE 83 __M_writer(filters.html_escape(unicode(repository.name ))) __M_writer(u'\'</div>\n <div class="toolFormBody">\n <div class="form-row">\n <label>') # SOURCE LINE 86 __M_writer(unicode(sharable_link_label)) __M_writer(u'</label>\n ') # SOURCE LINE 87 __M_writer(unicode(render_sharable_str( repository, changeset_revision=sharable_link_changeset_revision ))) __M_writer(u'\n </div>\n') # SOURCE LINE 89 if can_download: # SOURCE LINE 90 __M_writer(u' <div class="form-row">\n <label>Clone this repository:</label>\n ') # SOURCE LINE 92 __M_writer(unicode(render_clone_str( repository ))) __M_writer(u'\n </div>\n') pass # SOURCE LINE 95 __M_writer(u' <div class="form-row">\n <label>Name:</label>\n') # SOURCE LINE 97 if can_browse_contents: # SOURCE LINE 98 __M_writer(u' <a href="') __M_writer(unicode(h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ) ))) __M_writer(u'">') __M_writer(unicode(repository.name)) __M_writer(u'</a>\n') # SOURCE LINE 99 else: # SOURCE LINE 100 __M_writer(u' ') __M_writer(filters.html_escape(unicode(repository.name ))) __M_writer(u'\n') pass # SOURCE LINE 102 __M_writer(u' </div>\n ') # SOURCE LINE 103 __M_writer(unicode(render_repository_type_select_field( repository_type_select_field, render_help=False ))) __M_writer(u'\n <div class="form-row">\n <label>Synopsis:</label>\n ') # SOURCE LINE 106 __M_writer(filters.html_escape(unicode(repository.description ))) __M_writer(u'\n </div>\n') # SOURCE LINE 108 if repository.long_description: # SOURCE LINE 109 __M_writer(u' ') __M_writer(unicode(render_long_description( to_safe_string( repository.long_description, to_html=True ) ))) __M_writer(u'\n') pass # SOURCE LINE 111 __M_writer(u' <div class="form-row">\n <label>Revision:</label>\n') # SOURCE LINE 113 if can_view_change_log: # SOURCE LINE 114 __M_writer(u' <a href="') __M_writer(unicode(h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) ))) __M_writer(u'">') __M_writer(unicode(revision_label)) __M_writer(u'</a>\n') # SOURCE LINE 115 else: # SOURCE LINE 116 __M_writer(u' ') __M_writer(filters.html_escape(unicode(revision_label ))) __M_writer(u'\n') pass # SOURCE LINE 118 __M_writer(u' </div>\n <div class="form-row">\n <label>Owner:</label>\n ') # SOURCE LINE 121 __M_writer(filters.html_escape(unicode(repository.user.username ))) __M_writer(u'\n </div>\n <div class="form-row">\n <label>Times downloaded:</label>\n ') # SOURCE LINE 125 __M_writer(unicode(repository.times_downloaded)) __M_writer(u'\n </div>\n') # SOURCE LINE 127 if trans.user_is_admin(): # SOURCE LINE 128 __M_writer(u' <div class="form-row">\n <label>Location:</label>\n ') # SOURCE LINE 130 __M_writer(filters.html_escape(unicode(repository.repo_path( trans.app ) ))) __M_writer(u'\n </div>\n <div class="form-row">\n <label>Deleted:</label>\n ') # SOURCE LINE 134 __M_writer(unicode(repository.deleted)) __M_writer(u'\n </div>\n') pass # SOURCE LINE 137 __M_writer(u' </div>\n</div>\n') # SOURCE LINE 139 __M_writer(unicode(render_repository_items( metadata, containers_dict, can_set_metadata=False, render_repository_actions_for='tool_shed' ))) __M_writer(u'\n') # SOURCE LINE 140 if repository.categories: # SOURCE LINE 141 __M_writer(u' <p/>\n <div class="toolForm">\n <div class="toolFormTitle">Categories</div>\n <div class="toolFormBody">\n') # SOURCE LINE 145 for rca in repository.categories: # SOURCE LINE 146 __M_writer(u' <div class="form-row">\n ') # SOURCE LINE 147 __M_writer(filters.html_escape(unicode(rca.category.name ))) __M_writer(u'\n </div>\n') pass # SOURCE LINE 150 __M_writer(u' <div style="clear: both"></div>\n </div>\n </div>\n') pass # SOURCE LINE 154 if trans.webapp.name == 'tool_shed' and trans.user and trans.app.config.smtp_server: # SOURCE LINE 155 __M_writer(u' <p/>\n <div class="toolForm">\n <div class="toolFormTitle">Notification on update</div>\n <div class="toolFormBody">\n <form name="receive_email_alerts" id="receive_email_alerts" action="') # SOURCE LINE 159 __M_writer(unicode(h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ) ))) __M_writer(u'" method="post" >\n <div class="form-row">\n <label>Receive email alerts:</label>\n ') # SOURCE LINE 162 __M_writer(unicode(alerts_check_box.get_html())) __M_writer(u'\n <div class="toolParamHelp" style="clear: both;">\n Check the box and click <b>Save</b> to receive email alerts when updates to this repository occur.\n </div>\n </div>\n <div class="form-row">\n <input type="submit" name="receive_email_alerts_button" value="Save"/>\n </div>\n </form>\n </div>\n </div>\n') pass # SOURCE LINE 174 if repository.ratings: # SOURCE LINE 175 __M_writer(u' <p/>\n <div class="toolForm">\n <div class="toolFormTitle">Rating</div>\n <div class="toolFormBody">\n <div class="form-row">\n <label>Times Rated:</label>\n ') # SOURCE LINE 181 __M_writer(unicode(num_ratings)) __M_writer(u'\n <div style="clear: both"></div>\n </div>\n <div class="form-row">\n <label>Average Rating:</label>\n ') # SOURCE LINE 186 __M_writer(unicode(render_star_rating( 'avg_rating', avg_rating, disabled=True ))) __M_writer(u'\n <div style="clear: both"></div>\n </div>\n </div>\n </div>\n <p/>\n <div class="toolForm">\n <div class="toolFormBody">\n') # SOURCE LINE 194 if display_reviews: # SOURCE LINE 195 __M_writer(u' <div class="form-row">\n <a href="') # SOURCE LINE 196 __M_writer(unicode(h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), display_reviews=False ))) __M_writer(u'"><label>Hide Reviews</label></a>\n </div>\n <div style="clear: both"></div>\n <div class="form-row">\n <table class="grid">\n <thead>\n <tr>\n <th>Rating</th>\n <th>Comments</th>\n <th>Reviewed</th>\n <th>User</th>\n </tr>\n </thead>\n ') # SOURCE LINE 209 count = 0 __M_locals_builtin_stored = __M_locals_builtin() __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['count'] if __M_key in __M_locals_builtin_stored])) __M_writer(u'\n') # SOURCE LINE 210 for review in repository.ratings: # SOURCE LINE 211 __M_writer(u' ') count += 1 name = 'rating%d' % count __M_locals_builtin_stored = __M_locals_builtin() __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['count','name'] if __M_key in __M_locals_builtin_stored])) # SOURCE LINE 214 __M_writer(u'\n <tr>\n <td>') # SOURCE LINE 216 __M_writer(unicode(render_star_rating( name, review.rating, disabled=True ))) __M_writer(u'</td>\n <td>') # SOURCE LINE 217 __M_writer(unicode(render_review_comment( to_safe_string( review.comment, to_html=True ) ))) __M_writer(u'</td>\n <td>') # SOURCE LINE 218 __M_writer(unicode(time_ago( review.update_time ))) __M_writer(u'</td>\n <td>') # SOURCE LINE 219 __M_writer(unicode(review.user.username)) __M_writer(u'</td>\n </tr>\n') pass # SOURCE LINE 222 __M_writer(u' </table>\n </div>\n <div style="clear: both"></div>\n') # SOURCE LINE 225 else: # SOURCE LINE 226 __M_writer(u' <div class="form-row">\n <a href="') # SOURCE LINE 227 __M_writer(unicode(h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), display_reviews=True ))) __M_writer(u'"><label>Display Reviews</label></a>\n </div>\n <div style="clear: both"></div>\n') pass # SOURCE LINE 231 __M_writer(u' </div>\n </div>\n') pass # SOURCE LINE 234 __M_writer(u'<p/>\n') return '' finally: context.caller_stack._pop_frame()