@@ -22,6 +22,7 @@ export default class SetupPy extends React.Component {
2222 code : "" ,
2323 copied : false ,
2424 author : "Hank" ,
25+ url : "" ,
2526 authorEmail : "hank@pythoncreate.com" ,
2627 description : "Description of the project." ,
2728 classifiers : [ ] ,
@@ -70,6 +71,9 @@ export default class SetupPy extends React.Component {
7071 if ( this . state . authorEmail ) {
7172 code . push ( ` author_email="` + this . state . authorEmail + `",` ) ;
7273 }
74+ if ( this . state . url ) {
75+ code . push ( ` url="` + this . state . url + `",` ) ;
76+ }
7377 if ( this . state . description ) {
7478 code . push ( ` description="` + this . state . description + `",` ) ;
7579 }
@@ -134,6 +138,10 @@ export default class SetupPy extends React.Component {
134138 return value . replace ( / [ ^ \w \s ! @ # $ % & ' * + - / \\ = ? ^ _ ` { | } ~ ] / gi, "" ) ;
135139 }
136140
141+ filterURL ( value ) {
142+ return value . replace ( / [ ^ \w \s ! @ # $ % & ' * + - / \\ = ? ^ _ ` { | } ~ ( ) : ] / gi, "" ) ;
143+ }
144+
137145 filterDescription ( value ) {
138146 return value . replace ( "\"" , "\\\"" ) ;
139147 }
@@ -181,7 +189,6 @@ export default class SetupPy extends React.Component {
181189 } }
182190 />
183191 < TextField
184- required
185192 id = "author"
186193 label = "Author"
187194 defaultValue = { this . state . author }
@@ -191,7 +198,15 @@ export default class SetupPy extends React.Component {
191198 } }
192199 />
193200 < TextField
194- required
201+ id = "url"
202+ label = "URL"
203+ defaultValue = { this . state . url }
204+ variant = "outlined"
205+ onChange = { e => {
206+ this . setState ( { url : this . filterURL ( e . target . value ) || this . defaultValue } , this . updatePythonCode ) ;
207+ } }
208+ />
209+ < TextField
195210 id = "author-email"
196211 label = "E-mail"
197212 defaultValue = { this . state . authorEmail }
@@ -201,7 +216,6 @@ export default class SetupPy extends React.Component {
201216 } }
202217 />
203218 < TextField
204- required
205219 id = "description"
206220 label = "Description"
207221 defaultValue = { this . state . description }
0 commit comments