2424 from io import StringIO
2525
2626
27- _XLSX_MIME = "application/" + "vnd.openxmlformats-officedocument.spreadsheetml.sheet"
27+ _XLSX_MIME = (
28+ "application/" + "vnd.openxmlformats-officedocument.spreadsheetml.sheet"
29+ )
2830
2931FILE_TYPE_MIME_TABLE = {
3032 "csv" : "text/csv" ,
@@ -44,17 +46,23 @@ def setUp(self):
4446 self .data = [[1 , 2 , 3 ], [4 , 5 , 6 ]]
4547 self .single_sheet = [["X" , "Y" , "Z" ], [1 , 2 , 3 ], [4 , 5 , 6 ]]
4648 self .book_content = OrderedDict ()
47- self .book_content .update ({"Sheet1" : [[1 , 1 , 1 , 1 ], [2 , 2 , 2 , 2 ], [3 , 3 , 3 , 3 ]]})
48- self .book_content .update ({"Sheet2" : [[4 , 4 , 4 , 4 ], [5 , 5 , 5 , 5 ], [6 , 6 , 6 , 6 ]]})
4949 self .book_content .update (
50- {"Sheet3" : [[u"X" , u"Y" , u"Z" ], [1 , 4 , 7 ], [2 , 5 , 8 ], [3 , 6 , 9 ]]}
50+ {"Sheet1" : [[1 , 1 , 1 , 1 ], [2 , 2 , 2 , 2 ], [3 , 3 , 3 , 3 ]]}
51+ )
52+ self .book_content .update (
53+ {"Sheet2" : [[4 , 4 , 4 , 4 ], [5 , 5 , 5 , 5 ], [6 , 6 , 6 , 6 ]]}
54+ )
55+ self .book_content .update (
56+ {"Sheet3" : [["X" , "Y" , "Z" ], [1 , 4 , 7 ], [2 , 5 , 8 ], [3 , 6 , 9 ]]}
5157 )
5258
5359 def test_download (self ):
5460 for file_type in FILE_TYPE_MIME_TABLE .keys ():
5561 response = self .client .get ("/polls/download/" + file_type )
5662 assert response ["Content-Type" ] == FILE_TYPE_MIME_TABLE [file_type ]
57- sheet = pe .get_sheet (file_type = file_type , file_content = response .content )
63+ sheet = pe .get_sheet (
64+ file_type = file_type , file_content = response .content
65+ )
5866 sheet .format (int )
5967 array = sheet .to_array ()
6068 assert array == self .data
@@ -64,7 +72,7 @@ def test_download_attachment_with_ascii_name(self):
6472 self ._download_and_verify_file_name (test_file_name )
6573
6674 def test_download_attachment_with_unicode_name (self ):
67- test_file_name = u "中文文件名"
75+ test_file_name = "中文文件名"
6876 self ._download_and_verify_file_name (test_file_name .encode ("utf-8" ))
6977
7078 def test_download_attachment_with_unicode_name_as_string (self ):
@@ -83,23 +91,30 @@ def _download_and_verify_file_name(self, file_name):
8391 assert response ["Content-Type" ] == FILE_TYPE_MIME_TABLE [file_type ]
8492 assert response ["Content-Disposition" ] == (
8593 "attachment; filename=%s.%s;filename*=utf-8''%s.%s"
86- % (url_encoded_file_name , file_type , url_encoded_file_name , file_type )
94+ % (
95+ url_encoded_file_name ,
96+ file_type ,
97+ url_encoded_file_name ,
98+ file_type ,
99+ )
100+ )
101+ sheet = pe .get_sheet (
102+ file_type = file_type , file_content = response .content
87103 )
88- sheet = pe .get_sheet (file_type = file_type , file_content = response .content )
89104 sheet .format (int )
90105 array = sheet .to_array ()
91106 assert array == self .data
92107
93108 def test_parse_single_sheet (self ):
94109 test_sample = {
95110 "array" : {
96- u "result" : [[u "X" , u "Y" , u "Z" ], [1.0 , 2.0 , 3.0 ], [4.0 , 5.0 , 6.0 ]]
111+ "result" : [["X" , "Y" , "Z" ], [1.0 , 2.0 , 3.0 ], [4.0 , 5.0 , 6.0 ]]
97112 },
98- "dict" : {u "Y" : [2.0 , 5.0 ], u "X" : [1.0 , 4.0 ], u "Z" : [3.0 , 6.0 ]},
113+ "dict" : {"Y" : [2.0 , 5.0 ], "X" : [1.0 , 4.0 ], "Z" : [3.0 , 6.0 ]},
99114 "records" : {
100- u "result" : [
101- {u "Y" : 2.0 , u "X" : 1.0 , u "Z" : 3.0 },
102- {u "Y" : 5.0 , u "X" : 4.0 , u "Z" : 6.0 },
115+ "result" : [
116+ {"Y" : 2.0 , "X" : 1.0 , "Z" : 3.0 },
117+ {"Y" : 5.0 , "X" : 4.0 , "Z" : 6.0 },
103118 ]
104119 },
105120 }
@@ -120,18 +135,18 @@ def test_parse_single_sheet(self):
120135 def test_parse_book (self ):
121136 test_sample = ["book" , "book_dict" ]
122137 expected_dict = {
123- u "Sheet1" : [
138+ "Sheet1" : [
124139 [1.0 , 1.0 , 1.0 , 1.0 ],
125140 [2.0 , 2.0 , 2.0 , 2.0 ],
126141 [3.0 , 3.0 , 3.0 , 3.0 ],
127142 ],
128- u "Sheet3" : [
129- [u "X" , u "Y" , u "Z" ],
143+ "Sheet3" : [
144+ ["X" , "Y" , "Z" ],
130145 [1.0 , 4.0 , 7.0 ],
131146 [2.0 , 5.0 , 8.0 ],
132147 [3.0 , 6.0 , 9.0 ],
133148 ],
134- u "Sheet2" : [
149+ "Sheet2" : [
135150 [4.0 , 4.0 , 4.0 , 4.0 ],
136151 [5.0 , 5.0 , 5.0 , 5.0 ],
137152 [6.0 , 6.0 , 6.0 , 6.0 ],
@@ -161,7 +176,8 @@ def test_exchange(self):
161176 "/polls/exchange/" + file_type , data = {"file" : fp }
162177 )
163178 self .assertEqual (
164- response ["Content-Type" ], FILE_TYPE_MIME_TABLE [file_type ]
179+ response ["Content-Type" ],
180+ FILE_TYPE_MIME_TABLE [file_type ],
165181 )
166182 sheet = pe .get_sheet (
167183 file_type = file_type , file_content = response .content
@@ -261,7 +277,9 @@ def testBookWithoutBulkSave(self):
261277
262278 def testBookUsingIsave (self ):
263279 fp = open (self .testfile , "rb" )
264- response = self .client .post ("/polls/import_using_isave/" , data = {"file" : fp })
280+ response = self .client .post (
281+ "/polls/import_using_isave/" , data = {"file" : fp }
282+ )
265283 eq_ (response .status_code , 302 )
266284 response2 = self .client .get ("/polls/export/book" )
267285 assert response2 .status_code == 200
0 commit comments