Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sagesmc
Path: blob/master/src/sage/dev/misc.py
8815 views
1
"""
2
Auxiliary functions for the dev scripts
3
4
These are implemented in the Sage library outside of
5
:mod:`sage.env`. To reduce the risk of things breaking during
6
development, a fallback is provided.
7
"""
8
9
#*****************************************************************************
10
# Copyright (C) 2013 Volker Braun <[email protected]>
11
#
12
# Distributed under the terms of the GNU General Public License (GPL)
13
# as published by the Free Software Foundation; either version 2 of
14
# the License, or (at your option) any later version.
15
# http://www.gnu.org/licenses/
16
#*****************************************************************************
17
18
19
_sage_tmp = None
20
21
def get_sage_tmp():
22
"""
23
Get the Sage temporary directory.
24
25
OUTPUT:
26
27
String.
28
29
EXAMPLES::
30
31
sage: from sage.dev.misc import get_sage_tmp
32
sage: get_sage_tmp() == SAGE_TMP
33
True
34
"""
35
global _sage_tmp
36
if _sage_tmp is not None:
37
return _sage_tmp
38
try:
39
from sage.misc.misc import SAGE_TMP
40
_sage_tmp = SAGE_TMP
41
except ImportError:
42
from tempfile import mkdtemp
43
_sage_tmp = mkdtemp()
44
return _sage_tmp
45
46
47
def tmp_filename():
48
"""
49
Return a temporary file.
50
51
OUTPUT:
52
53
String. The absolute filename of the temporary file.
54
55
EXAMPLES::
56
57
sage: from sage.dev.misc import tmp_filename
58
sage: tmp_filename().startswith(str(SAGE_TMP))
59
True
60
"""
61
try:
62
from sage.misc.misc import tmp_filename
63
return tmp_filename()
64
except ImportError:
65
from tempfile import NamedTemporaryFile
66
f = NamedTemporaryFile(dir=get_sage_tmp())
67
f.close()
68
return f.name
69
70
71
def tmp_dir():
72
"""
73
Return a temporary directory.
74
75
OUTPUT:
76
77
String. The absolute filename of the directory.
78
79
EXAMPLES::
80
81
sage: from sage.dev.misc import tmp_dir
82
sage: tmp_dir().startswith(str(SAGE_TMP))
83
True
84
"""
85
try:
86
from sage.misc.misc import tmp_dir
87
return tmp_dir()
88
except ImportError:
89
from tempfile import mkdtemp
90
return mkdtemp(dir=get_sage_tmp())
91
92
93