Skip to content

Commit e0b5f73

Browse files
committed
updated for python3
1 parent 58705aa commit e0b5f73

File tree

17 files changed

+45
-40
lines changed

17 files changed

+45
-40
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ venv
33
*.pyc
44
.DS_STORE
55
htmlcov
6-
.coverage
6+
.coverage
7+
__pycache__

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
A simple test to show that a web developer knows how to use basic tools and understands the basics of the Python language.
44

5+
> Make sure your code is compatible with the [latest versions](https://www.python.org/downloads/) of Python 2 and 3. Thanks!
6+
57
### Tests
68

79
Make sure to fork this repository and submit a pull request with the requested tasks completed.

part1/reverse_dubno/test_reverse.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from reverse_function import reverse
22

3-
print reverse('New York') == 'kroY weN'
4-
print reverse('bike') == 'ekib'
5-
print reverse('new') == 'wen'
6-
print reverse('work') == 'krow'
7-
print reverse('skate') != 'etak'
3+
print(reverse('New York') == 'kroY weN')
4+
print(reverse('bike') == 'ekib')
5+
print(reverse('new') == 'wen')
6+
print(reverse('work') == 'krow')
7+
print(reverse('skate') != 'etak')
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
def reverse(string):
22
result = ""
3-
for letter in xrange(len(string), 0, -1):
3+
for letter in range(len(string), 0, -1):
44
result = result + string[letter-1]
55
return result

part1/reverse_herman/test.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from reverse_string import reverse
22

33

4-
print reverse("tset") == "test" # True
5-
print reverse("olleh") == "hello" # True
6-
print reverse("nekcihc") == "chicken" # True
7-
print reverse("neckihc") == "notchicken" # False
8-
print reverse("abcdefghijklmnopqrstuvwxyz") == \
9-
"zyxwvutsrqponmlkjihgfedcba" # True
4+
print(reverse("tset") == "test") # True
5+
print(reverse("olleh") == "hello") # True
6+
print(reverse("nekcihc") == "chicken") # True
7+
print(reverse("neckihc") == "notchicken") # False
8+
print(reverse("abcdefghijklmnopqrstuvwxyz") ==
9+
"zyxwvutsrqponmlkjihgfedcba") # True
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
def reverse(string):
22
reverse_string = ""
3-
for i in xrange(len(string)):
3+
for i in range(len(string)):
44
reverse_string = reverse_string + string[(len(string)-1)-i]
55
return reverse_string

part1/reverse_norman/test.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from reverse_string import reverse
22

3-
print reverse('Hello World') == "dlroW olleH" # True
4-
print reverse('eh') == 'he' # True
5-
print reverse('this is a TEST') == "TSET a si siht" # True
6-
print reverse('football') == 'labtoof' # False
7-
print reverse('False') == 'eslaf' # False
3+
print(reverse('Hello World') == "dlroW olleH") # True
4+
print(reverse('eh') == 'he') # True
5+
print(reverse('this is a TEST') == "TSET a si siht") # True
6+
print(reverse('football') == 'labtoof') # False
7+
print(reverse('False') == 'eslaf') # False

part2/reverse_flask_herd/project/reverse_flask.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
app = Flask(__name__)
44

5-
app.config['DEBUG'] = True
5+
app.config['DEBUG'] = False
66

77

88
@app.route('/')

part2/reverse_flask_herd/tests_app.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def test_reverse_string_page_renders(self):
3333
str_to_reverse=test_string)
3434
)
3535
self.assertEqual(response.status_code, 200)
36-
self.assertIn(expected_string, response.data)
36+
self.assertIn(expected_string, str(response.data))
3737

3838

3939
if __name__ == '__main__':

part2/reverse_flask_herman/reverse/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from flask import Flask, render_template, request, \
55
flash, url_for, redirect
66

7-
from forms import ReverseStringForm
7+
from reverse.forms import ReverseStringForm
88

99

1010
################
@@ -21,7 +21,7 @@
2121

2222
def reverse(string):
2323
result = ""
24-
for letter in xrange(len(string), 0, -1):
24+
for letter in range(len(string), 0, -1):
2525
result = result + string[letter-1]
2626
return result
2727

part2/reverse_flask_herman/reverse/forms.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33

44
from flask_wtf import Form
5-
from wtforms import TextField
5+
from wtforms import StringField
66
from wtforms.validators import DataRequired, length
77

88

