diff --git a/jc/parsers/rsync_s.py b/jc/parsers/rsync_s.py index 43a04207..11ef6395 100644 --- a/jc/parsers/rsync_s.py +++ b/jc/parsers/rsync_s.py @@ -174,108 +174,110 @@ def parse( last_process: str = '' line: str = '' - try: + update_type = { + '<': 'file sent', + '>': 'file received', + 'c': 'local change or creation', + 'h': 'hard link', + '.': 'not updated', + '*': 'message', + '+': None + } + file_type = { + 'f': 'file', + 'd': 'directory', + 'L': 'symlink', + 'D': 'device', + 'S': 'special file', + '+': None + } + + checksum_or_value_different = { + 'c': True, + '.': False, + '+': None, + ' ': None, + '?': None + } + + size_different = { + 's': True, + '.': False, + '+': None, + ' ': None, + '?': None + } + + modification_time_different = { + 't': True, + '.': False, + '+': None, + ' ': None, + '?': None + } + + permissions_different = { + 'p': True, + '.': False, + '+': None, + ' ': None, + '?': None + } + + owner_different = { + 'o': True, + '.': False, + '+': None, + ' ': None, + '?': None + } + + group_different = { + 'g': True, + '.': False, + '+': None, + ' ': None, + '?': None + } + + acl_different = { + 'a': True, + '.': False, + '+': None, + ' ': None, + '?': None + } + + extended_attribute_different = { + 'x': True, + '.': False, + '+': None, + ' ': None, + '?': None + } + + file_line_re = re.compile(r'(?P[<>ch.*][fdlDS][c.+ ?][s.+ ?][t.+ ?][p.+ ?][o.+ ?][g.+ ?][u.+ ?][a.+ ?][x.+ ?]) (?P.+)') + file_line_mac_re = re.compile(r'(?P[<>ch.*][fdlDS][c.+ ?][s.+ ?][t.+ ?][p.+ ?][o.+ ?][g.+ ?][x.+ ?]) (?P.+)') + stat1_line_re = re.compile(r'(sent)\s+(?P[0-9,]+)\s+(bytes)\s+(received)\s+(?P[0-9,]+)\s+(bytes)\s+(?P[0-9,.]+)\s+(bytes/sec)') + stat2_line_re = re.compile(r'(total size is)\s+(?P[0-9,]+)\s+(speedup is)\s+(?P[0-9,.]+)') + + file_line_log_re = re.compile(r'(?P\d\d\d\d/\d\d/\d\d)\s+(?P