예제 #1
0
파일: test_csv.py 프로젝트: roc/backdrop
    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"}))
예제 #2
0
파일: test_csv.py 프로젝트: roc/backdrop
    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"}))
예제 #3
0
파일: test_csv.py 프로젝트: roc/backdrop
    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"}))
예제 #4
0
파일: test_csv.py 프로젝트: roc/backdrop
    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"}))
예제 #5
0
파일: test_csv.py 프로젝트: roc/backdrop
    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"ù"}))
예제 #6
0
파일: test_csv.py 프로젝트: roc/backdrop
    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"}
        ))
예제 #7
0
파일: test_csv.py 프로젝트: roc/backdrop
    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"}
        ))
예제 #8
0
파일: test_csv.py 프로젝트: roc/backdrop
    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"}
        ))
예제 #9
0
파일: test_csv.py 프로젝트: roc/backdrop
    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"ù"}
        ))
예제 #10
0
파일: test_csv.py 프로젝트: roc/backdrop
    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""}
        ))
예제 #11
0
파일: test_csv.py 프로젝트: roc/backdrop
    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"
                    }))
예제 #12
0
    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()
예제 #13
0
파일: test_csv.py 프로젝트: roc/backdrop
    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""
            }))
예제 #14
0
파일: admin_ui.py 프로젝트: roc/backdrop
    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()
예제 #15
0
파일: test_csv.py 프로젝트: roc/backdrop
    def test_parse_empty_csv(self):
        csv_stream = StringIO("")

        data = parse_csv(csv_stream)

        assert_that(data, is_([]))
예제 #16
0
파일: test_csv.py 프로젝트: roc/backdrop
    def test_parse_empty_csv(self):
        csv_stream = StringIO("")

        data = parse_csv(csv_stream)

        assert_that(data, is_([]))