@@ -42,15 +42,24 @@ def get_by(self, **attributes):
42
42
def get_all (self ):
43
43
return self .db .session .query (Project ).all ()
44
44
45
- def filter_by (self , limit = None , offset = 0 , yielded = False , last_id = None ,
46
- fulltextsearch = None , desc = False , ** filters ):
47
- if filters .get ('owner_id' ):
48
- filters ['owner_id' ] = filters .get ('owner_id' )
49
- return self ._filter_by (Project , limit , offset , yielded , last_id ,
50
- fulltextsearch , desc , ** filters )
45
+ def filter_by (
46
+ self ,
47
+ limit = None ,
48
+ offset = 0 ,
49
+ yielded = False ,
50
+ last_id = None ,
51
+ fulltextsearch = None ,
52
+ desc = False ,
53
+ ** filters
54
+ ):
55
+ if filters .get ("owner_id" ):
56
+ filters ["owner_id" ] = filters .get ("owner_id" )
57
+ return self ._filter_by (
58
+ Project , limit , offset , yielded , last_id , fulltextsearch , desc , ** filters
59
+ )
51
60
52
61
def save (self , project ):
53
- self ._validate_can_be (' saved' , project )
62
+ self ._validate_can_be (" saved" , project )
54
63
self ._empty_strings_to_none (project )
55
64
self ._creator_is_owner (project )
56
65
try :
@@ -61,25 +70,26 @@ def save(self, project):
61
70
raise DBIntegrityError (e )
62
71
63
72
def update (self , project ):
64
- self ._validate_can_be ('updated' , project )
65
- self ._empty_strings_to_none (project )
66
- self ._creator_is_owner (project )
67
73
try :
74
+ self ._validate_can_be ("updated" , project )
75
+ self ._empty_strings_to_none (project )
76
+ self ._creator_is_owner (project )
68
77
self .db .session .merge (project )
69
78
self .db .session .commit ()
70
79
except IntegrityError as e :
71
80
self .db .session .rollback ()
72
81
raise DBIntegrityError (e )
73
82
74
83
def delete (self , project ):
75
- self ._validate_can_be ('deleted' , project )
76
- project = self .db .session .query (Project ).filter (Project .id == project .id ).first ()
84
+ self ._validate_can_be ("deleted" , project )
85
+ project = (
86
+ self .db .session .query (Project ).filter (Project .id == project .id ).first ()
87
+ )
77
88
self .db .session .delete (project )
78
89
self .db .session .commit ()
79
90
cached_projects .clean (project .id )
80
91
self ._delete_zip_files_from_store (project )
81
92
82
-
83
93
# Methods for Category objects
84
94
def get_category (self , id = None ):
85
95
if id is None :
@@ -92,17 +102,33 @@ def get_category_by(self, **attributes):
92
102
def get_all_categories (self ):
93
103
return self .db .session .query (Category ).all ()
94
104
95
- def filter_categories_by (self , limit = None , offset = 0 , yielded = False ,
96
- last_id = None , fulltextsearch = None ,
97
- orderby = 'id' ,
98
- desc = False , ** filters ):
99
- if filters .get ('owner_id' ):
100
- del filters ['owner_id' ]
101
- return self ._filter_by (Category , limit , offset , yielded , last_id ,
102
- fulltextsearch , desc , orderby , ** filters )
105
+ def filter_categories_by (
106
+ self ,
107
+ limit = None ,
108
+ offset = 0 ,
109
+ yielded = False ,
110
+ last_id = None ,
111
+ fulltextsearch = None ,
112
+ orderby = "id" ,
113
+ desc = False ,
114
+ ** filters
115
+ ):
116
+ if filters .get ("owner_id" ):
117
+ del filters ["owner_id" ]
118
+ return self ._filter_by (
119
+ Category ,
120
+ limit ,
121
+ offset ,
122
+ yielded ,
123
+ last_id ,
124
+ fulltextsearch ,
125
+ desc ,
126
+ orderby ,
127
+ ** filters
128
+ )
103
129
104
130
def save_category (self , category ):
105
- self ._validate_can_be (' saved as a Category' , category , klass = Category )
131
+ self ._validate_can_be (" saved as a Category" , category , klass = Category )
106
132
try :
107
133
self .db .session .add (category )
108
134
self .db .session .commit ()
@@ -111,7 +137,7 @@ def save_category(self, category):
111
137
raise DBIntegrityError (e )
112
138
113
139
def update_category (self , new_category , caller = "web" ):
114
- self ._validate_can_be (' updated as a Category' , new_category , klass = Category )
140
+ self ._validate_can_be (" updated as a Category" , new_category , klass = Category )
115
141
try :
116
142
self .db .session .merge (new_category )
117
143
self .db .session .commit ()
@@ -120,16 +146,16 @@ def update_category(self, new_category, caller="web"):
120
146
raise DBIntegrityError (e )
121
147
122
148
def delete_category (self , category ):
123
- self ._validate_can_be (' deleted as a Category' , category , klass = Category )
124
- self .db .session .query (Category ).filter (Category .id == category .id ).delete ()
149
+ self ._validate_can_be (" deleted as a Category" , category , klass = Category )
150
+ self .db .session .query (Category ).filter (Category .id == category .id ).delete ()
125
151
self .db .session .commit ()
126
152
127
153
def _empty_strings_to_none (self , project ):
128
- if project .name == '' :
154
+ if project .name == "" :
129
155
project .name = None
130
- if project .short_name == '' :
156
+ if project .short_name == "" :
131
157
project .short_name = None
132
- if project .description == '' :
158
+ if project .description == "" :
133
159
project .description = None
134
160
135
161
def _creator_is_owner (self , project ):
@@ -141,18 +167,19 @@ def _creator_is_owner(self, project):
141
167
def _validate_can_be (self , action , element , klass = Project ):
142
168
if not isinstance (element , klass ):
143
169
name = element .__class__ .__name__
144
- msg = ' %s cannot be %s by %s' % (name , action , self .__class__ .__name__ )
170
+ msg = " %s cannot be %s by %s" % (name , action , self .__class__ .__name__ )
145
171
raise WrongObjectError (msg )
146
172
147
173
def _delete_zip_files_from_store (self , project ):
148
174
from pybossa .core import json_exporter , csv_exporter
175
+
149
176
global uploader
150
177
if uploader is None :
151
178
from pybossa .core import uploader
152
- json_tasks_filename = json_exporter .download_name (project , ' task' )
153
- csv_tasks_filename = csv_exporter .download_name (project , ' task' )
154
- json_taskruns_filename = json_exporter .download_name (project , ' task_run' )
155
- csv_taskruns_filename = csv_exporter .download_name (project , ' task_run' )
179
+ json_tasks_filename = json_exporter .download_name (project , " task" )
180
+ csv_tasks_filename = csv_exporter .download_name (project , " task" )
181
+ json_taskruns_filename = json_exporter .download_name (project , " task_run" )
182
+ csv_taskruns_filename = csv_exporter .download_name (project , " task_run" )
156
183
container = "user_%s" % project .owner_id
157
184
uploader .delete_file (json_tasks_filename , container )
158
185
uploader .delete_file (csv_tasks_filename , container )
0 commit comments