def register_result_file(self, server, result_id, path, filename, basepath): """ register file and return path to store """ try: result = RecipeTaskResult.by_id(result_id, lockmode='update') except NoResultFound: raise BX(_('Invalid result ID: %s' % result_id)) RecipeTask.by_id(result.recipe_task_id, lockmode='update') Recipe.by_id(result.recipetask.recipe_id, lockmode='update') if result.recipetask.is_finished(): raise BX('Cannot register file for finished task %s' % result.recipetask.t_id) self._check_log_limit(result.recipetask) log_recipe = LogRecipeTaskResult.lazy_create( recipe_task_result_id=result.id, path=path, filename=filename, ) log_recipe.server = server log_recipe.basepath = basepath result.recipetask.recipe.log_server = urlparse.urlparse(server)[1] return '%s' % result.filepath
def _get_recipe_task_result_by_id(recipeid, taskid, resultid): try: result = RecipeTaskResult.by_id(resultid) except NoResultFound: raise NotFound404('Recipe task result not found') if result.recipetask.id != taskid or result.recipetask.recipe.id != recipeid: raise NotFound404('Recipe task result not found') return result
def _get_recipe_task_result_by_id(recipeid, taskid, resultid): try: result = RecipeTaskResult.by_id(resultid) except NoResultFound: raise NotFound404('Recipe task result not found') if recipeid != '_' and str(result.recipetask.recipe.id) != recipeid: raise NotFound404('Recipe task result not found') if taskid != '_' and str(result.recipetask.id) != taskid: raise NotFound404('Recipe task result not found') return result
def register_result_file(self, server, result_id, path, filename, basepath): """ register file and return path to store """ try: result = RecipeTaskResult.by_id(result_id) except InvalidRequestError: raise BX(_('Invalid result ID: %s' % result_id)) if result.recipetask.is_finished(): raise BX('Cannot register file for finished task %s' % result.recipetask.t_id) log_recipe = LogRecipeTaskResult.lazy_create( recipe_task_result_id=result.id, path=path, filename=filename, ) log_recipe.server = server log_recipe.basepath = basepath result.recipetask.recipe.log_server = urlparse.urlparse(server)[1] return '%s' % result.filepath