def test_parse_csv(self): csv_stream = StringIO("a,b\nx,y\nq,w") data = parse_csv(csv_stream) assert_that(data, only_contains({"a": "x", "b": "y"}, {"a": "q", "b": "w"}))
def test_ignore_comments(self): csv = u"# top comment\na,b\n# any random comment\nc,d" csv_stream = StringIO(csv.encode("utf-8")) data = parse_csv(csv_stream) assert_that(data, only_contains({"a": u"c", "b": u"d"}))
def test_ignore_values_in_comments_column(self): csv = u"a,comment,b\nc,d,e" csv_stream = StringIO(csv.encode("utf-8")) data = parse_csv(csv_stream) assert_that(data, only_contains({"a": u"c", "b": u"e"}))
def test_ignore_when_empty_row(self): csv = u"a,b\n,\nc,d" csv_stream = StringIO(csv.encode("utf-8")) data = parse_csv(csv_stream) assert_that(data, only_contains({"a": u"c", "b": u"d"}))
def test_parse_utf8_data(self): csv = u"a,b\nà,ù" csv_stream = StringIO(csv.encode("utf-8")) data = parse_csv(csv_stream) assert_that(data, only_contains({"a": u"à", "b": u"ù"}))
def test_ignore_values_in_comments_column(self): csv = u"a,comment,b\nc,d,e" csv_stream = StringIO(csv.encode("utf-8")) data = parse_csv(csv_stream) assert_that(data, only_contains( {"a": u"c", "b": u"e"} ))
def test_ignore_comments(self): csv = u"# top comment\na,b\n# any random comment\nc,d" csv_stream = StringIO(csv.encode("utf-8")) data = parse_csv(csv_stream) assert_that(data, only_contains( {"a": u"c", "b": u"d"} ))
def test_ignore_when_empty_row(self): csv = u"a,b\n,\nc,d" csv_stream = StringIO(csv.encode("utf-8")) data = parse_csv(csv_stream) assert_that(data, only_contains( {"a": u"c", "b": u"d"} ))
def test_parse_utf8_data(self): csv = u"a,b\nà,ù" csv_stream = StringIO(csv.encode("utf-8")) data = parse_csv(csv_stream) assert_that(data, only_contains( {"a": u"à", "b": u"ù"} ))
def test_accept_when_some_values_empty(self): csv = u"a,b\n,\nc,d\nc," csv_stream = StringIO(csv.encode("utf-8")) data = parse_csv(csv_stream) assert_that(data, only_contains( {"a": u"c", "b": u"d"}, {"a": u"c", "b": u""} ))
def test_parse_csv(self): csv_stream = StringIO("a,b\nx,y\nq,w") data = parse_csv(csv_stream) assert_that(data, only_contains({ "a": "x", "b": "y" }, { "a": "q", "b": "w" }))
def _store_csv_data(bucket_name): file_stream = request.files["file"].stream try: if request.content_length > MAX_UPLOAD_SIZE: return _invalid_upload("file too large") try: parse_and_store(db, parse_csv(file_stream), bucket_name, app.logger) return render_template("upload_ok.html") except (ParseError, ValidationError) as e: return _invalid_upload(e.message) finally: file_stream.close()
def test_accept_when_some_values_empty(self): csv = u"a,b\n,\nc,d\nc," csv_stream = StringIO(csv.encode("utf-8")) data = parse_csv(csv_stream) assert_that( data, only_contains({ "a": u"c", "b": u"d" }, { "a": u"c", "b": u"" }))
def _store_csv_data(bucket_name): file_stream = request.files["file"].stream try: if request.content_length > MAX_UPLOAD_SIZE: return _invalid_upload("file too large") try: parse_and_store( db, parse_csv(file_stream), bucket_name, app.logger) return render_template("upload_ok.html") except (ParseError, ValidationError) as e: return _invalid_upload(e.message) finally: file_stream.close()
def test_parse_empty_csv(self): csv_stream = StringIO("") data = parse_csv(csv_stream) assert_that(data, is_([]))