@@ -271,22 +271,22 @@ def login(self, login, password):
271271 }
272272 return session
273273
274- def create_project (self , project_name , directory , is_public = False ):
274+ def create_project (self , project_name , directory = None , is_public = False ):
275275 """
276- Create new project repository on Mergin server from given directory.
276+ Create new project repository on Mergin server, optionally initialized from given local directory.
277277
278- :param project_name: Project's name
278+ :param project_name: Project name
279279 :type project_name: String
280280
281- :param directory: Project's directory
281+ :param directory: Local project directory, defaults to None
282282 :type directory: String
283283
284- :param is_public: Flag for public/private project
284+ :param is_public: Flag for public/private project, defaults to False
285285 :type directory: Boolean
286286 """
287287 if not self ._user_info :
288288 raise Exception ("Authentication required" )
289- if not os .path .exists (directory ):
289+ if directory and not os .path .exists (directory ):
290290 raise Exception ("Project directory does not exists" )
291291
292292 params = {
@@ -300,9 +300,10 @@ def create_project(self, project_name, directory, is_public=False):
300300 "version" : "v0" ,
301301 "files" : []
302302 }
303- save_project_file (directory , data )
304- if len (os .listdir (directory )) > 1 :
305- self .push_project (directory )
303+ if directory :
304+ save_project_file (directory , data )
305+ if len (os .listdir (directory )) > 1 :
306+ self .push_project (directory )
306307
307308 def projects_list (self , tags = None , user = None , flag = None , q = None ):
308309 """
0 commit comments