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+g4f7c3b4 documentation</ title >
8
+ < title > pygobbler.allocate_upload_directory - pygobbler 0.0.post1.dev1+ga8b3928 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+g4f7c3b4 documentation</ div > </ a >
168
+ < a href ="../../index.html "> < div class ="brand "> pygobbler 0.0.post1.dev1+ga8b3928 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+g4f7c3b4 documentation</ span >
192
+ < span class ="sidebar-brand-text "> pygobbler 0.0.post1.dev1+ga8b3928 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 ">
242
242
</ div >
243
243
< article role ="main " id ="furo-main-content ">
244
244
< h1 > Source code for pygobbler.allocate_upload_directory</ h1 > < div class ="highlight "> < pre >
245
+ < span > </ span > < span class ="kn "> import</ span > < span class ="w "> </ span > < span class ="nn "> os</ span >
246
+ < span class ="kn "> import</ span > < span class ="w "> </ span > < span class ="nn "> tempfile</ span >
247
+
248
+
245
249
< div class ="viewcode-block " id ="allocate_upload_directory ">
246
250
< a class ="viewcode-back " href ="../../api/pygobbler.html#pygobbler.allocate_upload_directory.allocate_upload_directory "> [docs]</ a >
247
- < span > </ span > < 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 ="o "> -></ span > < span class ="nb "> str</ span > < span class ="p "> :</ span >
248
252
< span class ="w "> </ span > < span class ="sd "> """</ span >
249
- < span class ="sd "> Allocate a subdirectory in the staging directory to prepare files for</ span >
250
- < span class ="sd "> upload via :py:func:`~.upload_directory`.</ span >
253
+ < span class ="sd "> Allocate a subdirectory in the staging directory to prepare files for upload via :py:func:`~.upload_directory`.</ span >
251
254
252
255
< span class ="sd "> Args:</ span >
253
256
< span class ="sd "> staging:</ span >
@@ -256,8 +259,14 @@ <h1>Source code for pygobbler.allocate_upload_directory</h1><div class="highligh
256
259
< span class ="sd "> Returns:</ span >
257
260
< span class ="sd "> Path to a new subdirectory for staging uploads.</ span >
258
261
< span class ="sd "> """</ span >
259
- < span class ="kn "> import</ span > < span class ="w "> </ span > < span class ="nn "> tempfile</ span >
260
- < span class ="k "> return</ 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 > </ div >
262
+ < 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 >
263
+ < span class ="c1 "> # Doing this little shuffle to get the right permissions. tempfile loves to</ span >
264
+ < span class ="c1 "> # create 0o700 directories that the gobbler service account can't actually</ span >
265
+ < span class ="c1 "> # read, so we just delete it and create it again under the more permissive</ span >
266
+ < span class ="c1 "> # umask. Unfortunately we can't use chmod as this screws up FACLs.</ span >
267
+ < 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 >
269
+ < span class ="k "> return</ span > < span class ="n "> trial</ span > </ div >
261
270
262
271
</ pre > </ div >
263
272
</ article >
@@ -291,7 +300,7 @@ <h1>Source code for pygobbler.allocate_upload_directory</h1><div class="highligh
291
300
292
301
</ aside >
293
302
</ div >
294
- </ div > < script src ="../../_static/documentation_options.js?v=2106109f "> </ script >
303
+ </ div > < script src ="../../_static/documentation_options.js?v=9d5301ec "> </ script >
295
304
< script src ="../../_static/doctools.js?v=9a2dae69 "> </ script >
296
305
< script src ="../../_static/sphinx_highlight.js?v=dc90522c "> </ script >
297
306
< script src ="../../_static/scripts/furo.js?v=5fa4622c "> </ script >
0 commit comments