Locked History Actions

attachment:histories_3.py of Events/GCC2013/TrainingDay/API

Attachment 'histories_3.py'

Download

   1 #!/usr/bin/env python
   2 
   3 """
   4 Access a Galaxy instance and get data for histories.
   5 
   6 Now with a way to create a history.
   7 """
   8 import os
   9 import sys
  10 import pprint
  11 
  12 import setup
  13 import common
  14 
  15 # the REST URL for the user resource
  16 RESOURCE_URL = '/api/histories'
  17 
  18 # ----------------------------------------------------------------------------- functions
  19 def get_histories():
  20     """
  21     Return a list of dictionaries that describe the current user's histories.
  22     """
  23     apikey = setup.get_apikey()
  24     full_url = setup.get_base_url() + RESOURCE_URL
  25     return common.get( apikey, full_url )
  26 
  27 
  28 def get_history( history_id ):
  29     """
  30     Return a dictionary that the gives details of a specific current user's history.
  31     """
  32     apikey = setup.get_apikey()
  33     resource_url = setup.get_base_url() + RESOURCE_URL
  34 
  35     full_url = resource_url + '/' + history_id
  36     return common.get( apikey, full_url )
  37 
  38 
  39 def create_history( name ):
  40     """
  41     Create a history for the current user with the given name.
  42     :param name: a name for the new history
  43     """
  44     # same as get_histories here...
  45     apikey = setup.get_apikey()
  46     full_url = setup.get_base_url() + RESOURCE_URL
  47     # (note: that we don't need an id since we're making a new history
  48     #           and galaxy will determine its id after creation)
  49 
  50     # ...this time we need to tell the API that we want to create something.
  51     #   We do this by using the HTTP method 'POST' - in common.py this is done using common.post
  52     #   Post can take a full dictionary of additional info, but in this case we'll only send the new name
  53     post_data = { 'name' : name }
  54     # when creating histories, Galaxy is nice enough to return some data about the new history
  55     return common.post( apikey, full_url, post_data )
  56 
  57 
  58 # ----------------------------------------------------------------------------- main
  59 if __name__ == '__main__':
  60     # again, using an argument - this time, the new history's name
  61     if len( sys.argv ) <= 1:
  62         print 'USAGE: histories_3.py <a history name>'
  63         sys.exit( 1 )
  64 
  65     new_history_name = sys.argv[1]
  66     # create the history using the function we defined above
  67     returned = create_history( new_history_name )
  68     pprint.pprint( returned, indent=2 )

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2013-06-24 16:01:09, 8.2 KB) [[attachment:Galaxy-Workflow-Joined_Solexa_QC.ga]]
  • [get | view] (2013-06-24 16:46:36, 14.0 KB) [[attachment:all-scripts.tar.gz]]
  • [get | view] (2013-06-24 16:01:23, 5.2 KB) [[attachment:common.py]]
  • [get | view] (2013-06-24 16:04:07, 0.9 KB) [[attachment:datasets_1.py]]
  • [get | view] (2013-06-24 16:04:15, 1.2 KB) [[attachment:datasets_2.py]]
  • [get | view] (2013-06-24 16:04:22, 3.4 KB) [[attachment:datasets_3.py]]
  • [get | view] (2013-06-24 16:04:33, 1.5 KB) [[attachment:hdas_1.py]]
  • [get | view] (2013-06-24 16:04:50, 1.7 KB) [[attachment:hdas_2.py]]
  • [get | view] (2013-06-24 16:05:07, 2.2 KB) [[attachment:hdas_3.py]]
  • [get | view] (2013-06-24 16:03:38, 0.9 KB) [[attachment:histories_1.py]]
  • [get | view] (2013-06-24 16:03:52, 2.1 KB) [[attachment:histories_2.py]]
  • [get | view] (2013-06-24 16:05:25, 2.2 KB) [[attachment:histories_3.py]]
  • [get | view] (2013-06-24 16:05:34, 3.3 KB) [[attachment:lddas_1.py]]
  • [get | view] (2013-06-24 16:05:41, 1.3 KB) [[attachment:libraries_1.py]]
  • [get | view] (2013-06-24 16:01:36, 0.8 KB) [[attachment:setup.py]]
  • [get | view] (2013-06-24 16:02:45, 1.1 KB) [[attachment:step_1.py]]
  • [get | view] (2013-06-24 16:07:15, 9.9 KB) [[attachment:step_10.py]]
  • [get | view] (2013-06-24 16:03:28, 1.4 KB) [[attachment:step_2.py]]
  • [get | view] (2013-06-24 16:06:01, 1.6 KB) [[attachment:step_3.py]]
  • [get | view] (2013-06-24 16:06:11, 1.1 KB) [[attachment:step_4.py]]
  • [get | view] (2013-06-24 16:06:20, 1.9 KB) [[attachment:step_5.py]]
  • [get | view] (2013-06-24 16:06:44, 2.5 KB) [[attachment:step_6.py]]
  • [get | view] (2013-06-24 16:06:53, 4.9 KB) [[attachment:step_7.py]]
  • [get | view] (2013-06-24 16:07:05, 5.9 KB) [[attachment:step_8.py]]
  • [get | view] (2013-06-30 13:51:46, 8.0 KB) [[attachment:step_9.py]]
  • [get | view] (2013-06-24 16:41:51, 1.8 KB) [[attachment:tools_1.py]]
  • [get | view] (2013-06-24 16:44:32, 2.0 KB) [[attachment:upload_to_history.py]]
  • [get | view] (2013-06-24 16:03:03, 1.3 KB) [[attachment:users_1.py]]
  • [get | view] (2013-06-24 16:44:44, 2.9 KB) [[attachment:workflows_1.py]]
 All files | Selected Files: delete move to page

You are not allowed to attach a file to this page.