本文整理汇总了Python中taxi.timesheet.parser.TimesheetParser类的典型用法代码示例。如果您正苦于以下问题:Python TimesheetParser类的具体用法?Python TimesheetParser怎么用?Python TimesheetParser使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TimesheetParser类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_alias_before_date
def test_alias_before_date():
content = """my_alias_1 1 foo bar
11.10.2013
my_alias 2 foo"""
with pytest.raises(ParseError):
TimesheetParser.parse(content)
content = """# comment
11.10.2013
my_alias 2 foo"""
lines = TimesheetParser.parse(content)
assert len(lines) == 3
示例2: test_parsing
def test_parsing():
contents = """01.01.13
foobar 0900-1000 baz
# comment
foo -1100 bar
2013/09/23
bar 10:00-? ?
foo? 2 foobar"""
lines = TimesheetParser.parse(contents)
assert len(lines) == 9
assert isinstance(lines[0], DateLine)
assert lines[0].date == datetime.date(2013, 1, 1)
assert isinstance(lines[1], TextLine)
assert lines[1].text == ''
assert isinstance(lines[2], EntryLine)
assert lines[2].alias == 'foobar'
assert lines[2].duration == (datetime.time(9, 0), datetime.time(10, 0))
assert lines[2].description == 'baz'
assert isinstance(lines[3], TextLine)
assert lines[3].text == '# comment'
assert lines[4].alias == 'foo'
assert lines[4].duration == (None, datetime.time(11, 0))
assert lines[4].description == 'bar'
assert isinstance(lines[6], DateLine)
assert lines[6].date == datetime.date(2013, 9, 23)
assert isinstance(lines[7], EntryLine)
assert lines[7].duration == (datetime.time(10, 0), None)
assert isinstance(lines[8], EntryLine)
assert lines[8].alias == 'foo'
assert lines[8].ignored
示例3: test_stripping_not_empty
def test_stripping_not_empty():
lines = TimesheetParser.parse("""
10.01.2013
foobar 0900-1000 baz
""")
assert len(lines) == 3
示例4: test_parse_time_minutes_out_of_range
def test_parse_time_minutes_out_of_range():
with pytest.raises(ParseError):
TimesheetParser.parse_time('-1061')
示例5: test_parse_time_invalid_string
def test_parse_time_invalid_string():
with pytest.raises(ParseError):
TimesheetParser.parse_time('foo')
示例6: test_parse_time_valid_timespan_without_end
def test_parse_time_valid_timespan_without_end():
assert TimesheetParser.parse_time('09:00-?') == (datetime.time(9, 0), None)
示例7: test_parse_time_valid_timespan
def test_parse_time_valid_timespan():
assert TimesheetParser.parse_time('0900-1015') == (datetime.time(9, 0),
datetime.time(10, 15))
示例8: test_parse_time_valid_integer
def test_parse_time_valid_integer():
assert TimesheetParser.parse_time('3') == 3.0
示例9: test_extract_date_yyyy_mm_dd_missing_separator
def test_extract_date_yyyy_mm_dd_missing_separator():
with pytest.raises(ValueError):
assert TimesheetParser.extract_date('2012/0801')
示例10: test_detect_formatting_padded_time_and_alias
def test_detect_formatting_padded_time_and_alias():
formatting = TimesheetParser.detect_formatting(
'foobar 1500-1600 description'
)
assert formatting['width'] == (8, 13)
示例11: test_detect_formatting_padded_time
def test_detect_formatting_padded_time():
formatting = TimesheetParser.detect_formatting(
'foobar 1500-1600 description'
)
assert formatting['width'][1] == 13
示例12: test_detect_formatting_padded_alias
def test_detect_formatting_padded_alias():
formatting = TimesheetParser.detect_formatting('foobar 4 description')
assert formatting['width'][0] == 9
示例13: test_extract_date_short_year
def test_extract_date_short_year():
assert TimesheetParser.extract_date('05/08/12') == datetime.date(2012, 8, 5)
示例14: test_stripping_empty
def test_stripping_empty():
lines = TimesheetParser.parse("""
""")
assert len(lines) == 0
示例15: test_empty
def test_empty():
assert len(TimesheetParser.parse('')) == 0