@@ -180,8 +180,11 @@ def login(ctx):
180
180
@cli .command ()
181
181
@click .argument ("project" )
182
182
@click .option ("--public" , is_flag = True , default = False , help = "Public project, visible to everyone" )
183
+ @click .option ("--from-dir" , default = None ,
184
+ help = "Content of the directory will be uploaded to the newly created project. "
185
+ "The directory will get assigned to the project." )
183
186
@click .pass_context
184
- def create (ctx , project , public ):
187
+ def create (ctx , project , public , from_dir ):
185
188
"""Create a new project on Mergin server. `project` needs to be a combination of namespace/project."""
186
189
mc = ctx .obj ["client" ]
187
190
if mc is None :
@@ -198,8 +201,12 @@ def create(ctx, project, public):
198
201
# namespace not specified, use current user namespace
199
202
namespace = mc .username ()
200
203
try :
201
- mc .create_project (project , is_public = public , namespace = namespace )
202
- click .echo ("Remote project created" )
204
+ if from_dir is None :
205
+ mc .create_project (project , is_public = public , namespace = namespace )
206
+ click .echo ("Created project " + project )
207
+ else :
208
+ mc .create_project_and_push (project , from_dir , is_public = public , namespace = namespace )
209
+ click .echo ("Created project " + project + " and pushed content from directory " + from_dir )
203
210
except ClientError as e :
204
211
click .secho ("Error: " + str (e ), fg = "red" )
205
212
return
0 commit comments