def fetch_synchronize_status(): """ Returns the synchronization status information for the currently opened project """ r = Response() project = cd.project.get_internal_project() if not project: r.fail( code='NO_PROJECT', message='No open project on which to retrieve status' ) else: with open(project.source_path, 'r') as f: definition = json.load(f) result = status.of_project(project) r.update( sync_time=sync_status.get('time', 0), source_directory=project.source_directory, remote_source_directory=project.remote_source_directory, status=result, definition=definition ) return r.flask_serialize()
def sync_create_project(): """ """ r = Response() args = arguments.from_request() name = args.get('name') remote_source_directory = args.get('source_directory') optional_args = args.get('args', {}) if None in [name, remote_source_directory]: return r.fail( code='INVALID_ARGS', message='Invalid arguments. Unable to create project' ).response.flask_serialize() container_folder = tempfile.mkdtemp(prefix='cd-remote-project-') os.makedirs(os.path.join(container_folder, '__cauldron_shared_libs')) os.makedirs(os.path.join(container_folder, '__cauldron_downloads')) r.consume(create_command.execute( cli.make_command_context('create'), project_name=name, directory=container_folder, forget=True, **optional_args )) if r.failed: return r.flask_serialize() sync_status.update({}, time=-1, project=None) project = cd.project.get_internal_project() project.remote_source_directory = remote_source_directory with open(project.source_path, 'r') as f: definition = json.load(f) sync_status.update({}, time=-1, project=project) return r.update( source_directory=project.source_directory, remote_source_directory=remote_source_directory, definition=definition, project=project.kernel_serialize() ).notify( kind='SUCCESS', code='PROJECT_CREATED', message='Project created' ).response.flask_serialize()
def sync_create_project(): """ """ r = Response() args = arguments.from_request() name = args.get('name') remote_source_directory = args.get('source_directory') optional_args = args.get('args', {}) if None in [name, remote_source_directory]: return r.fail(code='INVALID_ARGS', message='Invalid arguments. Unable to create project' ).response.flask_serialize() container_folder = tempfile.mkdtemp(prefix='cd-remote-project-') os.makedirs(os.path.join(container_folder, '__cauldron_shared_libs')) os.makedirs(os.path.join(container_folder, '__cauldron_downloads')) r.consume( create_command.execute(cli.make_command_context('create'), project_name=name, directory=container_folder, forget=True, **optional_args)) if r.failed: return r.flask_serialize() sync_status.update({}, time=-1, project=None) project = cd.project.get_internal_project() project.remote_source_directory = remote_source_directory with open(project.source_path, 'r') as f: definition = json.load(f) sync_status.update({}, time=-1, project=project) return r.update(source_directory=project.source_directory, remote_source_directory=remote_source_directory, definition=definition, project=project.kernel_serialize()).notify( kind='SUCCESS', code='PROJECT_CREATED', message='Project created').response.flask_serialize()
def fetch_synchronize_status(): """ Returns the synchronization status information for the currently opened project """ r = Response() project = cd.project.get_internal_project() if not project: r.fail(code='NO_PROJECT', message='No open project on which to retrieve status') else: with open(project.source_path, 'r') as f: definition = json.load(f) result = status.of_project(project) r.update(sync_time=sync_status.get('time', 0), source_directory=project.source_directory, remote_source_directory=project.remote_source_directory, status=result, definition=definition) return r.flask_serialize()