@@ -42,15 +42,24 @@ def get_by(self, **attributes):
4242 def get_all (self ):
4343 return self .db .session .query (Project ).all ()
4444
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+ )
5160
5261 def save (self , project ):
53- self ._validate_can_be (' saved' , project )
62+ self ._validate_can_be (" saved" , project )
5463 self ._empty_strings_to_none (project )
5564 self ._creator_is_owner (project )
5665 try :
@@ -61,25 +70,26 @@ def save(self, project):
6170 raise DBIntegrityError (e )
6271
6372 def update (self , project ):
64- self ._validate_can_be ('updated' , project )
65- self ._empty_strings_to_none (project )
66- self ._creator_is_owner (project )
6773 try :
74+ self ._validate_can_be ("updated" , project )
75+ self ._empty_strings_to_none (project )
76+ self ._creator_is_owner (project )
6877 self .db .session .merge (project )
6978 self .db .session .commit ()
7079 except IntegrityError as e :
7180 self .db .session .rollback ()
7281 raise DBIntegrityError (e )
7382
7483 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+ )
7788 self .db .session .delete (project )
7889 self .db .session .commit ()
7990 cached_projects .clean (project .id )
8091 self ._delete_zip_files_from_store (project )
8192
82-
8393 # Methods for Category objects
8494 def get_category (self , id = None ):
8595 if id is None :
@@ -92,17 +102,33 @@ def get_category_by(self, **attributes):
92102 def get_all_categories (self ):
93103 return self .db .session .query (Category ).all ()
94104
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+ )
103129
104130 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 )
106132 try :
107133 self .db .session .add (category )
108134 self .db .session .commit ()
@@ -111,7 +137,7 @@ def save_category(self, category):
111137 raise DBIntegrityError (e )
112138
113139 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 )
115141 try :
116142 self .db .session .merge (new_category )
117143 self .db .session .commit ()
@@ -120,16 +146,16 @@ def update_category(self, new_category, caller="web"):
120146 raise DBIntegrityError (e )
121147
122148 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 ()
125151 self .db .session .commit ()
126152
127153 def _empty_strings_to_none (self , project ):
128- if project .name == '' :
154+ if project .name == "" :
129155 project .name = None
130- if project .short_name == '' :
156+ if project .short_name == "" :
131157 project .short_name = None
132- if project .description == '' :
158+ if project .description == "" :
133159 project .description = None
134160
135161 def _creator_is_owner (self , project ):
@@ -141,18 +167,19 @@ def _creator_is_owner(self, project):
141167 def _validate_can_be (self , action , element , klass = Project ):
142168 if not isinstance (element , klass ):
143169 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__ )
145171 raise WrongObjectError (msg )
146172
147173 def _delete_zip_files_from_store (self , project ):
148174 from pybossa .core import json_exporter , csv_exporter
175+
149176 global uploader
150177 if uploader is None :
151178 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" )
156183 container = "user_%s" % project .owner_id
157184 uploader .delete_file (json_tasks_filename , container )
158185 uploader .delete_file (csv_tasks_filename , container )
0 commit comments