]> arthur.barton.de Git - bup.git/blob - helpers.py
Add 'bup init' command.
[bup.git] / helpers.py
1 import sys, os, pwd, subprocess
2
3
4 def log(s):
5     sys.stderr.write(s)
6
7
8 def readpipe(argv):
9     p = subprocess.Popen(argv, stdout=subprocess.PIPE)
10     r = p.stdout.read()
11     p.wait()
12     return r
13
14
15 _username = None
16 def username():
17     global _username
18     if not _username:
19         uid = os.getuid()
20         try:
21             _username = pwd.getpwuid(uid)[0]
22         except KeyError:
23             _username = 'user%d' % uid
24     return _username
25
26
27 _userfullname = None
28 def userfullname():
29     global _userfullname
30     if not _userfullname:
31         uid = os.getuid()
32         try:
33             _userfullname = pwd.getpwuid(uid)[4].split(',')[0]
34         except KeyError:
35             _userfullname = 'user%d' % uid
36     return _userfullname
37
38
39 _hostname = None
40 def hostname():
41     global _hostname
42     if not _hostname:
43         try:
44             _hostname = readpipe(['hostname', '-f']).strip()
45         except OSError:
46             pass
47     return _hostname or 'localhost'