def test_read_datebase_wrapper_write(tmpdir): test_dir = tmpdir.join('test').strpath copytree('tests/data/test', test_dir) with Events.wrapping(test_dir, write_cache=False) as evs: evs.stop() comp = dircmp('tests/data/test', test_dir, []) assert comp.diff_files == [ 'task.csv', ] assert comp.left_only == [] assert comp.right_only == [ 'task.csv~', ] assert comp.funny_files == [] assert comp.subdirs == {}
def process_events(location: str) -> Dict[str, List[str]]: with Events.wrapping(location, write_cache=False) as evs: task_warning = False message_warning = False files = defaultdict(list) for ev in evs: if '-' in ev.task: task = ev.task.replace('-', '_') if not task_warning: pwarn('Task names containing ‘-’ will use ‘_’ in export') task_warning = True else: task = ev.task if ev.message and not message_warning: pwarn('Event messages aren’t supported by timew') message_warning = True out = [ f'inc {ev.start:%Y%m%dT%H%M%SZ}', ] if ev.delta: out.append(f'- {ev.start + ev.delta:%Y%m%dT%H%M%SZ}') out.append(f'# {task}\n') files[ev.start.strftime('%Y-%m')].append(' '.join(out)) return files
def test_read_datebase_wrapper(database: str, events: int): with Events.wrapping('tests/data/' + database, write_cache=False) as evs: assert len(evs) == events