[2] | 1 | import galaxy.model |
---|
| 2 | from galaxy.model.orm import * |
---|
| 3 | from galaxy.model.mapping import context as sa_session |
---|
| 4 | from base.twilltestcase import * |
---|
| 5 | import sys |
---|
| 6 | |
---|
| 7 | def delete_obj( obj ): |
---|
| 8 | sa_session.delete( obj ) |
---|
| 9 | sa_session.flush() |
---|
| 10 | def delete_request_type_permissions( id ): |
---|
| 11 | rtps = sa_session.query( galaxy.model.RequestTypePermissions ) \ |
---|
| 12 | .filter( and_( galaxy.model.RequestTypePermissions.table.c.request_type_id==id ) ) \ |
---|
| 13 | .order_by( desc( galaxy.model.RequestTypePermissions.table.c.create_time ) ) |
---|
| 14 | for rtp in rtps: |
---|
| 15 | sa_session.delete( rtp ) |
---|
| 16 | sa_session.flush() |
---|
| 17 | def delete_user_roles( user ): |
---|
| 18 | for ura in user.roles: |
---|
| 19 | sa_session.delete( ura ) |
---|
| 20 | sa_session.flush() |
---|
| 21 | def flush( obj ): |
---|
| 22 | sa_session.add( obj ) |
---|
| 23 | sa_session.flush() |
---|
| 24 | def get_all_histories_for_user( user ): |
---|
| 25 | return sa_session.query( galaxy.model.History ) \ |
---|
| 26 | .filter( and_( galaxy.model.History.table.c.user_id==user.id, |
---|
| 27 | galaxy.model.History.table.c.deleted==False ) ) \ |
---|
| 28 | .all() |
---|
| 29 | def get_dataset_permissions_by_dataset( dataset ): |
---|
| 30 | return sa_session.query( galaxy.model.DatasetPermissions ) \ |
---|
| 31 | .filter( galaxy.model.DatasetPermissions.table.c.dataset_id==dataset.id ) \ |
---|
| 32 | .all() |
---|
| 33 | def get_dataset_permissions_by_role( role ): |
---|
| 34 | return sa_session.query( galaxy.model.DatasetPermissions ) \ |
---|
| 35 | .filter( galaxy.model.DatasetPermissions.table.c.role_id == role.id ) \ |
---|
| 36 | .first() |
---|
| 37 | def get_default_history_permissions_by_history( history ): |
---|
| 38 | return sa_session.query( galaxy.model.DefaultHistoryPermissions ) \ |
---|
| 39 | .filter( galaxy.model.DefaultHistoryPermissions.table.c.history_id==history.id ) \ |
---|
| 40 | .all() |
---|
| 41 | def get_default_history_permissions_by_role( role ): |
---|
| 42 | return sa_session.query( galaxy.model.DefaultHistoryPermissions ) \ |
---|
| 43 | .filter( galaxy.model.DefaultHistoryPermissions.table.c.role_id == role.id ) \ |
---|
| 44 | .all() |
---|
| 45 | def get_default_user_permissions_by_role( role ): |
---|
| 46 | return sa_session.query( galaxy.model.DefaultUserPermissions ) \ |
---|
| 47 | .filter( galaxy.model.DefaultUserPermissions.table.c.role_id == role.id ) \ |
---|
| 48 | .all() |
---|
| 49 | def get_default_user_permissions_by_user( user ): |
---|
| 50 | return sa_session.query( galaxy.model.DefaultUserPermissions ) \ |
---|
| 51 | .filter( galaxy.model.DefaultUserPermissions.table.c.user_id==user.id ) \ |
---|
| 52 | .all() |
---|
| 53 | def get_form( name ): |
---|
| 54 | fdc_list = sa_session.query( galaxy.model.FormDefinitionCurrent ) \ |
---|
| 55 | .filter( galaxy.model.FormDefinitionCurrent.table.c.deleted == False ) \ |
---|
| 56 | .order_by( galaxy.model.FormDefinitionCurrent.table.c.create_time.desc() ) |
---|
| 57 | for fdc in fdc_list: |
---|
| 58 | sa_session.refresh( fdc ) |
---|
| 59 | sa_session.refresh( fdc.latest_form ) |
---|
| 60 | if fdc.latest_form.name == name: |
---|
| 61 | return fdc.latest_form |
---|
| 62 | return None |
---|
| 63 | def get_folder( parent_id, name, description ): |
---|
| 64 | return sa_session.query( galaxy.model.LibraryFolder ) \ |
---|
| 65 | .filter( and_( galaxy.model.LibraryFolder.table.c.parent_id==parent_id, |
---|
| 66 | galaxy.model.LibraryFolder.table.c.name==name, |
---|
| 67 | galaxy.model.LibraryFolder.table.c.description==description ) ) \ |
---|
| 68 | .first() |
---|
| 69 | def get_group_by_name( name ): |
---|
| 70 | return sa_session.query( galaxy.model.Group ).filter( galaxy.model.Group.table.c.name==name ).first() |
---|
| 71 | def get_group_role_associations_by_group( group ): |
---|
| 72 | return sa_session.query( galaxy.model.GroupRoleAssociation ) \ |
---|
| 73 | .filter( galaxy.model.GroupRoleAssociation.table.c.group_id == group.id ) \ |
---|
| 74 | .all() |
---|
| 75 | def get_group_role_associations_by_role( role ): |
---|
| 76 | return sa_session.query( galaxy.model.GroupRoleAssociation ) \ |
---|
| 77 | .filter( galaxy.model.GroupRoleAssociation.table.c.role_id == role.id ) \ |
---|
| 78 | .all() |
---|
| 79 | def get_latest_dataset(): |
---|
| 80 | return sa_session.query( galaxy.model.Dataset ) \ |
---|
| 81 | .order_by( desc( galaxy.model.Dataset.table.c.create_time ) ) \ |
---|
| 82 | .first() |
---|
| 83 | def get_latest_hda(): |
---|
| 84 | return sa_session.query( galaxy.model.HistoryDatasetAssociation ) \ |
---|
| 85 | .order_by( desc( galaxy.model.HistoryDatasetAssociation.table.c.create_time ) ) \ |
---|
| 86 | .first() |
---|
| 87 | def get_latest_history_for_user( user ): |
---|
| 88 | return sa_session.query( galaxy.model.History ) \ |
---|
| 89 | .filter( and_( galaxy.model.History.table.c.deleted==False, |
---|
| 90 | galaxy.model.History.table.c.user_id==user.id ) ) \ |
---|
| 91 | .order_by( desc( galaxy.model.History.table.c.create_time ) ) \ |
---|
| 92 | .first() |
---|
| 93 | def get_latest_ldda_by_name( name ): |
---|
| 94 | return sa_session.query( galaxy.model.LibraryDatasetDatasetAssociation ) \ |
---|
| 95 | .filter( and_( galaxy.model.LibraryDatasetDatasetAssociation.table.c.name==name, |
---|
| 96 | galaxy.model.LibraryDatasetDatasetAssociation.table.c.deleted == False ) ) \ |
---|
| 97 | .order_by( desc( galaxy.model.LibraryDatasetDatasetAssociation.table.c.create_time ) ) \ |
---|
| 98 | .first() |
---|
| 99 | def get_latest_lddas( limit ): |
---|
| 100 | return sa_session.query( galaxy.model.LibraryDatasetDatasetAssociation ) \ |
---|
| 101 | .order_by( desc( galaxy.model.LibraryDatasetDatasetAssociation.table.c.update_time ) ) \ |
---|
| 102 | .limit( limit ) |
---|
| 103 | def get_library( name, description, synopsis ): |
---|
| 104 | return sa_session.query( galaxy.model.Library ) \ |
---|
| 105 | .filter( and_( galaxy.model.Library.table.c.name==name, |
---|
| 106 | galaxy.model.Library.table.c.description==description, |
---|
| 107 | galaxy.model.Library.table.c.synopsis==synopsis, |
---|
| 108 | galaxy.model.Library.table.c.deleted==False ) ) \ |
---|
| 109 | .first() |
---|
| 110 | def get_private_role( user ): |
---|
| 111 | for role in user.all_roles(): |
---|
| 112 | if role.name == user.email and role.description == 'Private Role for %s' % user.email: |
---|
| 113 | return role |
---|
| 114 | raise AssertionError( "Private role not found for user '%s'" % user.email ) |
---|
| 115 | def get_request_by_name( name ): |
---|
| 116 | return sa_session.query( galaxy.model.Request ) \ |
---|
| 117 | .filter( and_( galaxy.model.Request.table.c.name==name, |
---|
| 118 | galaxy.model.Request.table.c.deleted==False ) ) \ |
---|
| 119 | .first() |
---|
| 120 | def get_request_type_by_name( name ): |
---|
| 121 | return sa_session.query( galaxy.model.RequestType ) \ |
---|
| 122 | .filter( and_( galaxy.model.RequestType.table.c.name==name ) ) \ |
---|
| 123 | .order_by( desc( galaxy.model.RequestType.table.c.create_time ) ) \ |
---|
| 124 | .first() |
---|
| 125 | def get_role_by_name( name ): |
---|
| 126 | return sa_session.query( galaxy.model.Role ).filter( galaxy.model.Role.table.c.name==name ).first() |
---|
| 127 | def get_user( email ): |
---|
| 128 | return sa_session.query( galaxy.model.User ) \ |
---|
| 129 | .filter( galaxy.model.User.table.c.email==email ) \ |
---|
| 130 | .first() |
---|
| 131 | def get_user_address( user, short_desc ): |
---|
| 132 | return sa_session.query( galaxy.model.UserAddress ) \ |
---|
| 133 | .filter( and_( galaxy.model.UserAddress.table.c.user_id==user.id, |
---|
| 134 | galaxy.model.UserAddress.table.c.desc==short_desc, |
---|
| 135 | galaxy.model.UserAddress.table.c.deleted==False ) ) \ |
---|
| 136 | .order_by( desc( galaxy.model.UserAddress.table.c.create_time ) ) \ |
---|
| 137 | .first() |
---|
| 138 | def get_user_group_associations_by_group( group ): |
---|
| 139 | return sa_session.query( galaxy.model.UserGroupAssociation ) \ |
---|
| 140 | .filter( galaxy.model.UserGroupAssociation.table.c.group_id == group.id ) \ |
---|
| 141 | .all() |
---|
| 142 | def get_user_info_form_definition(): |
---|
| 143 | return galaxy.model.FormDefinition.types.USER_INFO |
---|
| 144 | def get_user_role_associations_by_role( role ): |
---|
| 145 | return sa_session.query( galaxy.model.UserRoleAssociation ) \ |
---|
| 146 | .filter( galaxy.model.UserRoleAssociation.table.c.role_id == role.id ) \ |
---|
| 147 | .all() |
---|
| 148 | def mark_obj_deleted( obj ): |
---|
| 149 | obj.deleted = True |
---|
| 150 | sa_session.add( obj ) |
---|
| 151 | sa_session.flush() |
---|
| 152 | def refresh( obj ): |
---|
| 153 | sa_session.refresh( obj ) |
---|