-
Notifications
You must be signed in to change notification settings - Fork 0
/
_Github_synthpops_synthpops_config_py.html
125 lines (125 loc) · 16.5 KB
/
_Github_synthpops_synthpops_config_py.html
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for D:\Github\synthpops\synthpops\config.py: 65%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>D:\Github\synthpops\synthpops\config.py</b> :
<span class="pc_cov">65%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
31 statements
<button type="button" class="run shortkey_r button_toggle_run" title="Toggle lines run">20 run</button>
<button type="button" class="mis show_mis shortkey_m button_toggle_mis" title="Toggle lines missing">11 missing</button>
<button type="button" class="exc show_exc shortkey_x button_toggle_exc" title="Toggle lines excluded">0 excluded</button>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<p id="t1" class="pln"><span class="n"><a href="#t1">1</a></span><span class="t"><span class="str">'''</span> </span><span class="r"></span></p>
<p id="t2" class="pln"><span class="n"><a href="#t2">2</a></span><span class="t"><span class="str">This module sets the location of the data folder.</span> </span><span class="r"></span></p>
<p id="t3" class="pln"><span class="n"><a href="#t3">3</a></span><span class="t"><span class="str">'''</span> </span><span class="r"></span></p>
<p id="t4" class="pln"><span class="n"><a href="#t4">4</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t5" class="pln"><span class="n"><a href="#t5">5</a></span><span class="t"><span class="com">#%% Housekeeping</span> </span><span class="r"></span></p>
<p id="t6" class="pln"><span class="n"><a href="#t6">6</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t7" class="run"><span class="n"><a href="#t7">7</a></span><span class="t"><span class="key">import</span> <span class="nam">os</span> </span><span class="r"></span></p>
<p id="t8" class="run"><span class="n"><a href="#t8">8</a></span><span class="t"><span class="key">import</span> <span class="nam">sciris</span> <span class="key">as</span> <span class="nam">sc</span> </span><span class="r"></span></p>
<p id="t9" class="pln"><span class="n"><a href="#t9">9</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t10" class="run"><span class="n"><a href="#t10">10</a></span><span class="t"><span class="nam">__all__</span> <span class="op">=</span> <span class="op">[</span><span class="str">'datadir'</span><span class="op">,</span> <span class="str">'localdatadir'</span><span class="op">,</span> <span class="str">'set_datadir'</span><span class="op">,</span> <span class="str">'set_nbrackets'</span><span class="op">,</span> <span class="str">'validate'</span><span class="op">]</span> </span><span class="r"></span></p>
<p id="t11" class="pln"><span class="n"><a href="#t11">11</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t12" class="pln"><span class="n"><a href="#t12">12</a></span><span class="t"><span class="com"># Declaring this here makes it globally available as synthpops.datadir</span> </span><span class="r"></span></p>
<p id="t13" class="run"><span class="n"><a href="#t13">13</a></span><span class="t"><span class="nam">datadir</span> <span class="op">=</span> <span class="key">None</span> </span><span class="r"></span></p>
<p id="t14" class="run"><span class="n"><a href="#t14">14</a></span><span class="t"><span class="nam">localdatadir</span> <span class="op">=</span> <span class="key">None</span> </span><span class="r"></span></p>
<p id="t15" class="run"><span class="n"><a href="#t15">15</a></span><span class="t"><span class="nam">full_data_available</span> <span class="op">=</span> <span class="key">False</span> <span class="com"># this is likely not necesary anymore</span> </span><span class="r"></span></p>
<p id="t16" class="pln"><span class="n"><a href="#t16">16</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t17" class="pln"><span class="n"><a href="#t17">17</a></span><span class="t"><span class="com"># Set the local data folder</span> </span><span class="r"></span></p>
<p id="t18" class="run"><span class="n"><a href="#t18">18</a></span><span class="t"><span class="nam">thisdir</span> <span class="op">=</span> <span class="nam">sc</span><span class="op">.</span><span class="nam">thisdir</span><span class="op">(</span><span class="nam">__file__</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t19" class="run"><span class="n"><a href="#t19">19</a></span><span class="t"><span class="nam">print</span><span class="op">(</span><span class="nam">thisdir</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t20" class="run"><span class="n"><a href="#t20">20</a></span><span class="t"><span class="nam">localdatadir</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">thisdir</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">pardir</span><span class="op">,</span> <span class="str">'data'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t21" class="pln"><span class="n"><a href="#t21">21</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t22" class="pln"><span class="n"><a href="#t22">22</a></span><span class="t"><span class="com"># Replace with local data dir if Dropbox folder is not found</span> </span><span class="r"></span></p>
<p id="t23" class="run"><span class="n"><a href="#t23">23</a></span><span class="t"><span class="key">if</span> <span class="nam">datadir</span> <span class="key">is</span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t24" class="run"><span class="n"><a href="#t24">24</a></span><span class="t"> <span class="nam">full_data_available</span> <span class="op">=</span> <span class="key">True</span> </span><span class="r"></span></p>
<p id="t25" class="run"><span class="n"><a href="#t25">25</a></span><span class="t"> <span class="nam">datadir</span> <span class="op">=</span> <span class="nam">localdatadir</span> </span><span class="r"></span></p>
<p id="t26" class="pln"><span class="n"><a href="#t26">26</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t27" class="pln"><span class="n"><a href="#t27">27</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t28" class="pln"><span class="n"><a href="#t28">28</a></span><span class="t"><span class="com"># Number of census age brackets to use</span> </span><span class="r"></span></p>
<p id="t29" class="run"><span class="n"><a href="#t29">29</a></span><span class="t"><span class="nam">nbrackets</span> <span class="op">=</span> <span class="op">[</span><span class="num">16</span><span class="op">,</span> <span class="num">20</span><span class="op">]</span><span class="op">[</span><span class="num">1</span><span class="op">]</span> <span class="com"># Choose how many age bins to use -- 20 is only partially supported</span> </span><span class="r"></span></p>
<p id="t30" class="run"><span class="n"><a href="#t30">30</a></span><span class="t"><span class="nam">matrix_size</span> <span class="op">=</span> <span class="num">16</span> <span class="com"># The dimensions of the mixing matrices -- currently only 16 is available</span> </span><span class="r"></span></p>
<p id="t31" class="pln"><span class="n"><a href="#t31">31</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t32" class="pln"><span class="n"><a href="#t32">32</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t33" class="pln"><span class="n"><a href="#t33">33</a></span><span class="t"><span class="com">#%% Functions</span> </span><span class="r"></span></p>
<p id="t34" class="pln"><span class="n"><a href="#t34">34</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t35" class="run"><span class="n"><a href="#t35">35</a></span><span class="t"><span class="key">def</span> <span class="nam">set_datadir</span><span class="op">(</span><span class="nam">folder</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t36" class="pln"><span class="n"><a href="#t36">36</a></span><span class="t"> <span class="str">'''Set the data folder to the user-specified location -- note, mostly deprecated.'''</span> </span><span class="r"></span></p>
<p id="t37" class="pln"><span class="n"><a href="#t37">37</a></span><span class="t"> <span class="key">global</span> <span class="nam">datadir</span> </span><span class="r"></span></p>
<p id="t38" class="mis show_mis"><span class="n"><a href="#t38">38</a></span><span class="t"> <span class="nam">datadir</span> <span class="op">=</span> <span class="nam">folder</span> </span><span class="r"></span></p>
<p id="t39" class="mis show_mis"><span class="n"><a href="#t39">39</a></span><span class="t"> <span class="nam">print</span><span class="op">(</span><span class="str">f'Done: data directory set to {folder}.'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t40" class="mis show_mis"><span class="n"><a href="#t40">40</a></span><span class="t"> <span class="key">return</span> <span class="nam">datadir</span> </span><span class="r"></span></p>
<p id="t41" class="pln"><span class="n"><a href="#t41">41</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t42" class="run"><span class="n"><a href="#t42">42</a></span><span class="t"><span class="key">def</span> <span class="nam">set_nbrackets</span><span class="op">(</span><span class="nam">n</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t43" class="pln"><span class="n"><a href="#t43">43</a></span><span class="t"> <span class="str">'''Set the number of census brackets -- usually 16 or 20.'''</span> </span><span class="r"></span></p>
<p id="t44" class="pln"><span class="n"><a href="#t44">44</a></span><span class="t"> <span class="key">global</span> <span class="nam">nbrackets</span> </span><span class="r"></span></p>
<p id="t45" class="mis show_mis"><span class="n"><a href="#t45">45</a></span><span class="t"> <span class="nam">nbrackets</span> <span class="op">=</span> <span class="nam">n</span> </span><span class="r"></span></p>
<p id="t46" class="mis show_mis"><span class="n"><a href="#t46">46</a></span><span class="t"> <span class="key">if</span> <span class="nam">nbrackets</span> <span class="key">not</span> <span class="key">in</span> <span class="op">[</span><span class="num">16</span><span class="op">,</span> <span class="num">20</span><span class="op">]</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t47" class="mis show_mis"><span class="n"><a href="#t47">47</a></span><span class="t"> <span class="nam">print</span><span class="op">(</span><span class="str">f'Note: current supported bracket choices are 16 or 20, use {nbrackets} at your own risk.'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t48" class="mis show_mis"><span class="n"><a href="#t48">48</a></span><span class="t"> <span class="nam">print</span><span class="op">(</span><span class="str">f'Done: number of brackets is set to {n}.'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t49" class="mis show_mis"><span class="n"><a href="#t49">49</a></span><span class="t"> <span class="key">return</span> <span class="nam">nbrackets</span> </span><span class="r"></span></p>
<p id="t50" class="pln"><span class="n"><a href="#t50">50</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t51" class="pln"><span class="n"><a href="#t51">51</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t52" class="run"><span class="n"><a href="#t52">52</a></span><span class="t"><span class="key">def</span> <span class="nam">validate</span><span class="op">(</span><span class="nam">verbose</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t53" class="pln"><span class="n"><a href="#t53">53</a></span><span class="t"> <span class="str">''' Check that the data folder can be found. '''</span> </span><span class="r"></span></p>
<p id="t54" class="run"><span class="n"><a href="#t54">54</a></span><span class="t"> <span class="key">if</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">isdir</span><span class="op">(</span><span class="nam">datadir</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t55" class="run"><span class="n"><a href="#t55">55</a></span><span class="t"> <span class="key">if</span> <span class="nam">verbose</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t56" class="run"><span class="n"><a href="#t56">56</a></span><span class="t"> <span class="nam">print</span><span class="op">(</span><span class="str">f'The data folder {datadir} was found.'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t57" class="pln"><span class="n"><a href="#t57">57</a></span><span class="t"> <span class="key">else</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t58" class="mis show_mis"><span class="n"><a href="#t58">58</a></span><span class="t"> <span class="key">if</span> <span class="nam">datadir</span> <span class="key">is</span> <span class="key">None</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t59" class="mis show_mis"><span class="n"><a href="#t59">59</a></span><span class="t"> <span class="key">raise</span> <span class="nam">FileNotFoundError</span><span class="op">(</span><span class="str">f'The datadir has not been set; use synthpops.set_datadir() and try again.'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t60" class="pln"><span class="n"><a href="#t60">60</a></span><span class="t"> <span class="key">else</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t61" class="mis show_mis"><span class="n"><a href="#t61">61</a></span><span class="t"> <span class="key">raise</span> <span class="nam">FileNotFoundError</span><span class="op">(</span><span class="str">f'The folder "{datadir}" does not exist, as far as I can tell.'</span><span class="op">)</span> </span><span class="r"></span></p>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">« index</a> <a class="nav" href="https://coverage.readthedocs.io">coverage.py v5.2</a>,
created at 2020-07-15 10:13
</p>
</div>
</div>
</body>
</html>