# HG changeset patch # User cmlenz # Date 1185202233 0 # Node ID 7c3ecdd84e7c9571b2864e89ee8dc73f20fb6a1d # Parent 2d58319eea84b31b1a684b18c01e799e2cc306be More fixes for compat with Trac trunk. diff --git a/bitten/snapshot.py b/bitten/snapshot.py --- a/bitten/snapshot.py +++ b/bitten/snapshot.py @@ -33,6 +33,7 @@ added, and modified files are updated. """ +from datetime import datetime import logging import os import posixpath @@ -206,6 +207,11 @@ if name.startswith('/'): name = name[1:] new_path = posixpath.join(new_prefix, name) + + # tarfile can't handle unicode + if isinstance(new_path, unicode): + new_path = new_path.encode('utf-8') + if node.isdir: log.debug('Adding directory %s/ to archive', name) new_info = tarfile.TarInfo(new_path) @@ -237,6 +243,8 @@ new_info = tarfile.TarInfo(new_path) new_info.type = tarfile.REGTYPE new_info.mtime = node.last_modified + if isinstance(new_info.mtime, datetime): + new_info.mtime = time.mktime(new_info.mtime.timetuple()) new_info.size = node.content_length # FIXME: Subversion specific! This should really be an