Example #1
0
def parse_two():  # slower than parse_one
    filename = Settings().get_timelog_file()
    for line in open(filename):
        try:
            time, entry = line.split(': ', 1)
            time = parse_datetime(time)
        except ValueError:
            continue
Example #2
0
def parse_two():  # slower than parse_one
    filename = Settings().get_timelog_file()
    for line in open(filename):
        try:
            time, entry = line.split(': ', 1)
            time = parse_datetime(time)
        except ValueError:
            continue
Example #3
0
def parse_three():  # fastest
    filename = Settings().get_timelog_file()
    for line in open(filename):
        time, sep, entry = line.partition(': ')
        if not sep:
            continue
        try:
            time = parse_datetime(time)
        except ValueError:
            continue
Example #4
0
def parse_one():
    filename = Settings().get_timelog_file()
    for line in open(filename):
        if ': ' not in line:
            continue
        time, entry = line.split(': ', 1)
        try:
            time = parse_datetime(time)
        except ValueError:
            continue
Example #5
0
def parse_three():  # fastest
    filename = Settings().get_timelog_file()
    for line in open(filename):
        time, sep, entry = line.partition(': ')
        if not sep:
            continue
        try:
            time = parse_datetime(time)
        except ValueError:
            continue
Example #6
0
def parse_one():
    filename = Settings().get_timelog_file()
    for line in open(filename):
        if ': ' not in line:
            continue
        time, entry = line.split(': ', 1)
        try:
            time = parse_datetime(time)
        except ValueError:
            continue
Example #7
0
def parse_and_strip():
    filename = Settings().get_timelog_file()
    for line in open(filename):
        time, sep, entry = line.partition(': ')
        if not sep:
            continue
        try:
            time = parse_datetime(time)
        except ValueError:
            continue
        entry = entry.strip()
Example #8
0
def parse_and_strip():
    filename = Settings().get_timelog_file()
    for line in open(filename):
        time, sep, entry = line.partition(': ')
        if not sep:
            continue
        try:
            time = parse_datetime(time)
        except ValueError:
            continue
        entry = entry.strip()
Example #9
0
def parse_and_collect():
    items = []
    filename = Settings().get_timelog_file()
    for line in open(filename):
        time, sep, entry = line.partition(': ')
        if not sep:
            continue
        try:
            time = parse_datetime(time)
        except ValueError:
            continue
        entry = entry.strip()
        items.append((time, entry))
    return items
Example #10
0
def parse_and_collect():
    items = []
    filename = Settings().get_timelog_file()
    for line in open(filename):
        time, sep, entry = line.partition(': ')
        if not sep:
            continue
        try:
            time = parse_datetime(time)
        except ValueError:
            continue
        entry = entry.strip()
        items.append((time, entry))
    return items
Example #11
0
def parse_and_sort_unicode_piecemeal():
    items = []
    filename = Settings().get_timelog_file()
    for line in open(filename, 'rb'):
        time, sep, entry = line.partition(b': ')
        if not sep:
            continue
        try:
            time = parse_datetime(time.decode('ASCII'))
        except (ValueError, UnicodeError):
            continue
        entry = entry.strip().decode('UTF-8')
        items.append((time, entry))
    items.sort(key=itemgetter(0))
    return items
Example #12
0
def parse_and_sort_unicode():
    items = []
    filename = Settings().get_timelog_file()
    for line in open(filename, 'rb').read().decode('UTF-8').splitlines():
        time, sep, entry = line.partition(': ')
        if not sep:
            continue
        try:
            time = parse_datetime(time)
        except ValueError:
            continue
        entry = entry.strip()
        items.append((time, entry))
    items.sort(key=itemgetter(0))
    return items
Example #13
0
def parse_and_sort_incorrectly():
    items = []
    filename = Settings().get_timelog_file()
    for line in open(filename):
        time, sep, entry = line.partition(': ')
        if not sep:
            continue
        try:
            time = parse_datetime(time)
        except ValueError:
            continue
        entry = entry.strip()
        items.append((time, entry))
    items.sort()  # XXX: can reorder lines
    return items
Example #14
0
def parse_and_sort_unicode_piecemeal():
    items = []
    filename = Settings().get_timelog_file()
    for line in open(filename, 'rb'):
        time, sep, entry = line.partition(b': ')
        if not sep:
            continue
        try:
            time = parse_datetime(time.decode('ASCII'))
        except (ValueError, UnicodeError):
            continue
        entry = entry.strip().decode('UTF-8')
        items.append((time, entry))
    items.sort(key=itemgetter(0))
    return items
Example #15
0
def parse_and_sort_unicode():
    items = []
    filename = Settings().get_timelog_file()
    for line in open(filename, 'rb').read().decode('UTF-8').splitlines():
        time, sep, entry = line.partition(': ')
        if not sep:
            continue
        try:
            time = parse_datetime(time)
        except ValueError:
            continue
        entry = entry.strip()
        items.append((time, entry))
    items.sort(key=itemgetter(0))
    return items
Example #16
0
def parse_and_sort_incorrectly():
    items = []
    filename = Settings().get_timelog_file()
    for line in open(filename):
        time, sep, entry = line.partition(': ')
        if not sep:
            continue
        try:
            time = parse_datetime(time)
        except ValueError:
            continue
        entry = entry.strip()
        items.append((time, entry))
    items.sort()  # XXX: can reorder lines
    return items