Package omeroweb :: Package webclient :: Module urls
[hide private]
[frames] | no frames]

Source Code for Module omeroweb.webclient.urls

  1  #!/usr/bin/env python 
  2  # -*- coding: utf-8 -*- 
  3  #  
  4  #  
  5  #  
  6  # Copyright (c) 2008-2011 University of Dundee. 
  7  #  
  8  # This program is free software: you can redistribute it and/or modify 
  9  # it under the terms of the GNU Affero General Public License as 
 10  # published by the Free Software Foundation, either version 3 of the 
 11  # License, or (at your option) any later version. 
 12  #  
 13  # This program is distributed in the hope that it will be useful, 
 14  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
 15  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 16  # GNU Affero General Public License for more details. 
 17  #  
 18  # You should have received a copy of the GNU Affero General Public License 
 19  # along with this program.  If not, see <http://www.gnu.org/licenses/>. 
 20  #  
 21  # Author: Aleksandra Tarkowska <A(dot)Tarkowska(at)dundee(dot)ac(dot)uk>, 2008. 
 22  #  
 23  # Version: 1.0 
 24  # 
 25   
 26  import os.path 
 27   
 28  from django.conf.urls.defaults import * 
 29   
 30  from omeroweb.webclient import views 
 31  from omeroweb.webgateway import views as webgateway 
 32  from omeroweb.webclient.webclient_gateway import defaultThumbnail 
 33   
 34  urlpatterns = patterns('django.views.generic.simple', 
 35   
 36      # Home page is the main 'Data' page 
 37      url( r'^$', views.load_template, {'menu':'userdata'}, name="webindex" ), 
 38       
 39      # 'Feed' / 'recent' 
 40      url( r'^feed/$', views.feed, name="web_feed" ), 
 41   
 42      # render main template 
 43      url( r'^(?P<menu>((?i)userdata|public|history|search|help|usertags))/$', views.load_template, name="load_template" ), 
 44      url( r'^userdata/$', views.load_template, {'menu':'userdata'}, name="userdata" ), 
 45   
 46      url( r'^last_imports/$', views.index_last_imports, name="index_last_imports" ), 
 47      url( r'^most_recent/$', views.index_most_recent, name="index_most_recent" ), 
 48      url( r'^tag_cloud/$', views.index_tag_cloud, name="index_tag_cloud" ), 
 49       
 50      url( r'^login/$', views.login, name="weblogin" ), 
 51      url( r'^logout/$', views.logout, name="weblogout" ), 
 52      url( r'^active_group/$', views.change_active_group, name="change_active_group" ), 
 53       
 54      # load basket 
 55      url( r'^basket/empty/$', views.empty_basket, name="empty_basket"), 
 56      url( r'^basket/update/$', views.update_basket, name="update_basket"), 
 57      url( r'^basket/(?:(?P<action>[a-zA-Z]+)/)?$', views.basket_action, name="basket_action"), 
 58      url( r'^basket_content/$', views.basket_action, {'template':'webclient/basket/basketContent.html'}, name="basket_content"), 
 59       
 60      # update, display activities, E.g. delete queues, scripts etc. 
 61      url( r'^activities/', views.activities, name="activities"), 
 62      url( r'^activities_json/', views.activities, {'template':'json'}, name="activities_json"), 
 63      url( r'^activities_update/(?:(?P<action>clean)/)?$', views.activities_update, name="activities_update"), 
 64       
 65      # loading data     
 66      url( r'^load_data/(?:(?P<o1_type>((?i)project|dataset|image|screen|plate|well|orphaned))/)?(?:(?P<o1_id>[0-9]+)/)?(?:(?P<o2_type>((?i)dataset|image|plate|acquisition|well))/)?(?:(?P<o2_id>[0-9]+)/)?(?:(?P<o3_type>((?i)image|well))/)?(?:(?P<o3_id>[0-9]+)/)?$', views.load_data, name="load_data" ),     
 67      url( r'^load_chgrp_target/(?P<group_id>[0-9]+)/(?P<target_type>((?i)project|dataset|screen))/$', views.load_chgrp_target, name="load_chgrp_target"), 
 68       
 69      # load history 
 70      url( r'^load_calendar/(?:(\d{4})/(\d{1,2})/)?$', views.load_calendar, name="load_calendar"), 
 71      url( r'^load_history/(?:(\d{4})/(\d{1,2})/(\d{1,2})/)?$', views.load_history, name="load_history"), 
 72       
 73      # load search 
 74      url( r'^load_searching/(?:(?P<form>((?i)form))/)?$', views.load_searching, name="load_searching"), 
 75       
 76      # load public 
 77      url( r'^load_public/(?:(?P<share_id>[0-9]+)/)?$', views.load_public, name="load_public"), 
 78       
 79      # metadata 
 80      url( r'^metadata_details/(?:(?P<c_type>[a-zA-Z]+)/(?P<c_id>[0-9]+)/)?(?:(?P<share_id>[0-9]+)/)?$', views.load_metadata_details, name="load_metadata_details" ), 
 81      url( r'^metadata_acquisition/(?P<c_type>[a-zA-Z]+)/(?P<c_id>[0-9]+)/(?:(?P<share_id>[0-9]+)/)?$', views.load_metadata_acquisition, name="load_metadata_acquisition" ), 
 82      url( r'^metadata_preview/(?P<c_type>((?i)image|well))/(?P<c_id>[0-9]+)/(?:(?P<share_id>[0-9]+)/)?$', views.load_metadata_preview, name="load_metadata_preview" ), 
 83      url( r'^metadata_hierarchy/(?P<c_type>[a-zA-Z]+)/(?P<c_id>[0-9]+)/(?:(?P<share_id>[0-9]+)/)?$', views.load_metadata_hierarchy, name="load_metadata_hierarchy" ), 
 84       
 85      url( r'^render_thumbnail/(?P<iid>[0-9]+)/(?:(?P<share_id>[0-9]+)/)?$', webgateway.render_thumbnail, {'w':80, '_defcb':defaultThumbnail}, name="render_thumbnail" ), 
 86      url( r'^render_thumbnail/size/(?P<w>[0-9]+)/(?P<iid>[0-9]+)/(?:(?P<share_id>[0-9]+)/)?$', webgateway.render_thumbnail, {'_defcb':defaultThumbnail}, name="render_thumbnail_resize" ), 
 87      url( r'^edit_channel_names/(?P<imageId>[0-9]+)/$', views.edit_channel_names, name="edit_channel_names"), 
 88   
 89      #image webgateway extention 
 90      url( r'^(?:(?P<share_id>[0-9]+)/)?render_image_region/(?P<iid>[0-9]+)/(?P<z>[0-9]+)/(?P<t>[0-9]+)/$', webgateway.render_image_region, name="web_render_image_region"), 
 91      url( r'^(?:(?P<share_id>[0-9]+)/)?render_birds_eye_view/(?P<iid>[^/]+)/(?:(?P<size>[^/]+)/)?$', webgateway.render_birds_eye_view, name="web_render_birds_eye_view"), 
 92      url( r'^(?:(?P<share_id>[0-9]+)/)?render_image/(?P<iid>[^/]+)/(?:(?P<z>[^/]+)/)?(?:(?P<t>[^/]+)/)?$', webgateway.render_image, name="web_render_image"), 
 93      url( r'^(?:(?P<share_id>[0-9]+)/)?render_image_download/(?P<iid>[^/]+)/(?:(?P<z>[^/]+)/)?(?:(?P<t>[^/]+)/)?$',  
 94          webgateway.render_image, {'download':True}, name="web_render_image_download"), 
 95      url( r'^(?:(?P<share_id>[0-9]+)/)?img_detail/(?P<iid>[0-9]+)/$', views.image_viewer, name="web_image_viewer"), 
 96      url( r'^(?:(?P<share_id>[0-9]+)/)?imgData/(?P<iid>[0-9]+)/$', webgateway.imageData_json, name="web_imageData_json"), 
 97      url(r'^(?:(?P<share_id>[0-9]+)/)?render_row_plot/(?P<iid>[^/]+)/(?P<z>[^/]+)/(?P<t>[^/]+)/(?P<y>[^/]+)/(?:(?P<w>[^/]+)/)?$', webgateway.render_row_plot, name="web_render_row_plot"), 
 98      url(r'^(?:(?P<share_id>[0-9]+)/)?render_col_plot/(?P<iid>[^/]+)/(?P<z>[^/]+)/(?P<t>[^/]+)/(?P<x>[^/]+)/(?:(?P<w>[^/]+)/)?$', webgateway.render_col_plot, name="web_render_col_plot"), 
 99      url(r'^(?:(?P<share_id>[0-9]+)/)?render_split_channel/(?P<iid>[^/]+)/(?P<z>[^/]+)/(?P<t>[^/]+)/$', webgateway.render_split_channel, name="web_render_split_channel"), 
100      url(r'^saveImgRDef/(?P<iid>[^/]+)/$', webgateway.save_image_rdef_json, name="web_save_image_rdef_json"), 
101      url(r'^resetImgRDef/(?P<iid>[^/]+)/$', webgateway.reset_image_rdef_json, name="web_reset_image_rdef_json"), 
102   
103   
104   
105      # chgrp - 'group_id', obj-types and ids in POST data 
106      url( r'^chgrp/$', views.chgrp, name="chgrp"), 
107       
108      # annotations 
109      url( r'^action/(?P<action>[a-zA-Z]+)/(?:(?P<o_type>[a-zA-Z]+)/)?(?:(?P<o_id>[0-9]+)/)?$', views.manage_action_containers, name="manage_action_containers" ), 
110      url( r'^batch_annotate/$', views.batch_annotate, name="batch_annotate" ), 
111      url( r'^annotate_tags/$', views.annotate_tags, name="annotate_tags" ), 
112      url( r'^annotate_comment/$', views.annotate_comment, name="annotate_comment" ), 
113      url( r'^annotate_file/$', views.annotate_file, name="annotate_file" ), 
114      url( r'^annotation/(?P<annId>[0-9]+)/$', views.download_annotation, name="download_annotation" ), 
115      url( r'^download_orig_metadata/(?P<imageId>[0-9]+)/$', views.download_orig_metadata, name="download_orig_metadata" ), 
116       
117      url( r'^load_tags/(?:(?P<o_type>((?i)tag|dataset))/(?P<o_id>[0-9]+)/)?$', views.load_data_by_tag, name="load_data_by_tag" ), 
118       
119      # Open Astex Viewer will try to show file as volume, e.g. mrc.map file.  
120      url( r'^open_astex_viewer/(?P<obj_type>((?i)image|image_8bit|file))/(?P<obj_id>[0-9]+)/$', views.open_astex_viewer, name='open_astex_viewer' ),  # 'data_url' to load in REQUEST 
121      url( r'^file/(?P<annId>[0-9]+)\.map$', views.download_annotation, name='open_astex_map' ),# download file 
122      url( r'^file/(?P<annId>[0-9]+)\.bit$', views.download_annotation, name='open_astex_bit' ),# download file 
123      url( r'^image_as_map/(?P<imageId>[0-9]+)\.map$', views.image_as_map, name='webclient_image_as_map' ), # convert image to map (full size) 
124      url( r'^image_as_map/(?P<imageId>[0-9]+)/(?P<maxSize>[0-9]+)\.map$', views.image_as_map, name='webclient_image_as_map' ), # image to map of max Size (side length) 
125      url( r'^image_as_map/8bit/(?P<imageId>[0-9]+)\.map$', views.image_as_map, {'8bit':True}, name='webclient_image_as_map_8bit' ), # convert image to map 
126      url( r'^image_as_map/8bit/(?P<imageId>[0-9]+)/(?P<maxSize>[0-9]+)\.map$', views.image_as_map, {'8bit':True}, name='webclient_image_as_map_8bit' ), # image to map 
127       
128      url( r'^help_search/$', 'direct_to_template', {'template': 'webclient/help/help_search.html'}, name="help_search" ), 
129       
130      url( r'^avatar/(?P<oid>[0-9]+)/$', views.avatar, name="avatar"), 
131       
132      # scripting service urls 
133      url( r'^list_scripts/$', views.list_scripts, name="list_scripts"),  # returns html list of scripts - click to run 
134      url( r'^script_ui/(?P<scriptId>[0-9]+)/$', views.script_ui, name='script_ui' ), # shows a form for running a script 
135      url( r'^script_run/(?P<scriptId>[0-9]+)/$', views.script_run, name='script_run' ),  # runs the script - parameters in POST 
136      url( r'^get_original_file/(?:(?P<fileId>[0-9]+)/)?$', views.get_original_file, name="get_original_file"), # for stderr, stdout etc 
137      url( r'^figure_script/(?P<scriptName>((?i)SplitView|RoiSplit|Thumbnail))/$',  
138          views.figure_script, name='figure_script' ), # shows a form for running a script 
139   
140      # ome_tiff_script: generate OME-TIFF and attach to image (use script service). Must be POST 
141      url( r'^ome_tiff_script/(?P<imageId>[0-9]+)/$', views.ome_tiff_script, name='ome_tiff_script' ), 
142      url( r'^ome_tiff_info/(?P<imageId>[0-9]+)/$', views.ome_tiff_info, name='ome_tiff_info' ), 
143   
144      # ping OMERO server to keep session alive 
145      url( r'^keepalive_ping/$', views.keepalive_ping, name="keepalive_ping"), 
146   
147  ) 
148