diff --git a/server/filter.py b/server/filter.py index fb79fcbe..dab8cb8a 100644 --- a/server/filter.py +++ b/server/filter.py @@ -526,7 +526,10 @@ class FileContainer: try: firstLine = handler.readline() # Computes the MD5 of the first line. - self.__hash = md5sum(firstLine).digest() + if isinstance(firstLine, unicode): + self.__hash = md5sum(firstLine.encode('utf-8')).digest() + else: + self.__hash = md5sum(firstLine).digest() # Start at the beginning of file if tail mode is off. if tail: handler.seek(0, 2) @@ -546,7 +549,10 @@ class FileContainer: fcntl.fcntl(fd, fcntl.F_SETFD, fd | fcntl.FD_CLOEXEC) firstLine = self.__handler.readline() # Computes the MD5 of the first line. - myHash = md5sum(firstLine).digest() + if isinstance(firstLine, unicode): + myHash = md5sum(firstLine.encode('utf-8')).digest() + else: + myHash = md5sum(firstLine).digest() stats = os.fstat(self.__handler.fileno()) # Compare hash and inode if self.__hash != myHash or self.__ino != stats.st_ino: