From b0ae5f98ef2b6950e1b0d97a34faee43da0bfcde Mon Sep 17 00:00:00 2001 From: Jakub Kadlčík Date: Apr 18 2017 06:23:38 +0000 Subject: Have default NSV for modules submitted by yaml file --- diff --git a/module_build_service/utils.py b/module_build_service/utils.py index 5bae815..115a459 100644 --- a/module_build_service/utils.py +++ b/module_build_service/utils.py @@ -661,8 +661,21 @@ def record_component_builds(mmd, module, initial_batch = 1, return batch -def submit_module_build_from_yaml(username, yaml, optional_params=None): +def submit_module_build_from_yaml(username, handle, optional_params=None): + yaml = handle.read() mmd = load_mmd(yaml) + + # Mimic the way how default values are generated for modules that are stored in SCM + # We can take filename as the module name as opposed to repo name, + # and also we can take numeric representation of current datetime + # as opposed to datetime of the last commit + dt = datetime.utcfromtimestamp(int(time.time())) + def_name = str(handle.filename.split(".")[0]) + def_version = int(dt.strftime("%Y%m%d%H%M%S")) + + mmd.name = mmd.name or def_name + mmd.stream = mmd.stream or "master" + mmd.version = mmd.version or def_version return submit_module_build(username, None, mmd, None, yaml, optional_params) diff --git a/module_build_service/views.py b/module_build_service/views.py index 8808527..0b84df7 100644 --- a/module_build_service/views.py +++ b/module_build_service/views.py @@ -235,8 +235,8 @@ class YAMLFileHandler(BaseHandler): self.validate_optional_params() def post(self): - r = request.files["yaml"] - return submit_module_build_from_yaml(self.username, r.read(), optional_params=self.optional_params) + handle = request.files["yaml"] + return submit_module_build_from_yaml(self.username, handle, optional_params=self.optional_params) def register_api_v1():