changeset 369:7c3ecdd84e7c

More fixes for compat with Trac trunk.
author cmlenz
date Mon, 23 Jul 2007 14:50:33 +0000
parents 2d58319eea84
children fa5400c2879d
files bitten/snapshot.py
diffstat 1 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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
Copyright (C) 2012-2017 Edgewall Software