diff options
author | Mattias Andrée <maandree@operamail.com> | 2012-10-08 18:58:24 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2012-10-08 18:58:24 +0200 |
commit | e600c3cb471bb23792a959e885f504cd48757bb5 (patch) | |
tree | 1b9172f695c1850c55b43d01079d2f4dba43c584 | |
parent | 21eb7358f2cacd339e3670cad080608524510a63 (diff) | |
download | ponysay-e600c3cb471bb23792a959e885f504cd48757bb5.tar.gz ponysay-e600c3cb471bb23792a959e885f504cd48757bb5.tar.bz2 ponysay-e600c3cb471bb23792a959e885f504cd48757bb5.zip |
m + ensure that change stuff always has proper permissions
-rwxr-xr-x | ponysay.py | 15 | ||||
-rwxr-xr-x | setup.py | 4 |
2 files changed, 16 insertions, 3 deletions
@@ -804,10 +804,13 @@ class Ponysay(): ## Get and in necessary make cache directory cachedir = '/var/cache/ponysay' + shared = True if not os.path.isdir(cachedir): cachedir = HOME + '/.cache/ponysay' + shared = False if not os.path.isdir(cachedir): os.makedirs(cachedir) + _cachedir = '\'' + cachedir.replace('\'', '\'\\\'\'') + '\'' ## KMS support version control, clean everything if not matching newversion = False @@ -815,7 +818,7 @@ class Ponysay(): newversion = True else: with open(cachedir + '/.version', 'rb') as cachev: - if cachev.read().decode('utf8', 'replace').replace('\n', '') == KMS_VERSION: + if cachev.read().decode('utf8', 'replace').replace('\n', '') != KMS_VERSION: newversion = True if newversion: for cached in os.listdir(cachedir): @@ -826,6 +829,8 @@ class Ponysay(): os.remove(cached) with open(cachedir + '/.version', 'w+') as cachev: cachev.write(KMS_VERSION) + if shared: + Popen('chmod 666 -- ' + _cachedir + '/.version', shell=True).wait() ## Get kmspony directory and kmspony file kmsponies = cachedir + '/kmsponies/' + palettefile @@ -848,16 +853,24 @@ class Ponysay(): if not os.path.isfile(protokmspony): if not os.path.isdir(protokmsponydir): os.makedirs(protokmsponydir) + if shared: + Popen('chmod -R 6777 -- ' + _cachedir, shell=True).wait() if not os.system('ponysay2ttyponysay < ' + _pony + ' > ' + _protokmspony) == 0: sys.stderr.write('Unable to run ponysay2ttyponysay successfully, you need util-say for KMS support\n') exit(1) + if shared: + Popen('chmod 666 -- ' + _protokmspony, shell=True).wait() ## Create kmspony if not os.path.isdir(kmsponydir): os.makedirs(kmsponydir) + if shared: + Popen('chmod -R 6777 -- ' + _cachedir, shell=True).wait() if not os.system('tty2colourfultty -p ' + palette + ' < ' + _protokmspony + ' > ' + _kmspony) == 0: sys.stderr.write('Unable to run tty2colourfultty successfully, you need util-say for KMS support\n') exit(1) + if shared: + Popen('chmod 666 -- ' + _kmspony, shell=True).wait() return kmspony @@ -505,9 +505,9 @@ class Setup(): print('Creating directory ' + dir) os.mkdir(dir) print('Setting permission mode mask for ' + dir + ' to 6777') - Popen('chmod -R 6777 -- ' + dir, shell=True).wait() + Popen('chmod -R 6777 -- \'' + dir.replace('\'', '\'\\\'\'') + '\'', shell=True).wait() print('Setting group for ' + dir + ' users') - Popen('chown -R :users -- ' + dir, shell=True).wait() + Popen('chown -R :users -- \'' + dir.replace('\'', '\'\\\'\'') + '\'', shell=True).wait() for shell in [item[0] for item in shells]: if conf[shell] is not None: for command in commands: |