Mercurial > repos > rhohensinner > galaxy_irods_interface
annotate main.py @ 3:d2be2eb8350f draft
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
author | rhohensinner |
---|---|
date | Mon, 19 Jul 2021 13:11:45 +0000 |
parents | 0641ea2f75b1 |
children |
rev | line source |
---|---|
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
1 ___author___ = "Richard Hohensinner" |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
2 ___created___ = "04.02.2021" |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
3 ___last_modified___ = "20.05.2021" |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
4 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
5 # general imports |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
6 import os, sys, json |
2
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
7 |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
8 from shutil import copyfile |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
9 from datetime import datetime |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
10 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
11 # irods-client imports |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
12 from irods.session import iRODSSession |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
13 from irods.models import Collection, DataObject |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
14 from irods.query import SpecificQuery |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
15 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
16 # Tkinter imports |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
17 from tkinter import messagebox, Label, Button, Entry, Listbox, Tk, PhotoImage, Grid |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
18 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
19 # global variables |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
20 session = None |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
21 file_path_list = [] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
22 selected_file = "" |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
23 session_success = False |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
24 selection_success = False |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
25 iRODSCredentials = {"host": "", "port": "", "user": "", "pw": "", "zone": ""} |
3
d2be2eb8350f
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
2
diff
changeset
|
26 python_path = [] |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
27 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
28 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
29 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
30 # Main function of the iRODS tools |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
31 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
32 # IN: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
33 # JSON Object params (argv[1]) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
34 # OUT: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
35 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
36 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
37 def main(): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
38 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
39 # check input parameters |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
40 if len(sys.argv) == 2: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
41 params = json.loads(sys.argv[1]) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
42 else: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
43 raise Exception("Invalid Parameters submitted!") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
44 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
45 tool_type = params["tool_type"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
46 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
47 try: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
48 if params["tool_type"] != "up" and params["tool_type"] != "down": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
49 raise Exception("Invalid tool-type parameter submitted!") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
50 except: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
51 raise Exception("No tool-type parameter submitted!") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
52 is_download_call = True |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
53 if tool_type == "up": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
54 is_download_call = False |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
55 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
56 # check params for integrity |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
57 result_string, params_faulty = check_params(params) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
58 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
59 if params_faulty: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
60 raise Exception(result_string) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
61 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
62 global iRODSCredentials, session_success, selected_file, selection_success |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
63 iRODSCredentials["host"] = params["irods_host"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
64 iRODSCredentials["port"] = params["irods_port"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
65 iRODSCredentials["zone"] = params["irods_zone"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
66 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
67 # create login window |
2
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
68 ## make_login_window(params) |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
69 iRODSCredentials["user"] = params["irods_user"] |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
70 iRODSCredentials["pw"] = params["irods_password"] |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
71 |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
72 host = iRODSCredentials["host"] |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
73 port = iRODSCredentials["port"] |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
74 user = iRODSCredentials["user"] |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
75 password = iRODSCredentials["pw"] |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
76 zone = iRODSCredentials["zone"] |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
77 |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
78 iRODSsession = get_iRODS_connection(host=host, port=port, user=user, password=password, zone=zone) |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
79 global session, session_success |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
80 try: |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
81 coll = iRODSsession.collections.get("/" + zone + "/" + "home" + "/" + user) |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
82 except Exception: |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
83 raise Exception("Invalid Login") |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
84 |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
85 if coll: |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
86 session = iRODSsession |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
87 session_success = True |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
88 |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
89 |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
90 # check tool settings and start tool execution |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
91 if session_success: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
92 # initialize download tool |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
93 if params["tool_type"] == "down": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
94 |
2
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
95 selected_file = params["file_path"] |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
96 params["user"] = iRODSCredentials["pw"] |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
97 params["password"] = iRODSCredentials["user"] |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
98 # start download routine |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
99 handle_download_call(params) |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
100 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
101 # initialize upload tool |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
102 elif params["tool_type"] == "up": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
103 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
104 if session_success: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
105 params["user"] = iRODSCredentials["pw"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
106 params["password"] = iRODSCredentials["user"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
107 # start upload routine |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
108 handle_upload_call(params) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
109 else: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
110 raise Exception("Logging into iRODS failed") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
111 else: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
112 raise Exception("Logging into iRODS failed") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
113 # -------------------------------------------------------------------------------------------------------------------- # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
114 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
115 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
116 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
117 # Login Window class for Tkinter |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
118 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
119 # IN: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
120 # Tk Window win |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
121 # OUT: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
122 # (sets global variables iRODSCredentials, session and session_success) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
123 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
124 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
125 class LoginWindow: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
126 def __init__(self, win): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
127 self.window = win |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
128 self.lbl1 = Label(win, text='iRODS Username:') |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
129 self.lbl2 = Label(win, text='iRODS Password:') |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
130 self.t1 = Entry(bd=3) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
131 self.t2 = Entry(show="*") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
132 self.b1 = Button(win, text='Login', command=self.login) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
133 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
134 self.window.grid() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
135 Grid.rowconfigure(self.window, 0, weight=1) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
136 Grid.rowconfigure(self.window, 1, weight=1) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
137 Grid.rowconfigure(self.window, 2, weight=1) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
138 Grid.rowconfigure(self.window, 3, weight=1) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
139 Grid.rowconfigure(self.window, 4, weight=1) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
140 Grid.columnconfigure(self.window, 0, weight=1) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
141 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
142 self.lbl1.grid(row=0, column=0, padx="20", pady="1", sticky="w") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
143 self.t1.grid(row=1, column=0, padx="10", pady="1", sticky="nsew") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
144 self.lbl2.grid(row=2, column=0, padx="20", pady="1", sticky="w") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
145 self.t2.grid(row=3, column=0, padx="10", pady="1", sticky="nsew") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
146 self.b1.grid(row=4, column=0, padx="50", pady="10", sticky="nsew") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
147 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
148 def login(self): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
149 global iRODSCredentials |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
150 user = str(self.t1.get()) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
151 password = str(self.t2.get()) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
152 if user == "" or password == "": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
153 self.window.iconify() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
154 messagebox.showerror("Error", "Username or Password empty!") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
155 self.window.deiconify() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
156 return |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
157 else: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
158 iRODSCredentials["user"] = user |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
159 iRODSCredentials["pw"] = password |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
160 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
161 get_irods_session(self.window) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
162 if not session_success: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
163 return |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
164 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
165 self.window.destroy() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
166 # -------------------------------------------------------------------------------------------------------------------- # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
167 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
168 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
169 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
170 # File Selection Window class for Tkinter |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
171 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
172 # IN: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
173 # Tk Window win |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
174 # OUT: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
175 # (sets global variables selected_file and selection_success) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
176 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
177 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
178 class FileSelectWindow: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
179 def __init__(self, win): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
180 global session, iRODSCredentials |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
181 self.session = session |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
182 self.window = win |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
183 self.b1 = Button(win, text='Select', command=self.select) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
184 self.lb1 = Listbox(win) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
185 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
186 self.window.grid() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
187 Grid.rowconfigure(self.window, 0, weight=1) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
188 Grid.rowconfigure(self.window, 1, weight=1) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
189 Grid.columnconfigure(self.window, 0, weight=1) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
190 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
191 self.lb1.grid(row=0, column=0, padx="20", pady="1", sticky="nswe") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
192 self.b1.grid(row=1, column=0, padx="50", pady="1", sticky="ew") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
193 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
194 coll = session.collections.get("/" + iRODSCredentials["zone"] + "/" + "home" + "/" + iRODSCredentials["user"]) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
195 file_list = [] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
196 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
197 self.get_files_from_collections(coll, file_list) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
198 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
199 for counter in range(len(file_list)): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
200 self.lb1.insert(counter, file_list[counter]) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
201 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
202 def get_files_from_collections(self, coll, file_list): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
203 for obj in coll.data_objects: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
204 file_list.append(obj.path) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
205 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
206 for col in coll.subcollections: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
207 self.get_files_from_collections(col, file_list) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
208 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
209 def select(self): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
210 global session, selected_file, selection_success |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
211 try: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
212 selection = self.lb1.get(self.lb1.curselection()) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
213 except: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
214 self.window.iconify() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
215 messagebox.showerror("Error", "No file selected!") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
216 self.window.deiconify() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
217 return |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
218 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
219 selected_file = selection |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
220 selection_success = True |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
221 self.window.destroy() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
222 # -------------------------------------------------------------------------------------------------------------------- # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
223 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
224 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
225 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
226 # Creates an iRODS session and sets the global session variable |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
227 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
228 # IN: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
229 # Tk Window window |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
230 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
231 # OUT: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
232 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
233 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
234 def get_irods_session(window): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
235 global iRODSCredentials |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
236 host = iRODSCredentials["host"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
237 port = iRODSCredentials["port"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
238 user = iRODSCredentials["user"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
239 password = iRODSCredentials["pw"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
240 zone = iRODSCredentials["zone"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
241 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
242 iRODSsession = get_iRODS_connection(host=host, port=port, user=user, password=password, zone=zone) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
243 global session, session_success |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
244 try: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
245 coll = iRODSsession.collections.get("/" + zone + "/" + "home" + "/" + user) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
246 except Exception: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
247 window.iconify() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
248 messagebox.showerror("Error", "Invalid Authentification") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
249 window.deiconify() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
250 return |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
251 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
252 if coll: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
253 session = iRODSsession |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
254 session_success = True |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
255 # -------------------------------------------------------------------------------------------------------------------- # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
256 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
257 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
258 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
259 # Helper function to initialize Login Window classes and Tk windows |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
260 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
261 # IN: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
262 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
263 # OUT: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
264 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
265 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
266 def make_login_window(params): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
267 #get login icon |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
268 log_img = "" |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
269 for dirpath, dirnames, filenames in os.walk(params["galaxy_root"]): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
270 for fn in filenames: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
271 if fn == "irods_galaxy_login.png": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
272 log_img = os.path.join(dirpath, fn) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
273 if log_img != "": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
274 break |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
275 if log_img != "": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
276 break |
2
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
277 # print(log_img) |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
278 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
279 window = Tk() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
280 LoginWindow(window) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
281 window.title('iRODS Login') |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
282 window.geometry("450x225+10+10") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
283 window.minsize(450, 225) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
284 window.tk.call('wm', 'iconphoto', window._w, PhotoImage(file=log_img)) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
285 # alternative options: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
286 # window.iconphoto(False, PhotoImage(file='/path/to/ico/icon.png')) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
287 # window.iconbitmap("/home/richard/git/galaxy_irods_tools/login.ico") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
288 window.mainloop() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
289 # -------------------------------------------------------------------------------------------------------------------- # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
290 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
291 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
292 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
293 # Helper function to initialize File Selection Window classes and Tk windows |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
294 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
295 # IN: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
296 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
297 # OUT: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
298 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
299 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
300 def make_file_select_window(): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
301 window = Tk() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
302 FileSelectWindow(window) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
303 window.title('iRODS File Select') |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
304 window.geometry("450x225+10+10") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
305 window.minsize(450, 225) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
306 window.mainloop() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
307 # -------------------------------------------------------------------------------------------------------------------- # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
308 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
309 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
310 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
311 # Checks whether arguments are valid and returns true/false depending on params |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
312 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
313 # IN: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
314 # Dict params |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
315 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
316 # OUT: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
317 # String res_string |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
318 # Bool res_bool |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
319 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
320 def check_params(params): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
321 res_string = "" |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
322 res_bool = False |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
323 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
324 try: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
325 if params["irods_host"] == "": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
326 res_string += "Host empty!\n" |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
327 res_bool = True |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
328 if params["irods_port"] == "": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
329 res_string += "Port empty!\n" |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
330 res_bool = True |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
331 if params["irods_zone"] == "": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
332 res_string += "Zone empty!\n" |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
333 res_bool = True |
2
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
334 ##if params["selection_type"] == "path" and params["file_path"] == "": |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
335 ## res_string += "Missing file path!\n" |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
336 ## res_bool = True |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
337 except: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
338 raise Exception("Invalid/Missing Parameters") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
339 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
340 return res_string, res_bool |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
341 # -------------------------------------------------------------------------------------------------------------------- # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
342 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
343 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
344 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
345 # Function to handle iRODS download calls |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
346 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
347 # IN: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
348 # Dict params |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
349 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
350 # OUT: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
351 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
352 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
353 def handle_download_call(params): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
354 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
355 global session, selected_file |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
356 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
357 # check if /ZONE/USER/...FILE... pattern is valid |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
358 if len(selected_file.split("/")) < 2: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
359 raise Exception("Path to file is not valid in iRODS") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
360 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
361 file_list = [] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
362 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
363 # check if file is a directory |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
364 if "." not in selected_file: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
365 try: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
366 coll = session.collections.get(selected_file) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
367 for file in coll.data_objects: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
368 file_list.append(file.path) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
369 except: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
370 raise Exception("Invalid directory path specified!") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
371 else: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
372 file_list.append(selected_file) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
373 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
374 # get registry file |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
375 reg_file = "" |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
376 for dirpath, dirnames, filenames in os.walk(params["galaxy_root"]): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
377 for fn in filenames: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
378 if fn == "irods_galaxy_registry.xml": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
379 reg_file = os.path.join(dirpath, fn) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
380 if reg_file != "": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
381 break |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
382 if reg_file != "": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
383 break |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
384 |
2
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
385 # print(file_list) |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
386 # print(os.getcwd()) |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
387 |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
388 # handle download for all files in file_list |
2
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
389 for f in file_list: |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
390 |
2
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
391 file_to_get = f |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
392 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
393 # handle path and file name |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
394 name_file_to_get = file_to_get.split("/")[-1] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
395 path_file_to_get = "/".join(file_to_get.split("/")[0:len(file_to_get.split("/")) - 1]) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
396 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
397 # check iRODS filesystem |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
398 check_iRODS_destination(session, path_file_to_get, name_file_to_get) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
399 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
400 # get file object from iRODS |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
401 iRODS_file_object = session.data_objects.get(path_file_to_get + "/" + name_file_to_get) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
402 input_file = iRODS_file_object.open("r+") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
403 output_file = open(name_file_to_get, "wb") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
404 output_file.write(input_file.read()) |
2
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
405 #input_file.seek(0,0) |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
406 #print(input_file.read().decode("utf-8")) |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
407 #temp = open("/home/richard/test.txt", "w") |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
408 #input_file.seek(0,0) |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
409 #temp.write(input_file.read().decode("utf-8")) |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
410 |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
411 input_file.close() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
412 output_file.close() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
413 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
414 abs_file_path = os.path.abspath(name_file_to_get) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
415 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
416 file_type = str(name_file_to_get.split(".")[-1]) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
417 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
418 file_content = {"uuid": None, |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
419 "file_type": "auto", |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
420 "space_to_tab": False, |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
421 "dbkey": "?", |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
422 "to_posix_lines": True, |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
423 "ext": file_type, |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
424 "path": abs_file_path, |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
425 "in_place": True, |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
426 "dataset_id": params["job_id"], |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
427 "type": "file", |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
428 "is_binary": False, |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
429 "link_data_only": "copy_files", |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
430 "name": name_file_to_get |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
431 } |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
432 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
433 with open("temporal.json", "w") as fileParams: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
434 fileParams.write(json.dumps(file_content)) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
435 fileParams.close() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
436 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
437 # load file into Galaxy by using the integrated upload tool - Preparation |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
438 python_command = params["galaxy_root"] + "/tools/data_source/upload.py" |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
439 arg1 = params["galaxy_root"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
440 arg2 = params["galaxy_datatypes"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
441 arg3 = os.path.abspath(fileParams.name) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
442 arg4 = params["job_id"] + ":" + params["out_dir"] + ":" + params["out_file"] |
3
d2be2eb8350f
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
2
diff
changeset
|
443 arg5 = params["galaxy_root"] + "/lib/galaxy" |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
444 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
445 # copy sample registry.xml to working directory |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
446 copyfile(reg_file, params["galaxy_datatypes"]) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
447 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
448 # activate environment for new process call and call the python upload command either both with |
2
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
449 #sys.path.append(params["galaxy_root"] + "/lib") |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
450 #os.system("python -c \'import sys;sys.path.append(\"" + params["galaxy_root"] + "/lib\")\'" + "&& python3 " + |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
451 # python_command + " " + arg1 + " " + arg2 + " " + arg3 + " " + arg4) |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
452 |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
453 # get upload file |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
454 upload_file = "" |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
455 for dirpath, dirnames, filenames in os.walk(params["galaxy_root"]): |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
456 for fn in filenames: |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
457 if fn == "irods_upload.py": |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
458 upload_file = os.path.join(dirpath, fn) |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
459 if upload_file != "": |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
460 break |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
461 if upload_file != "": |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
462 break |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
463 |
3
d2be2eb8350f
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
2
diff
changeset
|
464 global python_path |
d2be2eb8350f
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
2
diff
changeset
|
465 python_path = sys.path |
d2be2eb8350f
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
2
diff
changeset
|
466 os.system(params["galaxy_root"] + "/.venv/bin/python " + upload_file + " " + arg1 + " " + arg2 + " " + arg3 + " " + arg4) |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
467 # close connection |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
468 session.cleanup() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
469 # -------------------------------------------------------------------------------------------------------------------- # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
470 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
471 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
472 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
473 # Function to handle iRODS upload calls |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
474 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
475 # IN: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
476 # Dict params |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
477 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
478 # OUT: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
479 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
480 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
481 def handle_upload_call(params): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
482 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
483 global session, iRODSCredentials |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
484 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
485 path_to_file = params["up_file_path"] |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
486 name_of_file = params["up_file"] |
2
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
487 #print(path_to_file) |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
488 #print(name_of_file) |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
489 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
490 coll_path = "/" + iRODSCredentials["zone"] + "/home/" + iRODSCredentials["user"] + "/galaxyupload" |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
491 try: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
492 coll = session.collections.get(coll_path) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
493 except: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
494 coll = session.collections.create(coll_path) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
495 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
496 now = datetime.now() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
497 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
498 # dd/mm/YY |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
499 day = now.strftime("%d%m%Y") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
500 time = now.strftime("%H%M%S") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
501 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
502 coll_path = coll_path + "/" + day |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
503 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
504 try: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
505 coll = session.collections.get(coll_path) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
506 except: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
507 coll = session.collections.create(coll_path) |
2
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
508 |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
509 if "/" in name_of_file: |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
510 name_of_file = name_of_file.split("/")[-1] |
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
511 |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
512 irods_file_name = time + "_" + name_of_file |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
513 iRODS_file_object = session.data_objects.create(coll_path + "/" + irods_file_name) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
514 iRODS_file_object = session.data_objects.get(coll_path + "/" + irods_file_name) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
515 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
516 irods_file = iRODS_file_object.open("w") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
517 galaxy_file = open(path_to_file, "rb") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
518 content = galaxy_file.read() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
519 irods_file.write(content) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
520 |
2
0641ea2f75b1
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
1
diff
changeset
|
521 print("Successfully uploaded: " + name_of_file + "\n as: " + irods_file_name) |
1
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
522 # TODO can't close session without writing process finished - but reading/writing happens async. |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
523 # session.cleanup() |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
524 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
525 pass |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
526 # -------------------------------------------------------------------------------------------------------------------- # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
527 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
528 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
529 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
530 # Function to initialize an iRODS Session - will raise an Exception if timeout is longer than 2 seconds |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
531 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
532 # IN: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
533 # String host |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
534 # String port |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
535 # String user |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
536 # String password |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
537 # String zone |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
538 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
539 # OUT: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
540 # iRODSSession-object session |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
541 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
542 def get_iRODS_connection(host, port, user, password, zone): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
543 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
544 # initialize timeout checker - fires after 2 secs |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
545 import signal |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
546 signal.signal(signal.SIGALRM, timeout_checker) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
547 signal.alarm(2) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
548 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
549 try: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
550 session = iRODSSession(host=host, port=port, user=user, password=password, zone=zone) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
551 except Exception: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
552 raise Exception("There was a timeout creating the iRODS session") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
553 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
554 # void/reset alarm |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
555 signal.alarm(0) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
556 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
557 return session |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
558 # -------------------------------------------------------------------------------------------------------------------- # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
559 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
560 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
561 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
562 # Helper function to raise timeout exception when SIGALRM fires |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
563 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
564 # IN: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
565 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
566 # OUT: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
567 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
568 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
569 def timeout_checker(): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
570 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
571 raise Exception("iRODS session timeout") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
572 # -------------------------------------------------------------------------------------------------------------------- # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
573 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
574 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
575 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
576 # Function to check if file exists in iRODS |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
577 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
578 # IN: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
579 # String path |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
580 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
581 # OUT: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
582 # Bool ret_bool |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
583 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
584 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
585 def check_if_file_exists(path): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
586 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
587 if os.path.isfile(path): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
588 ret_bool = True |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
589 else: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
590 ret_bool = False |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
591 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
592 return ret_bool |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
593 # -------------------------------------------------------------------------------------------------------------------- # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
594 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
595 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
596 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
597 # Function to check iRODS destination |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
598 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
599 # IN: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
600 # iRODSSession-object session |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
601 # String path |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
602 # String name |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
603 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
604 # OUT: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
605 # Bool ret_bool |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
606 # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
607 ######################################################################################################################## |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
608 def check_iRODS_destination(session, path, name): |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
609 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
610 try: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
611 session.collections.get(path.rstrip("/")) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
612 except Exception: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
613 raise Exception("Collection doesn't exist in iRODS file system") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
614 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
615 try: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
616 session.data_objects.get(path.rstrip("/") + "/" + name) |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
617 except Exception: |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
618 raise Exception("File doesn't exist in iRODS file system") |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
619 # -------------------------------------------------------------------------------------------------------------------- # |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
620 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
621 |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
622 if __name__ == "__main__": |
19c1cecdfdfd
"planemo upload commit b2a00d9c24285fef0fb131d1832ecf4c337e5038-dirty"
rhohensinner
parents:
0
diff
changeset
|
623 main() |