~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/osutils.py

  • Committer: Martin Pool
  • Date: 2005-03-15 05:19:54 UTC
  • Revision ID: mbp@sourcefrog.net-20050315051954-e4bdd6dfd26f8ecf
witty comment

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
18
 
19
19
import os, types, re, time, types
20
 
from stat import S_ISREG, S_ISDIR, ST_MODE, ST_SIZE
 
20
from stat import S_ISREG, S_ISDIR, S_ISLNK, ST_MODE, ST_SIZE
21
21
 
22
22
from errors import bailout
23
23
 
51
51
        return 'file'
52
52
    elif S_ISDIR(mode):
53
53
        return 'directory'
 
54
    elif S_ISLNK(mode):
 
55
        return 'symlink'
54
56
    else:
55
 
        bailout("can't handle file kind of %r" % fp)
 
57
        bailout("can't handle file kind with mode %o of %r" % (mode, f)) 
56
58
 
57
59
 
58
60
 
133
135
        import pwd
134
136
        uid = os.getuid()
135
137
        w = pwd.getpwuid(uid)
136
 
        realname, junk = w.pw_gecos.split(',', 1)
 
138
        gecos = w.pw_gecos
 
139
        comma = gecos.find(',')
 
140
        if comma == -1:
 
141
            realname = gecos
 
142
        else:
 
143
            realname = gecos[:comma]
137
144
        return '%s <%s@%s>' % (realname, w.pw_name, socket.getfqdn())
138
145
    except ImportError:
139
146
        pass
185
192
        tt = time.gmtime(t)
186
193
        offset = 0
187
194
    elif timezone == 'original':
188
 
        tt = time.gmtime(t - offset)
189
 
    else:
190
 
        assert timezone == 'local'
 
195
        if offset == None:
 
196
            offset = 0
 
197
        tt = time.gmtime(t + offset)
 
198
    elif timezone == 'local':
191
199
        tt = time.localtime(t)
192
200
        offset = local_time_offset()
 
201
    else:
 
202
        bailout("unsupported timezone format %r",
 
203
                ['options are "utc", "original", "local"'])
193
204
 
194
205
    return (time.strftime("%a %Y-%m-%d %H:%M:%S", tt)
195
206
            + ' %+03d%02d' % (offset / 3600, (offset / 60) % 60))