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

Source Code for Module omeroweb.webclient.urls

  1  #!/usr/bin/env python 
  2  #  
  3  #  
  4  #  
  5  # Copyright (c) 2008-2011 University of Dundee. 
  6  #  
  7  # This program is free software: you can redistribute it and/or modify 
  8  # it under the terms of the GNU Affero General Public License as 
  9  # published by the Free Software Foundation, either version 3 of the 
 10  # License, or (at your option) any later version. 
 11  #  
 12  # This program is distributed in the hope that it will be useful, 
 13  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
 14  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 15  # GNU Affero General Public License for more details. 
 16  #  
 17  # You should have received a copy of the GNU Affero General Public License 
 18  # along with this program.  If not, see <http://www.gnu.org/licenses/>. 
 19  #  
 20  # Author: Aleksandra Tarkowska <A(dot)Tarkowska(at)dundee(dot)ac(dot)uk>, 2008. 
 21  #  
 22  # Version: 1.0 
 23  # 
 24   
 25  import os.path 
 26   
 27  from django.conf.urls.defaults import * 
 28  from django.views.static import serve 
 29   
 30  from omeroweb.webclient import views 
 31   
 32  urlpatterns = patterns('django.views.generic.simple', 
 33       
 34      url( r'^$', views.index, name="webindex" ), 
 35      # render main template 
 36      url( r'^(?P<menu>((?i)userdata|public|history|search|importer|help|usertags))/$', views.load_template, name="load_template" ), 
 37   
 38      url( r'^context/$', views.index_context, name="index_context" ), 
 39      url( r'^last_imports/$', views.index_last_imports, name="index_last_imports" ), 
 40      url( r'^most_recent/$', views.index_most_recent, name="index_most_recent" ), 
 41      url( r'^tag_cloud/$', views.index_tag_cloud, name="index_tag_cloud" ), 
 42       
 43      url( r'^login/$', views.login, name="weblogin" ), 
 44      url( r'^logout/$', views.logout, name="weblogout" ), 
 45      url( r'^active_group/$', views.change_active_group, name="change_active_group" ), 
 46       
 47      url ( r'^myaccount/(?:(?P<action>((?i)save))/)?$', views.manage_myaccount, name="myaccount"), 
 48      url ( r'^upload_myphoto/(?:(?P<action>((?i)upload|crop|editphoto))/)?$', views.upload_myphoto, name="upload_myphoto"), 
 49       
 50      # load basket 
 51      url( r'^basket/empty/$', views.empty_basket, name="empty_basket"), 
 52      url( r'^basket/update/$', views.update_basket, name="update_basket"), 
 53      url( r'^basket/(?:(?P<action>[a-zA-Z]+)/)?$', views.basket_action, name="basket_action"), 
 54       
 55      # update, display processes, E.g. delete queues, scripts etc. 
 56      url( r'^progress/', views.progress, name="progress"), 
 57      url( r'^status/(?:(?P<action>[a-zA-Z]+)/)?$', views.status_action, name="status"), 
 58       
 59      # loading data     
 60      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" ),     
 61       
 62      # load history 
 63      url( r'^load_calendar/(?:(\d{4})/(\d{1,2})/)?$', views.load_calendar, name="load_calendar"), 
 64      url( r'^load_history/(\d{4})/(\d{1,2})/(\d{1,2})/$', views.load_history, name="load_history"), 
 65       
 66      # load search 
 67      url( r'^load_searching/(?:(?P<form>((?i)form))/)?$', views.load_searching, name="load_searching"), 
 68       
 69      # load public 
 70      url( r'^load_public/(?:(?P<share_id>[0-9]+)/)?$', views.load_public, name="load_public"), 
 71       
 72      # metadata 
 73      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" ), 
 74      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" ), 
 75      url( r'^metadata_preview/(?P<imageId>[0-9]+)/(?:(?P<share_id>[0-9]+)/)?$', views.load_metadata_preview, name="load_metadata_preview" ), 
 76      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" ), 
 77      url( r'^metadata_details/multiaction/(?:(?P<action>[a-zA-Z]+)/)?$', views.manage_annotation_multi, name="manage_annotation_multi" ), 
 78       
 79      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" ), 
 80      url( r'^annotation/(?P<action>[a-zA-Z]+)/(?P<iid>[0-9]+)/$', views.download_annotation, name="download_annotation" ), 
 81      url( r'^archived_files/download/(?P<iid>[0-9]+)/$', views.archived_files, name="archived_files" ), 
 82       
 83      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" ), 
 84      url( r'^autocompletetags/$', views.autocomplete_tags, name="autocomplete_tags" ), 
 85       
 86      # Open Astex Viewer will try to show file as volume, e.g. mrc.map file.  
 87      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 
 88      url( r'^file/(?P<iid>[0-9]+)\.map$', views.download_annotation, {'action':'download'}, name='open_astex_map' ),# download file 
 89      url( r'^file/(?P<iid>[0-9]+)\.bit$', views.download_annotation, {'action':'download'}, name='open_astex_bit' ),# download file 
 90      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) 
 91      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) 
 92      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 
 93      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 
 94       
 95      # render bird's eye view 
 96      url( r'^render_birds_eye_view/(?P<iid>[0-9]+)/(?:(?P<share_id>[0-9]+)/)?$', views.render_birds_eye_view, name="render_birds_eye_view" ), 
 97       
 98      # render thumbnails 
 99      url( r'^render_thumbnail/(?P<iid>[0-9]+)/(?:(?P<share_id>[0-9]+)/)?$', views.render_thumbnail, name="render_thumbnail" ), 
