~mrooney/ecryptfs/nautilus-integration

« back to all changes in this revision

Viewing changes to src/python/ecryptapi.py

  • Committer: Michael Rooney
  • Date: 2009-05-26 23:54:55 UTC
  • Revision ID: mrooney@ubuntu.com-20090526235455-a0dn5fkakvl3l2oc
initial add of nautilus work

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/usr/bin/env python
2
2
#
3
3
#    ecryptapi.py, Copyright 2008 Mike Rooney (https://launchpad.net/~mrooney)
4
 
#    Date: 2009-5-28
5
 
#    Version: 0.4
 
4
#    Date: 2008-12-12
 
5
#    Version: 0.3
6
6
#
7
 
#    This is a python API for interacting with ecryptfs-utils and its
8
 
#    encrypted directories.
 
7
#    This is a graphical GTK utility to manage an encrypted ~/Private
 
8
#    directory, allowing the user to mount and unmount, as well as enable
 
9
#    auto-mounting at login.
9
10
#
10
11
#    This program is free software: you can redistribute it and/or modify
11
12
#    it under the terms of the GNU General Public License as published by
27
28
PRIVATE_LOCATION_FILE = os.path.expanduser("~/.ecryptfs/Private.mnt")
28
29
PRIVATE_LOCATION = os.path.exists(PRIVATE_LOCATION_FILE) and open(PRIVATE_LOCATION_FILE).read().strip()
29
30
 
30
 
def set_automount(doAuto):
 
31
def setAutoMount(doAuto):
31
32
    """Enable or disable automounting for this user."""
32
33
    if doAuto:
33
34
        command = "touch %s" % AUTOMOUNT_FILE
38
39
 
39
40
    return commands.getstatusoutput(command)
40
41
 
41
 
def get_automount():
 
42
def getAutoMount():
42
43
    """Return whether or not automounting is enabled for this user."""
43
44
    return os.path.exists(AUTOMOUNT_FILE)
44
45
 
45
 
def set_autounmount(doAuto):
 
46
def setAutoUnmount(doAuto):
46
47
    """Enable or disable automounting for this user."""
47
48
    if doAuto:
48
49
        command = "touch %s" % AUTOUMOUNT_FILE
51
52
 
52
53
    return commands.getstatusoutput(command)
53
54
 
54
 
def get_autounmount():
 
55
def getAutoUnmount():
55
56
    """Return whether or not automounting is enabled for this user."""
56
57
    return os.path.exists(AUTOUMOUNT_FILE)
57
58
 
58
 
def set_mounted(doMount):
 
59
def setMounted(doMount):
59
60
    """Set the mounted (unencrypted) state of ~/Private."""
60
61
    if doMount:
61
62
        command = "mount.ecryptfs_private"
64
65
 
65
66
    return commands.getstatusoutput(command)
66
67
 
67
 
def get_mounted():
 
68
def getMounted():
68
69
    """Return whether or not ~/Private is mounted (unencrypted)."""
69
70
    if PRIVATE_LOCATION:
70
71
        mounts = open("/proc/mounts").read()
72
73
    else:
73
74
        return False
74
75
 
75
 
def needs_setup():
76
 
    """
77
 
    Return whether or not an ecrypted directory has been set up by ecryptfs
78
 
    for this user, either Home or Private.
79
 
    """
 
76
def needsSetup():
80
77
    encryptedHome = False #TODO: implement
81
78
    encryptedPrivate = PRIVATE_LOCATION
82
79
    return not (encryptedHome or encryptedPrivate)