Skip to content

Commit 0ce52a7

Browse files
Update documentation
1 parent e05397b commit 0ce52a7

File tree

3 files changed

+18
-26
lines changed

3 files changed

+18
-26
lines changed
0 Bytes
Binary file not shown.

main/.doctrees/environment.pickle

-193 Bytes
Binary file not shown.

main/_modules/mache/permissions.html

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,9 @@ <h1>Source code for mache.permissions</h1><div class="highlight"><pre>
129129
<span class="sd"> &quot;&quot;&quot;</span>
130130

131131
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">base_paths</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
132-
<span class="n">directories</span> <span class="o">=</span> <span class="p">[</span><span class="n">base_paths</span><span class="p">]</span>
132+
<span class="n">paths</span> <span class="o">=</span> <span class="p">[</span><span class="n">Path</span><span class="p">(</span><span class="n">base_paths</span><span class="p">)]</span>
133133
<span class="k">else</span><span class="p">:</span>
134-
<span class="n">directories</span> <span class="o">=</span> <span class="n">base_paths</span>
134+
<span class="n">paths</span> <span class="o">=</span> <span class="p">[</span><span class="n">Path</span><span class="p">(</span><span class="n">path</span><span class="p">)</span> <span class="k">for</span> <span class="n">path</span> <span class="ow">in</span> <span class="n">base_paths</span><span class="p">]</span>
135135

136136
<span class="n">new_uid</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getuid</span><span class="p">()</span>
137137
<span class="n">new_gid</span> <span class="o">=</span> <span class="n">grp</span><span class="o">.</span><span class="n">getgrnam</span><span class="p">(</span><span class="n">group</span><span class="p">)</span><span class="o">.</span><span class="n">gr_gid</span>
@@ -154,33 +154,25 @@ <h1>Source code for mache.permissions</h1><div class="highlight"><pre>
154154

155155
<span class="n">mask</span> <span class="o">=</span> <span class="n">stat</span><span class="o">.</span><span class="n">S_IRWXU</span> <span class="o">|</span> <span class="n">stat</span><span class="o">.</span><span class="n">S_IRWXG</span> <span class="o">|</span> <span class="n">stat</span><span class="o">.</span><span class="n">S_IRWXO</span>
156156

157-
<span class="c1"># first the base directories that don&#39;t seem to be included in</span>
158-
<span class="c1"># os.walk()</span>
159-
<span class="k">for</span> <span class="n">directory</span> <span class="ow">in</span> <span class="n">directories</span><span class="p">:</span>
160-
<span class="k">try</span><span class="p">:</span>
161-
<span class="n">dir_stat</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">stat</span><span class="p">(</span><span class="n">directory</span><span class="p">)</span>
162-
<span class="k">except</span> <span class="ne">OSError</span><span class="p">:</span>
163-
<span class="k">continue</span>
164-
165-
<span class="n">perm</span> <span class="o">=</span> <span class="n">dir_stat</span><span class="o">.</span><span class="n">st_mode</span> <span class="o">&amp;</span> <span class="n">mask</span>
166-
167-
<span class="k">if</span> <span class="p">(</span>
168-
<span class="n">perm</span> <span class="o">==</span> <span class="n">exec_perm</span>
169-
<span class="ow">and</span> <span class="n">dir_stat</span><span class="o">.</span><span class="n">st_uid</span> <span class="o">==</span> <span class="n">new_uid</span>
170-
<span class="ow">and</span> <span class="n">dir_stat</span><span class="o">.</span><span class="n">st_gid</span> <span class="o">==</span> <span class="n">new_gid</span>
171-
<span class="p">):</span>
172-
<span class="k">pass</span>
157+
<span class="k">for</span> <span class="n">path</span> <span class="ow">in</span> <span class="n">paths</span><span class="p">:</span>
158+
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Updating file permissions for: </span><span class="si">{</span><span class="n">path</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span>
173159

174-
<span class="k">try</span><span class="p">:</span>
175-
<span class="n">os</span><span class="o">.</span><span class="n">chown</span><span class="p">(</span><span class="n">directory</span><span class="p">,</span> <span class="n">new_uid</span><span class="p">,</span> <span class="n">new_gid</span><span class="p">)</span>
176-
<span class="n">os</span><span class="o">.</span><span class="n">chmod</span><span class="p">(</span><span class="n">directory</span><span class="p">,</span> <span class="n">exec_perm</span><span class="p">)</span>
177-
<span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
178-
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">e</span><span class="si">}</span><span class="s1"> – skipping </span><span class="si">{</span><span class="n">directory</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span>
160+
<span class="c1"># start by updating the top level path (file or directory)</span>
161+
<span class="n">_update</span><span class="p">(</span>
162+
<span class="n">path</span><span class="p">,</span>
163+
<span class="n">uid</span><span class="o">=</span><span class="n">new_uid</span><span class="p">,</span>
164+
<span class="n">gid</span><span class="o">=</span><span class="n">new_gid</span><span class="p">,</span>
165+
<span class="n">read_write_perm</span><span class="o">=</span><span class="n">read_write_perm</span><span class="p">,</span>
166+
<span class="n">exec_perm</span><span class="o">=</span><span class="n">exec_perm</span><span class="p">,</span>
167+
<span class="n">mask</span><span class="o">=</span><span class="n">mask</span><span class="p">,</span>
168+
<span class="p">)</span>
179169

180-
<span class="n">paths_iter</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">Path</span><span class="p">(</span><span class="n">directory</span><span class="p">)</span><span class="o">.</span><span class="n">rglob</span><span class="p">(</span><span class="s1">&#39;*&#39;</span><span class="p">))</span>
181-
<span class="n">n_files</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="n">Path</span><span class="p">(</span><span class="n">directory</span><span class="p">)</span><span class="o">.</span><span class="n">rglob</span><span class="p">(</span><span class="s1">&#39;*&#39;</span><span class="p">))</span>
170+
<span class="c1"># iterate over the path recursively, only if it&#39;s a direcotry</span>
171+
<span class="k">if</span> <span class="n">path</span><span class="o">.</span><span class="n">is_file</span><span class="p">():</span>
172+
<span class="k">continue</span>
182173

183-
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Updating file permissions for: </span><span class="si">{</span><span class="n">directory</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span>
174+
<span class="n">paths_iter</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">Path</span><span class="p">(</span><span class="n">path</span><span class="p">)</span><span class="o">.</span><span class="n">rglob</span><span class="p">(</span><span class="s1">&#39;*&#39;</span><span class="p">))</span>
175+
<span class="n">n_files</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="n">Path</span><span class="p">(</span><span class="n">path</span><span class="p">)</span><span class="o">.</span><span class="n">rglob</span><span class="p">(</span><span class="s1">&#39;*&#39;</span><span class="p">))</span>
184176

185177
<span class="k">with</span> <span class="p">(</span>
186178
<span class="n">ThreadPoolExecutor</span><span class="p">(</span><span class="n">max_workers</span><span class="o">=</span><span class="n">workers</span><span class="p">)</span> <span class="k">as</span> <span class="n">pool</span><span class="p">,</span>

0 commit comments

Comments
 (0)