99
class ReverseStringForm(Form):
10-
reverse_string = TextField(
10+
reverse_string = StringField(
1111
'Reverse', validators=[DataRequired(), length(min=2)])

part2/reverse_flask_herman/test.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,26 @@ def test_index(self):
1919
# Ensure Flask is setup.
2020
response = self.app.get('/')
2121
self.assertEqual(response.status_code, 200)
22-
self.assertIn('please enter some text to reverse...', response.data)
22+
self.assertIn(b'please enter some text to reverse...', response.data)
2323

2424
def test_text_is_reversed(self):
2525
# Ensure the '/reversed_input/<user_input>' route works.
2626
response = self.app.get('/reversed_input/FooBar')
27-
self.assertIn('raBooF', response.data)
27+
self.assertIn(b'raBooF', response.data)
2828

2929
def test_form_error(self):
3030
# Ensure error is populated correctly.
3131
response = self.app.post('/', data=dict(
3232
reverse_string='', follow_redirects=True)
3333
)
34-
self.assertIn('This field is required', response.data)
34+
self.assertIn(b'This field is required', response.data)
3535

3636
def test_functional(self):
3737
# Ensure form redirects and string is reversed.
3838
response = self.app.post('/', data=dict(
3939
reverse_string="Real Python",), follow_redirects=True)
4040
self.assertEqual(response.status_code, 200)
41-
self.assertIn('nohtyP laeR', response.data)
41+
self.assertIn(b'nohtyP laeR', response.data)
4242

4343

4444
if __name__ == '__main__':

part2/reverse_flask_norman/project/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
from flask import Flask, render_template, request, redirect, url_for
2-
from forms import ReverseForm
2+
from project.forms import ReverseForm
33

44
app = Flask(__name__)
55
app.config.from_object('project.config')
66

77

88
def reverse(string):
99
reverse_string = ""
10-
for i in xrange(len(string)):
10+
for i in range(len(string)):
1111
reverse_string = reverse_string + string[(len(string)-1)-i]
1212
return reverse_string
1313

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from flask_wtf import Form
2-
from wtforms import TextField
2+
from wtforms import StringField
33
from wtforms.validators import DataRequired
44

55

66
class ReverseForm(Form):
7-
reverse = TextField('Reverse', validators=[DataRequired()])
7+
reverse = StringField('Reverse', validators=[DataRequired()])

part2/reverse_flask_norman/test.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# tests
22

3-
from project.app import app
3+
from project import app
44
import unittest
55

66

@@ -16,24 +16,24 @@ def tearDown(self):
1616
def test_homepage_exists(self):
1717
response = self.app.get('/')
1818
self.assertEqual(response.status_code, 200)
19-
self.assertIn('Reverse this text', response.data)
19+
self.assertIn(b'Reverse this text', response.data)
2020

2121
def test_text_is_reversed(self):
2222
response = self.app.get('/reversed_input/HelloWorld')
23-
self.assertIn('dlroWolleH', response.data)
23+
self.assertIn(b'dlroWolleH', response.data)
2424

2525
def test_users_must_enter_string(self):
2626
response = self.app.post(
2727
'/',
2828
data=dict(reverse='', follow_redirects=True)
2929
)
30-
self.assertIn('This field is required', response.data)
30+
self.assertIn(b'This field is required', response.data)
3131

3232
def test_redirects_to_output(self):
3333
response = self.app.post(
3434
'/',
3535
data=dict(reverse="Hello",), follow_redirects=True)
36-
self.assertIn('olleH', response.data)
36+
self.assertIn(b'olleH', response.data)
3737

3838
if __name__ == '__main__':
3939
unittest.main()

part2/reverse_flask_perham/test.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ def tearDown(self):
2929
# each test should start with 'test'
3030
def test_index_page_available(self):
3131
response = self.app.get('/')
32-
self.assertIn("Enter a string:", response.data)
32+
self.assertIn(b"Enter a string:", response.data)
3333

3434
def test_submitted_word_reverses(self):
3535
response = self.app.post('/', data=dict(string='donkey'))
36-
self.assertIn("yeknod", response.data)
36+
self.assertIn(b"yeknod", response.data)
3737

3838
if __name__ == "__main__":
3939
unittest.main()

requirements.txt

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
Flask==0.10.1
2+
Flask-WTF==0.11
23
Jinja2==2.7.3
34
MarkupSafe==0.23
5+
WTForms==2.0.2
46
Werkzeug==0.10.4
57
itsdangerous==0.24

0 commit comments

Comments
 (0)