From 1142765dbdb5c57b5b55558b5964555111bbd0fb Mon Sep 17 00:00:00 2001 From: Wouter van Heijst Date: Fri, 25 Aug 2017 15:46:00 +0300 Subject: [PATCH 1/4] WIP: Match all SuggestedSomething lines in .ks templates --- src/img_web/app/forms.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/img_web/app/forms.py b/src/img_web/app/forms.py index 375b84f..f620813 100644 --- a/src/img_web/app/forms.py +++ b/src/img_web/app/forms.py @@ -262,14 +262,13 @@ def __init__(self, *args, **kwargs): attrs = {} with open(template, 'r') as tf: for line in tf: - if re.match(r'^#.*?DisplayName:.+$', line): + match = re.match(r'^#.*?Suggested([^:]*):(.*)$', line) + if match: + key = 'data-' + match.group(1).lower() + val = match.group(2).strip() + attrs[key] = val + elif re.match(r'^#.*?DisplayName:.+$', line): name = line.split(":")[1].strip() - if re.match(r'^#.*?SuggestedFeatures:.+$', line): - attrs["data-features"] = line.split(":")[1].strip() - if re.match(r'^#.*?SuggestedArchitecture:.+$', line): - attrs["data-architecture"] = line.split(":")[1].strip() - if re.match(r'^#.*?SuggestedImageType:.+$', line): - attrs["data-imagetype"] = line.split(":")[1].strip() self.fields['template'].choices.append((templatename , name, attrs)) From 0f37af6225b5fdcf5ea07f154eb4c77204cf9564 Mon Sep 17 00:00:00 2001 From: Wouter van Heijst Date: Sun, 3 Sep 2017 14:52:40 +0300 Subject: [PATCH 2/4] WIP: Pass # Device: $foo in .ks along to tokenmap as DEVICE:$foo --- src/img_web/app/forms.py | 8 +++++++- src/img_web/app/views.py | 4 ++++ src/img_web/templates/app/upload.html | 8 ++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/img_web/app/forms.py b/src/img_web/app/forms.py index f620813..d04b47d 100644 --- a/src/img_web/app/forms.py +++ b/src/img_web/app/forms.py @@ -251,7 +251,11 @@ class ImageJobForm(forms.Form): help_text=\ "Packages: comma separated list of tags "\ "to describe the image built.") - + device = forms.CharField( + label="Device", + required=False, + widget=forms.TextInput(attrs={'readonly': 'readonly'}), + ) def __init__(self, *args, **kwargs): super(ImageJobForm, self).__init__(*args, **kwargs) @@ -269,6 +273,8 @@ def __init__(self, *args, **kwargs): attrs[key] = val elif re.match(r'^#.*?DisplayName:.+$', line): name = line.split(":")[1].strip() + elif re.match(r'^#.*?Device:.+$', line): + attrs['data-device'] = line.split(":")[1].strip() self.fields['template'].choices.append((templatename , name, attrs)) diff --git a/src/img_web/app/views.py b/src/img_web/app/views.py index 6a99a9e..5d21238 100644 --- a/src/img_web/app/views.py +++ b/src/img_web/app/views.py @@ -150,6 +150,10 @@ def submit(request): archtoken = "i586" tokenmap["ARCH"] = archtoken + devicetoken = jobdata.get('device') + if devicetoken: + tokenmap['DEVICE'] = devicetoken + tokens_list = [] extra_repos_tmp = [] for token, tokenvalue in tokenmap.items(): diff --git a/src/img_web/templates/app/upload.html b/src/img_web/templates/app/upload.html index b7063e0..ab950bb 100644 --- a/src/img_web/templates/app/upload.html +++ b/src/img_web/templates/app/upload.html @@ -111,6 +111,14 @@ {{ jobform.architecture }} + + + {{ jobform.device.label_tag }} + + + {{ jobform.device }} + + From 8c1a0a02a4276f5422e3321402577d9252b7167a Mon Sep 17 00:00:00 2001 From: Wouter van Heijst Date: Thu, 7 Sep 2017 12:25:24 +0300 Subject: [PATCH 3/4] Rename ImageJobForm device field to devicemodel Follow https://git.merproject.org/mer-core/ssu/merge_requests/12/diffs --- src/img_web/app/forms.py | 8 ++++---- src/img_web/app/views.py | 6 +++--- src/img_web/templates/app/upload.html | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/img_web/app/forms.py b/src/img_web/app/forms.py index d04b47d..0f1f75b 100644 --- a/src/img_web/app/forms.py +++ b/src/img_web/app/forms.py @@ -251,8 +251,8 @@ class ImageJobForm(forms.Form): help_text=\ "Packages: comma separated list of tags "\ "to describe the image built.") - device = forms.CharField( - label="Device", + devicemodel = forms.CharField( + label="Device model", required=False, widget=forms.TextInput(attrs={'readonly': 'readonly'}), ) @@ -273,8 +273,8 @@ def __init__(self, *args, **kwargs): attrs[key] = val elif re.match(r'^#.*?DisplayName:.+$', line): name = line.split(":")[1].strip() - elif re.match(r'^#.*?Device:.+$', line): - attrs['data-device'] = line.split(":")[1].strip() + elif re.match(r'^#.*?DeviceModel:.+$', line): + attrs['data-devicemodel'] = line.split(":")[1].strip() self.fields['template'].choices.append((templatename , name, attrs)) diff --git a/src/img_web/app/views.py b/src/img_web/app/views.py index 5d21238..36f2dbb 100644 --- a/src/img_web/app/views.py +++ b/src/img_web/app/views.py @@ -150,9 +150,9 @@ def submit(request): archtoken = "i586" tokenmap["ARCH"] = archtoken - devicetoken = jobdata.get('device') - if devicetoken: - tokenmap['DEVICE'] = devicetoken + devicemodeltoken = jobdata.get('devicemodel') + if devicemodeltoken: + tokenmap['DEVICE'] = devicemodeltoken tokens_list = [] extra_repos_tmp = [] diff --git a/src/img_web/templates/app/upload.html b/src/img_web/templates/app/upload.html index ab950bb..1db0d79 100644 --- a/src/img_web/templates/app/upload.html +++ b/src/img_web/templates/app/upload.html @@ -113,10 +113,10 @@ - {{ jobform.device.label_tag }} + {{ jobform.devicemodel.label_tag }} - {{ jobform.device }} + {{ jobform.devicemodel }} From b28074943c15912ba92fab639c76f243219ad1fb Mon Sep 17 00:00:00 2001 From: Wouter van Heijst Date: Fri, 8 Sep 2017 08:45:25 +0300 Subject: [PATCH 4/4] WIP: DeviceVariant --- src/img_web/app/forms.py | 7 +++++++ src/img_web/app/views.py | 5 ++++- src/img_web/templates/app/upload.html | 8 ++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/img_web/app/forms.py b/src/img_web/app/forms.py index 0f1f75b..093fa6b 100644 --- a/src/img_web/app/forms.py +++ b/src/img_web/app/forms.py @@ -256,6 +256,11 @@ class ImageJobForm(forms.Form): required=False, widget=forms.TextInput(attrs={'readonly': 'readonly'}), ) + devicevariant = forms.CharField( + label="Device variant", + required=False, + widget=forms.TextInput(attrs={'readonly': 'readonly'}), + ) def __init__(self, *args, **kwargs): super(ImageJobForm, self).__init__(*args, **kwargs) @@ -275,6 +280,8 @@ def __init__(self, *args, **kwargs): name = line.split(":")[1].strip() elif re.match(r'^#.*?DeviceModel:.+$', line): attrs['data-devicemodel'] = line.split(":")[1].strip() + elif re.match(r'^#.*?DeviceVariant:.+$', line): + attrs['data-devicevariant'] = line.split(":")[1].strip() self.fields['template'].choices.append((templatename , name, attrs)) diff --git a/src/img_web/app/views.py b/src/img_web/app/views.py index 36f2dbb..6fc31da 100644 --- a/src/img_web/app/views.py +++ b/src/img_web/app/views.py @@ -152,7 +152,10 @@ def submit(request): devicemodeltoken = jobdata.get('devicemodel') if devicemodeltoken: - tokenmap['DEVICE'] = devicemodeltoken + tokenmap['DEVICEMODEL'] = devicemodeltoken + devicevarianttoken = jobdata.get('devicevariant') + if devicevarianttoken: + tokenmap['DEVICEVARIANT'] = devicevarianttoken tokens_list = [] extra_repos_tmp = [] diff --git a/src/img_web/templates/app/upload.html b/src/img_web/templates/app/upload.html index 1db0d79..db2e12a 100644 --- a/src/img_web/templates/app/upload.html +++ b/src/img_web/templates/app/upload.html @@ -119,6 +119,14 @@ {{ jobform.devicemodel }} + + + {{ jobform.devicevariant.label_tag }} + + + {{ jobform.devicevariant }} + +