def delete_library(self, library): """Deletes a library. """ check_resource_type(library, LIBRARY_PATH, message="A library id is needed.") library_id = get_library_id(library) if library_id: return self._delete("%s%s" % (self.url, library_id))
def update_library(self, library, changes): """Updates a library. """ check_resource_type(library, LIBRARY_PATH, message="A library id is needed.") library_id = get_library_id(library) if library_id: body = json.dumps(changes) return self._update("%s%s" % (self.url, library_id), body)
def get_library(self, library, query_string=''): """Retrieves a library. The library parameter should be a string containing the library id or the dict returned by create_script. As library is an evolving object that is processed until it reaches the FINISHED or FAULTY state, the function will return a dict that encloses the library content and state info available at the time it is called. """ check_resource_type(library, LIBRARY_PATH, message="A library id is needed.") library_id = get_library_id(library) if library_id: return self._get("%s%s" % (self.url, library_id), query_string=query_string)
def create_library(self, source_code=None, args=None, wait_time=3, retries=10): """Creates a whizzml library from its source code. The `source_code` parameter can be a: {library ID}: the ID for an existing whizzml library {path}: the path to a file containing the source code {string} : the string containing the source code for the library """ create_args = {} if args is not None: create_args.update(args) if source_code is None: raise Exception('A valid code string' ' or a library id must be provided.') resource_type = get_resource_type(source_code) if resource_type == LIBRARY_PATH: library_id = get_library_id(source_code) if library_id: check_resource(library_id, query_string=TINY_RESOURCE, wait_time=wait_time, retries=retries, raise_on_error=True, api=self) create_args.update({"origin": library_id}) elif isinstance(source_code, basestring): try: if os.path.exists(source_code): with open(source_code) as code_file: source_code = code_file.read() except IOError: raise IOError("Could not open the source code file %s." % source_code) create_args.update({"source_code": source_code}) else: raise Exception("A library id or a valid source code" " is needed to create a" " library. %s found." % resource_type) body = json.dumps(create_args) return self._create(self.library_url, body)
def create_library(self, source_code=None, args=None, wait_time=3, retries=10): """Creates a whizzml library from its source code. The `source_code` parameter can be a: {library ID}: the ID for an existing whizzml library {path}: the path to a file containing the source code {string} : the string containing the source code for the library """ create_args = {} if args is not None: create_args.update(args) if source_code is None: raise Exception('A valid code string' ' or a library id must be provided.') resource_type = get_resource_type(source_code) if resource_type == LIBRARY_PATH: library_id = get_library_id(source_code) if library_id: check_resource(library_id, query_string=TINY_RESOURCE, wait_time=wait_time, retries=retries, raise_on_error=True, api=self) create_args.update({ "origin": library_id}) elif isinstance(source_code, basestring): try: if os.path.exists(source_code): with open(source_code) as code_file: source_code = code_file.read() except IOError: raise IOError("Could not open the source code file %s." % source_code) create_args.update({ "source_code": source_code}) else: raise Exception("A library id or a valid source code" " is needed to create a" " library. %s found." % resource_type) body = json.dumps(create_args) return self._create(self.library_url, body)