|
5 | 5 | <meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="../../genindex.html" /><link rel="search" title="Search" href="../../search.html" />
|
6 | 6 |
|
7 | 7 | <!-- Generated with Sphinx 7.4.7 and Furo 2024.08.06 -->
|
8 |
| - <title>pygobbler.allocate_upload_directory - pygobbler 0.0.post1.dev1+g9a21cf0 documentation</title> |
| 8 | + <title>pygobbler.allocate_upload_directory - pygobbler 0.0.post1.dev1+gbac8f38 documentation</title> |
9 | 9 | <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
|
10 | 10 | <link rel="stylesheet" type="text/css" href="../../_static/styles/furo.css?v=354aac6f" />
|
11 | 11 | <link rel="stylesheet" type="text/css" href="../../_static/styles/furo-extensions.css?v=302659d7" />
|
|
165 | 165 | </label>
|
166 | 166 | </div>
|
167 | 167 | <div class="header-center">
|
168 |
| - <a href="../../index.html"><div class="brand">pygobbler 0.0.post1.dev1+g9a21cf0 documentation</div></a> |
| 168 | + <a href="../../index.html"><div class="brand">pygobbler 0.0.post1.dev1+gbac8f38 documentation</div></a> |
169 | 169 | </div>
|
170 | 170 | <div class="header-right">
|
171 | 171 | <div class="theme-toggle-container theme-toggle-header">
|
|
189 | 189 | <div class="sidebar-sticky"><a class="sidebar-brand" href="../../index.html">
|
190 | 190 |
|
191 | 191 |
|
192 |
| - <span class="sidebar-brand-text">pygobbler 0.0.post1.dev1+g9a21cf0 documentation</span> |
| 192 | + <span class="sidebar-brand-text">pygobbler 0.0.post1.dev1+gbac8f38 documentation</span> |
193 | 193 |
|
194 | 194 | </a><form class="sidebar-search-container" method="get" action="../../search.html" role="search">
|
195 | 195 | <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
@@ -248,24 +248,31 @@ <h1>Source code for pygobbler.allocate_upload_directory</h1><div class="highligh
|
248 | 248 |
|
249 | 249 | <div class="viewcode-block" id="allocate_upload_directory">
|
250 | 250 | <a class="viewcode-back" href="../../api/pygobbler.html#pygobbler.allocate_upload_directory.allocate_upload_directory">[docs]</a>
|
251 |
| -<span class="k">def</span><span class="w"> </span><span class="nf">allocate_upload_directory</span><span class="p">(</span><span class="n">staging</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span> |
| 251 | +<span class="k">def</span><span class="w"> </span><span class="nf">allocate_upload_directory</span><span class="p">(</span><span class="n">staging</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">create</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span> |
252 | 252 | <span class="w"> </span><span class="sd">"""</span>
|
253 | 253 | <span class="sd"> Allocate a subdirectory in the staging directory to prepare files for upload via :py:func:`~.upload_directory`.</span>
|
254 | 254 |
|
255 | 255 | <span class="sd"> Args:</span>
|
256 | 256 | <span class="sd"> staging:</span>
|
257 | 257 | <span class="sd"> Path to the staging directory.</span>
|
258 | 258 |
|
| 259 | +<span class="sd"> create:</span> |
| 260 | +<span class="sd"> Whether to actually create the subdirectory.</span> |
| 261 | + |
259 | 262 | <span class="sd"> Returns:</span>
|
260 | 263 | <span class="sd"> Path to a new subdirectory for staging uploads.</span>
|
| 264 | +<span class="sd"> If ``create = False``, a name is chosen but the subdirectory is not created.</span> |
261 | 265 | <span class="sd"> """</span>
|
262 | 266 | <span class="n">trial</span> <span class="o">=</span> <span class="n">tempfile</span><span class="o">.</span><span class="n">mkdtemp</span><span class="p">(</span><span class="nb">dir</span><span class="o">=</span><span class="n">staging</span><span class="p">)</span>
|
| 267 | + |
263 | 268 | <span class="c1"># Doing this little shuffle to get the right permissions. tempfile loves to</span>
|
264 | 269 | <span class="c1"># create 0o700 directories that the gobbler service account can't actually</span>
|
265 | 270 | <span class="c1"># read, so we just delete it and create it again under the more permissive</span>
|
266 | 271 | <span class="c1"># umask. Unfortunately we can't use chmod as this screws up FACLs.</span>
|
267 | 272 | <span class="n">os</span><span class="o">.</span><span class="n">rmdir</span><span class="p">(</span><span class="n">trial</span><span class="p">)</span>
|
268 |
| - <span class="n">os</span><span class="o">.</span><span class="n">mkdir</span><span class="p">(</span><span class="n">trial</span><span class="p">)</span> |
| 273 | + |
| 274 | + <span class="k">if</span> <span class="n">create</span><span class="p">:</span> |
| 275 | + <span class="n">os</span><span class="o">.</span><span class="n">mkdir</span><span class="p">(</span><span class="n">trial</span><span class="p">)</span> |
269 | 276 | <span class="k">return</span> <span class="n">trial</span></div>
|
270 | 277 |
|
271 | 278 | </pre></div>
|
@@ -300,7 +307,7 @@ <h1>Source code for pygobbler.allocate_upload_directory</h1><div class="highligh
|
300 | 307 |
|
301 | 308 | </aside>
|
302 | 309 | </div>
|
303 |
| -</div><script src="../../_static/documentation_options.js?v=43a89921"></script> |
| 310 | +</div><script src="../../_static/documentation_options.js?v=64192fd2"></script> |
304 | 311 | <script src="../../_static/doctools.js?v=9a2dae69"></script>
|
305 | 312 | <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
306 | 313 | <script src="../../_static/scripts/furo.js?v=5fa4622c"></script>
|
|
0 commit comments