Merge lp:~davidc3/developer-ubuntu-com/webapp-generator-version-appname into lp:developer-ubuntu-com

Proposed by David Callé
Status: Merged
Approved by: Michael Hall
Approved revision: 113
Merged at revision: 96
Proposed branch: lp:~davidc3/developer-ubuntu-com/webapp-generator-version-appname
Merge into: lp:developer-ubuntu-com
Diff against target: 111 lines (+20/-17)
4 files modified
webapp_creator/resources/appname.desktop (+1/-1)
webapp_creator/resources/manifest.json (+0/-1)
webapp_creator/views.py (+10/-0)
webapp_creator/woc.py (+9/-15)
To merge this branch: bzr merge lp:~davidc3/developer-ubuntu-com/webapp-generator-version-appname
Reviewer Review Type Date Requested Status
Michael Hall (community) Approve
Review via email: mp+253671@code.launchpad.net

Commit message

- Add version field
- Create appname using display name (cleaned and shortened if needed)
- Pre-fills name and email

Description of the change

- Add version field
- Create appname using display name (cleaned and shortened if needed)
- Pre-fills name and email

To post a comment you must log in.
Revision history for this message
Michael Hall (mhall119) wrote :

LGTM

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'webapp_creator/resources/appname.desktop'
2--- webapp_creator/resources/appname.desktop 2015-03-14 16:38:55 +0000
3+++ webapp_creator/resources/appname.desktop 2015-03-20 13:17:10 +0000
4@@ -1,6 +1,6 @@
5 [Desktop Entry]
6 Name={displayname}
7-Comment=Web app for {domain}
8+Comment=Webapp for {domain}
9 Type=Application
10 Icon={appicon}
11 Exec=webapp-container {container_options} --webappUrlPatterns=https?://{domain}/* {url}
12
13=== modified file 'webapp_creator/resources/manifest.json'
14--- webapp_creator/resources/manifest.json 2015-03-04 16:31:01 +0000
15+++ webapp_creator/resources/manifest.json 2015-03-20 13:17:10 +0000
16@@ -1,6 +1,5 @@
17 {
18 "architecture": "all",
19- "version": "0.1",
20 "framework" : "ubuntu-sdk-14.10"
21 }
22
23
24=== modified file 'webapp_creator/views.py'
25--- webapp_creator/views.py 2015-03-16 08:58:17 +0000
26+++ webapp_creator/views.py 2015-03-20 13:17:10 +0000
27@@ -30,6 +30,9 @@
28 label=_("App options"),
29 help_text=_('Use CTRL to select multiple options'),
30 required=False)
31+ version = forms.CharField(
32+ max_length=20, required=True, label=_('Version'),
33+ help_text=_('E.g. 0.1'), initial=0.1)
34 nickname = forms.RegexField(
35 regex='^[\w-]+$', max_length=200, required=True,
36 label=_('Developer namespace'),
37@@ -57,7 +60,14 @@
38 click_name,)
39 return response
40 else:
41+ try:
42+ name = "%s %s" % (request.user.first_name, request.user.last_name)
43+ email = request.user.email
44+ except:
45+ name, email = '', ''
46 webapp_form = WebappForm()
47+ webapp_form.fields['email'].initial = email
48+ webapp_form.fields['fullname'].initial = name.strip()
49 return render_to_response(
50 'webapp.html',
51 {'webapp_form': webapp_form},
52
53=== modified file 'webapp_creator/woc.py'
54--- webapp_creator/woc.py 2015-03-17 14:09:18 +0000
55+++ webapp_creator/woc.py 2015-03-20 13:17:10 +0000
56@@ -3,20 +3,12 @@
57 import shutil
58 import re
59 import subprocess
60-import random
61-import string
62-
63 from urlparse import urlsplit
64
65
66-def random_str(length):
67- """Generates a random str to differentiate apps using the same domain."""
68- return ''.join(random.choice(string.lowercase) for i in range(length))
69-
70-
71-def create_appname(domain):
72- domain_nowww = re.sub('www\.', '', domain)
73- appname = re.sub('\.', '', domain_nowww)
74+def create_appname(name):
75+ name = re.sub('[^0-9a-zA-Z]+', '', name)
76+ appname = name[:20].lower()
77 return appname
78
79
80@@ -33,10 +25,11 @@
81 def create(data):
82 nickname = data['nickname'].encode('UTF-8')
83 url = data['url'].encode('UTF-8')
84+ version = data['version'].encode('UTF-8')
85 displayname = data['displayname'].encode('UTF-8')
86 domain = urlsplit(url)[1].encode('UTF-8')
87 options = ' '.join(data['options'])
88- appname = '%s-%s' % (create_appname(domain), random_str(3))
89+ appname = create_appname(displayname)
90 tmp = create_tmp(appname, domain)
91
92 # Create icon
93@@ -63,7 +56,8 @@
94 open("webapp_creator/resources/manifest.json").read())
95 manifest_new['name'] = '%s.%s' % (appname, nickname,)
96 manifest_new['title'] = displayname
97- manifest_new['description'] = 'Web app for %s' % (domain,)
98+ manifest_new['version'] = version
99+ manifest_new['description'] = 'Webapp for %s' % (domain,)
100 manifest_new['hooks'] = {appname:
101 {'apparmor': '%s.apparmor' % (appname,),
102 'desktop': '%s.desktop' % (appname,)
103@@ -78,6 +72,6 @@
104 # Build click package in tmp dir
105 subprocess.call(['click', 'build', tmp+'/resources'],
106 cwd=tmp)
107- click_path = '%s/%s.%s_0.1_all.click' % (tmp, appname, nickname,)
108- click_name = '%s.%s_0.1_all.click' % (appname, nickname,)
109+ click_path = '%s/%s.%s_%s_all.click' % (tmp, appname, nickname, version)
110+ click_name = '%s.%s_%s_all.click' % (appname, nickname, version)
111 return tmp, click_name, click_path

Subscribers

People subscribed via source and target branches