forked from ungleich-public/dynamicweb
26 lines
711 B
Python
26 lines
711 B
Python
|
|
import os
|
||
|
|
import random
|
||
|
|
import shutil
|
||
|
|
import stat
|
||
|
|
from contextlib import contextmanager
|
||
|
|
from tempfile import mkdtemp
|
||
|
|
|
||
|
|
|
||
|
|
@contextmanager
|
||
|
|
def temp_dir():
|
||
|
|
name = make_temp_dir()
|
||
|
|
yield name
|
||
|
|
shutil.rmtree(name)
|
||
|
|
|
||
|
|
|
||
|
|
def make_temp_dir():
|
||
|
|
if os.path.exists('/dev/shm/'):
|
||
|
|
if os.stat('/dev/shm').st_mode & stat.S_IWGRP:
|
||
|
|
dirname = 'django-cms-tests-%s' % random.randint(1, 1000000)
|
||
|
|
path = os.path.join('/dev/shm', dirname)
|
||
|
|
while os.path.exists(path):
|
||
|
|
dirname = 'django-cms-tests-%s' % random.randint(1, 1000000)
|
||
|
|
path = os.path.join('/dev/shm', dirname)
|
||
|
|
os.mkdir(path)
|
||
|
|
return path
|
||
|
|
return mkdtemp()
|