示例#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_([]))