100      url( r'^render_thumbnail/size/(?P<size>[0-9]+)/(?P<iid>[0-9]+)/(?:(?P<share_id>[0-9]+)/)?$', views.render_thumbnail_resize, name="render_thumbnail_resize" ), 
101       
102      #plate webgateway extention 
103      url(r'^plate/(?P<pid>[^/]+)/(?:(?P<field>[^/]+)/)?$', views.plateGrid_json, name="web_plategrid_json"), 
104       
105      #image webgateway extention 
106      url( r'^(?:(?P<share_id>[0-9]+)/)?render_image_region/(?P<iid>[0-9]+)/(?P<z>[0-9]+)/(?P<t>[0-9]+)/$', views.render_image_region, name="web_render_image_region"), 
107      url( r'^(?:(?P<share_id>[0-9]+)/)?render_image/(?P<iid>[0-9]+)/(?P<z>[0-9]+)/(?P<t>[0-9]+)/$', views.render_image, name="web_render_image"), 
108      url( r'^(?:(?P<share_id>[0-9]+)/)?img_detail/(?P<iid>[0-9]+)/$', views.image_viewer, name="web_image_viewer"), 
109       
110      url( r'^(?:(?P<share_id>[0-9]+)/)?img_detail/(?P<iid>[0-9]+)/$', views.image_viewer, name="web_image_viewer"), 
111      url( r'^(?:(?P<share_id>[0-9]+)/)?imgData/(?P<iid>[0-9]+)/$', views.imageData_json, name="web_imageData_json"), 
112      url(r'^(?:(?P<share_id>[0-9]+)/)?render_row_plot/(?P<iid>[^/]+)/(?P<z>[^/]+)/(?P<t>[^/]+)/(?P<y>[^/]+)/(?:(?P<w>[^/]+)/)?$', views.render_row_plot, name="web_render_row_plot"), 
113      url(r'^(?:(?P<share_id>[0-9]+)/)?render_col_plot/(?P<iid>[^/]+)/(?P<z>[^/]+)/(?P<t>[^/]+)/(?P<x>[^/]+)/(?:(?P<w>[^/]+)/)?$', views.render_col_plot, name="web_render_col_plot"), 
114      url(r'^(?:(?P<share_id>[0-9]+)/)?render_split_channel/(?P<iid>[^/]+)/(?P<z>[^/]+)/(?P<t>[^/]+)/$', views.render_split_channel, name="web_render_split_channel"), 
115       
116      #url( r'^clipboard/$', views.update_clipboard, name="update_clipboard"), 
117           
118      #url( r'^import/$', views.importer, name="importer"), 
119       
120      url( r'^help_search/$', 'direct_to_template', {'template': 'webclient/help/help_search.html'}, name="help_search" ), 
121       
122      url( r'^myphoto/$', views.myphoto, name="myphoto"), 
123      url( r'^change_password/$', views.change_password, name="change_password"), 
124      url( r'^userphoto/(?P<oid>[0-9]+)/$', views.load_photo, name="load_photo"), 
125       
126      url( r'^spellchecker/$', views.spellchecker, name="spellchecker"),  
127       
128      # scripting service urls 
129      url( r'^list_scripts/$', views.list_scripts, name="list_scripts"),  # returns html list of scripts - click to run 
130      url( r'^script_ui/(?P<scriptId>[0-9]+)/$', views.script_ui, name='script_ui' ), # shows a form for running a script 
131      url( r'^script_run/(?P<scriptId>[0-9]+)/$', views.script_run, name='script_run' ),  # runs the script - parameters in POST 
132      url( r'^get_original_file/(?:(?P<fileId>[0-9]+)/)?$', views.get_original_file, name="get_original_file"), # for stderr, stdout etc 
133   
134  ) 
135