summaryrefslogtreecommitdiff
path: root/doc/sample_html/cogapp_makefiles.html
blob: d1c7e56e78696169175c9332784fb00f87efe1b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Coverage for cogapp\makefiles</title>
<link rel='stylesheet' href='style.css' type='text/css'>
<script src='jquery-1.3.2.min.js'></script>
<script>
function toggle_lines(btn, cls) {
    var btn = $(btn);
    if (btn.hasClass("hide")) {
        $("#source ."+cls).removeClass("hide");
        btn.removeClass("hide");
    }
    else {
        $("#source ."+cls).addClass("hide");
        btn.addClass("hide");
    }
}
</script>
</head>
<body>
<div id='header'>
    <div class='content'>
        <h1>Coverage for <b>cogapp\makefiles</b> :
            <span class='pc_cov'>21%</span>
        </h1>
        <h2 class='stats'>
            29 statements
            <span class='run hide' onclick='toggle_lines(this, "run")'>6 run</span>
            <span class='exc' onclick='toggle_lines(this, "exc")'>3 excluded</span>
            <span class='mis' onclick='toggle_lines(this, "mis")'>23 missing</span>
        </h2>
    </div>
</div>

<div id='source'>
<table cellspacing='0' cellpadding='0'>
<tr>
<td class='linenos' valign='top'>
<p class='pln'>1</p>
<p class='pln'>2</p>
<p class='pln'>3</p>
<p class='pln'>4</p>
<p class='pln'>5</p>
<p class='pln'>6</p>
<p class='stm run hide'>7</p>
<p class='stm run hide'>8</p>
<p class='pln'>9</p>
<p class='stm run hide'>10</p>
<p class='stm run hide'>11</p>
<p class='pln'>12</p>
<p class='stm run hide'>13</p>
<p class='pln'>14</p>
<p class='pln'>15</p>
<p class='stm mis'>16</p>
<p class='stm mis'>17</p>
<p class='stm mis'>18</p>
<p class='stm mis'>19</p>
<p class='stm mis'>20</p>
<p class='stm mis'>21</p>
<p class='stm mis'>22</p>
<p class='stm mis'>23</p>
<p class='stm mis'>24</p>
<p class='stm mis'>25</p>
<p class='stm mis'>26</p>
<p class='stm mis'>27</p>
<p class='pln'>28</p>
<p class='stm mis'>29</p>
<p class='stm mis'>30</p>
<p class='stm mis'>31</p>
<p class='pln'>32</p>
<p class='stm run hide'>33</p>
<p class='pln'>34</p>
<p class='pln'>35</p>
<p class='pln'>36</p>
<p class='stm mis'>37</p>
<p class='stm mis'>38</p>
<p class='stm mis'>39</p>
<p class='stm mis'>40</p>
<p class='stm mis'>41</p>
<p class='pln'>42</p>
<p class='stm mis'>43</p>
<p class='stm mis'>44</p>
<p class='stm mis'>45</p>
<p class='pln'>46</p>
<p class='exc'>47</p>
<p class='pln'>48</p>
<p class='exc'>49</p>
<p class='pln'>50</p>
<p class='pln'>51</p>
<p class='pln'>52</p>
<p class='pln'>53</p>
<p class='pln'>54</p>
<p class='pln'>55</p>
<p class='pln'>56</p>
<p class='pln'>57</p>
<p class='pln'>58</p>
<p class='pln'>59</p>
<p class='pln'>60</p>
<p class='pln'>61</p>
<p class='pln'>62</p>
<p class='pln'>63</p>
<p class='exc'>64</p>
    
</td>
<td class='text' valign='top'>
<p class='pln'>&quot;&quot;&quot; Dictionary-to-filetree functions, to create test files for testing.</p>
<p class='pln'>&nbsp; &nbsp; http://nedbatchelder.com/code/cog</p>
<p class='pln'>&nbsp;</p>
<p class='pln'>&nbsp; &nbsp; Copyright 2004-2009, Ned Batchelder.</p>
<p class='pln'>&quot;&quot;&quot;</p>
<p class='pln'>&nbsp;</p>
<p class='stm run hide'>import path&nbsp; &nbsp;&nbsp; # Non-standard, from http://www.jorendorff.com/articles/python/path</p>
<p class='stm run hide'>from whiteutils import reindentBlock</p>
<p class='pln'>&nbsp;</p>
<p class='stm run hide'>__version__ = &#39;1.0.20040126&#39;</p>
<p class='stm run hide'>__all__ = [&#39;makeFiles&#39;, &#39;removeFiles&#39;]</p>
<p class='pln'>&nbsp;</p>
<p class='stm run hide'>def makeFiles(d, basedir=&#39;.&#39;, raw=False):</p>
<p class='pln'>&nbsp; &nbsp; &quot;&quot;&quot; Create files from the dictionary d, in the directory named by dirpath.</p>
<p class='pln'>&nbsp; &nbsp; &quot;&quot;&quot;</p>
<p class='stm mis'>&nbsp; &nbsp; dirpath = path.path(basedir)</p>
<p class='stm mis'>&nbsp; &nbsp; for name, contents in d.items():</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; child = dirpath / name</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; if isinstance(contents, basestring):</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mode = &#39;w&#39;</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if raw:</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mode = &#39;wb&#39;</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; f = open(child, mode)</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if not raw:</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; contents = reindentBlock(contents)</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; f.write(contents)</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; f.close()</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; else:</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if not child.exists():</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; child.mkdir()</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; makeFiles(contents, child, raw=raw)</p>
<p class='pln'>&nbsp;</p>
<p class='stm run hide'>def removeFiles(d, basedir=&#39;.&#39;):</p>
<p class='pln'>&nbsp; &nbsp; &quot;&quot;&quot; Remove the files created by makeFiles.</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; Directories are removed if they are empty.</p>
<p class='pln'>&nbsp; &nbsp; &quot;&quot;&quot;</p>
<p class='stm mis'>&nbsp; &nbsp; dirpath = path.path(basedir)</p>
<p class='stm mis'>&nbsp; &nbsp; for name, contents in d.items():</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; child = dirpath / name</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; if isinstance(contents, basestring):</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; child.remove()</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; else:</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; removeFiles(contents, child)</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if not child.files() and not child.dirs():</p>
<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; child.rmdir()</p>
<p class='pln'>&nbsp;</p>
<p class='exc'>if __name__ == &#39;__main__&#39;:&nbsp; &nbsp; &nbsp; #pragma: no cover</p>
<p class='pln'>&nbsp; &nbsp; # Try it a little.</p>
<p class='exc'>&nbsp; &nbsp; d = {</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &#39;test_makefiles&#39;: {</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;hey.txt&#39;: &quot;&quot;&quot;\</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is hey.txt.</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; It&#39;s very simple.</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;,</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;subdir&#39;: {</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;fooey&#39;: &quot;&quot;&quot;\</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Fooey</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Kablooey</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Ew.</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</p>
<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; }</p>
<p class='pln'>&nbsp; &nbsp; }</p>
<p class='exc'>&nbsp; &nbsp; makeFiles(d)</p>
    
</td>
</tr>
</table>
</div>

</body>
</html>