~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/bundle/serializer/__init__.py

  • Committer: John Arbash Meinel
  • Date: 2006-07-13 00:05:14 UTC
  • mfrom: (1861 +trunk)
  • mto: This revision was merged to the branch mainline in revision 1871.
  • Revision ID: john@arbash-meinel.com-20060713000514-aa62627aa0d4deb6
[merge] bzr.dev 1861

Show diffs side-by-side

added added

removed removed

Lines of Context:
124
124
    'Thu 2005-06-30 12:38:52.350850105 -0500'
125
125
    >>> format_highres_date(1120153132.350850105, 7200)
126
126
    'Thu 2005-06-30 19:38:52.350850105 +0200'
 
127
    >>> format_highres_date(1152428738.867522, 19800)
 
128
    'Sun 2006-07-09 12:35:38.867522001 +0530'
127
129
    """
128
130
    import time
129
131
    assert isinstance(t, float)
155
157
    (1120153132.3508501, 0)
156
158
    >>> unpack_highres_date('Thu 2005-06-30 19:38:52.350850105 +0200')
157
159
    (1120153132.3508501, 7200)
 
160
    >>> unpack_highres_date('Sun 2006-07-09 12:35:38.867522001 +0530')
 
161
    (1152428738.867522, 19800)
158
162
    >>> from bzrlib.osutils import local_time_offset
159
163
    >>> t = time.time()
160
164
    >>> o = local_time_offset()
185
189
    base_time = time.strptime(date[:dot_loc], "%a %Y-%m-%d %H:%M:%S")
186
190
    fract_seconds, offset = date[dot_loc:].split()
187
191
    fract_seconds = float(fract_seconds)
 
192
 
188
193
    offset = int(offset)
189
 
    offset = int(offset / 100) * 3600 + offset % 100
 
194
 
 
195
    hours = int(offset / 100)
 
196
    minutes = (offset % 100)
 
197
    seconds_offset = (hours * 3600) + (minutes * 60)
190
198
    
191
199
    # time.mktime returns localtime, but calendar.timegm returns UTC time
192
200
    timestamp = calendar.timegm(base_time)
193
 
    timestamp -= offset
 
201
    timestamp -= seconds_offset
194
202
    # Add back in the fractional seconds
195
203
    timestamp += fract_seconds
196
 
    return (timestamp, offset)
 
204
    return (timestamp, seconds_offset)
197
205
 
198
206
 
199
207
class BundleSerializer(object):