diff --git a/news/fs_find_one.rst b/news/fs_find_one.rst new file mode 100644 index 0000000..3fbf57f --- /dev/null +++ b/news/fs_find_one.rst @@ -0,0 +1,23 @@ +**Added:** + +* find_one function for filesystem client + +**Changed:** + +* find_one function for filesystem + +**Deprecated:** + +* + +**Removed:** + +* + +**Fixed:** + +* + +**Security:** + +* diff --git a/tests/inputs/pydr_rc.py b/tests/inputs/pydr_rc.py new file mode 100644 index 0000000..8a3b693 --- /dev/null +++ b/tests/inputs/pydr_rc.py @@ -0,0 +1,14 @@ +pydr_rc = b""" +{ + "groupname": "Billinge Group", + "databases": [ + { + "name": "calculated", + "url": ".", + "public": false, + "path": "db", + "local": true + } + ] +} +""" diff --git a/tests/inputs/test_calculated_cifs_input.py b/tests/inputs/test_calculated_cifs_input.py new file mode 100644 index 0000000..08b6d7a --- /dev/null +++ b/tests/inputs/test_calculated_cifs_input.py @@ -0,0 +1,4045 @@ +calculated_cifs = ( + """ +# powder data simulated using PLATON: + +data_III_simulated_ + +_publcif_pd_cifplot 'simulated 2022-09-21' + +_chemical_formula +;(C H3)4 N Cl O4 +; + +_pd_proc_2theta_range_min 0.020 +_pd_proc_2theta_range_max 40.000 +_pd_proc_2theta_range_inc 0.020 +# Cu +_diffrn_radiation_wavelength 1.54439 +# Sep 21 13:37:30 2022 +# 1 +# III P 2~1~ 2~1~ 2 +loop_ _pd_calc_intensity_total #SCANDATA +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +58 +59 +59 +60 +61 +62 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +83 +84 +85 +87 +88 +89 +91 +92 +94 +95 +97 +98 +100 +102 +103 +105 +107 +109 +111 +112 +173 +176 +179 +183 +186 +190 +193 +197 +201 +205 +209 +213 +218 +222 +227 +231 +236 +241 +247 +252 +258 +264 +270 +276 +282 +289 +296 +303 +310 +318 +326 +334 +343 +352 +361 +371 +381 +392 +403 +414 +426 +438 +451 +465 +479 +494 +509 +526 +543 +561 +579 +599 +620 +642 +665 +690 +716 +743 +772 +802 +835 +869 +906 +945 +987 +1031 +1079 +1130 +1185 +1244 +1307 +1376 +1450 +1530 +1618 +1713 +1816 +1930 +2054 +2192 +2343 +2512 +2699 +2909 +3144 +3410 +3712 +4057 +4454 +4913 +5449 +6082 +6835 +7742 +8850 +10223 +11956 +14185 +17119 +21074 +26536 +34219 +44994 +59206 +74503 +84039 +83223 +77712 +75629 +80993 +95370 +118482 +143907 +155000 +140076 +110353 +81914 +60448 +45395 +34927 +27534 +22188 +18228 +15226 +12901 +11068 +9599 +8404 +7419 +6597 +5906 +5318 +4813 +4378 +3999 +3668 +3376 +3118 +2889 +2684 +2500 +2335 +2185 +2050 +1927 +1814 +1711 +1617 +1530 +1451 +1377 +1309 +1245 +1187 +1132 +1081 +1033 +989 +947 +908 +871 +837 +804 +773 +744 +717 +691 +667 +644 +622 +601 +581 +562 +544 +527 +511 +495 +480 +466 +452 +439 +427 +415 +403 +392 +382 +372 +362 +353 +344 +335 +327 +319 +311 +304 +297 +290 +283 +276 +270 +264 +316 +370 +369 +367 +366 +366 +365 +365 +366 +367 +311 +314 +317 +321 +325 +330 +335 +341 +348 +355 +362 +371 +380 +391 +402 +414 +428 +442 +459 +476 +496 +517 +541 +567 +595 +627 +662 +701 +745 +794 +849 +911 +982 +1062 +1154 +1260 +1382 +1525 +1693 +1892 +2130 +2418 +2771 +3207 +3757 +4459 +5374 +6591 +8248 +10559 +13855 +18628 +25465 +34536 +43936 +48323 +43935 +34533 +25460 +18621 +13847 +10549 +8180 +6522 +5303 +4387 +3684 +3134 +2696 +2343 +2054 +1814 +1614 +1445 +1301 +1177 +1070 +977 +895 +824 +760 +704 +653 +608 +567 +530 +497 +467 +439 +414 +391 +370 +350 +332 +315 +300 +285 +272 +260 +248 +237 +227 +217 +209 +200 +192 +185 +178 +171 +165 +159 +153 +148 +143 +138 +134 +129 +125 +121 +118 +57 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +58 +62 +65 +69 +73 +78 +83 +89 +141 +162 +191 +285 +341 +401 +442 +447 +435 +430 +441 +472 +521 +555 +659 +796 +983 +1240 +1596 +2064 +2580 +2953 +3060 +3083 +3283 +3815 +4772 +6159 +7638 +8306 +7527 +5923 +4382 +3219 +2405 +1841 +1445 +1159 +947 +788 +615 +523 +450 +391 +343 +303 +269 +241 +217 +196 +179 +163 +149 +137 +127 +117 +109 +101 +95 +89 +140 +138 +136 +136 +136 +136 +138 +142 +206 +218 +231 +246 +262 +280 +357 +382 +411 +442 +535 +578 +628 +685 +806 +887 +981 +1093 +1227 +1389 +1588 +1837 +2154 +2566 +3116 +3867 +4920 +6420 +8545 +11404 +14343 +15859 +14866 +12487 +10324 +8988 +8512 +8844 +9989 +11907 +14129 +15440 +15076 +13878 +13247 +13804 +15654 +18422 +21068 +22777 +23649 +22974 +19862 +15533 +11655 +8759 +6716 +5276 +4242 +3483 +2912 +2425 +2086 +1763 +1546 +1368 +1219 +1094 +938 +801 +729 +612 +561 +515 +475 +439 +407 +326 +303 +283 +264 +247 +232 +218 +206 +194 +184 +121 +114 +108 +103 +98 +93 +89 +85 +81 +77 +130 +131 +132 +133 +136 +138 +142 +90 +97 +163 +235 +310 +340 +374 +413 +459 +513 +576 +652 +744 +856 +995 +1170 +1394 +1685 +2072 +2598 +3333 +4380 +5896 +8068 +10950 +13936 +15330 +13936 +10950 +8068 +5896 +4380 +3333 +2598 +2072 +1685 +1394 +1170 +995 +856 +744 +652 +576 +513 +459 +413 +374 +340 +310 +235 +163 +97 +90 +84 +78 +73 +68 +64 +60 +56 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +57 +59 +63 +66 +70 +74 +78 +83 +145 +154 +164 +174 +186 +254 +272 +293 +316 +342 +371 +404 +442 +540 +595 +659 +733 +821 +984 +1114 +1273 +1525 +1775 +2094 +2509 +3060 +3813 +4863 +6356 +8467 +11264 +14263 +16058 +15708 +14357 +13610 +14031 +15113 +15398 +13844 +11291 +9002 +7431 +6558 +6292 +6606 +7533 +9052 +10726 +11416 +10320 +8211 +6196 +4669 +3588 +2829 +2285 +1886 +1586 +1355 +1122 +980 +864 +768 +638 +574 +520 +473 +433 +397 +423 +403 +387 +321 +372 +376 +386 +349 +324 +368 +429 +518 +646 +883 +1145 +1488 +1847 +2035 +1922 +1640 +1380 +1265 +1249 +1311 +1387 +1583 +1862 +2186 +2641 +3282 +4199 +5524 +7416 +9928 +12573 +13920 +13163 +11198 +9519 +8649 +8503 +8859 +9401 +9389 +8262 +6530 +4938 +3737 +2883 +2279 +1793 +1440 +1207 +1027 +885 +722 +635 +563 +452 +405 +312 +282 +260 +249 +188 +193 +206 +172 +198 +230 +271 +322 +390 +479 +601 +771 +1013 +1364 +1866 +2533 +3223 +3546 +3279 +2595 +1936 +1442 +1158 +936 +791 +700 +649 +632 +645 +690 +775 +912 +1123 +1442 +1857 +2490 +3147 +3402 +3093 +2430 +1791 +1308 +972 +740 +577 +460 +374 +309 +260 +221 +190 +165 +145 +78 +69 +62 +56 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +104 +181 +227 +291 +383 +515 +705 +957 +1276 +1403 +1276 +957 +705 +515 +383 +291 +227 +181 +104 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +54 +119 +139 +163 +194 +344 +413 +562 +697 +885 +1205 +1588 +2099 +2666 +3073 +3178 +3157 +3184 +3158 +2951 +2696 +2601 +2820 +3242 +3756 +3962 +3581 +2923 +2214 +1693 +1342 +1176 +1063 +1098 +1232 +1483 +1852 +2248 +2419 +2192 +1737 +1255 +930 +702 +543 +431 +301 +245 +203 +170 +99 +86 +74 +65 +58 +0 +0 +58 +123 +141 +164 +193 +230 +278 +342 +486 +674 +885 +1192 +1631 +2213 +2817 +3099 +2817 +2213 +1631 +1192 +885 +674 +600 +528 +507 +573 +633 +742 +919 +1188 +1503 +1839 +2023 +1839 +1445 +1065 +778 +578 +440 +343 +229 +186 +114 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +56 +68 +84 +105 +134 +177 +238 +325 +442 +562 +618 +562 +442 +325 +238 +177 +134 +105 +84 +68 +56 +0 +0 +0 +0 +0 +0 +0 +52 +59 +69 +81 +96 +117 +143 +180 +231 +303 +408 +559 +758 +965 +1061 +965 +758 +559 +408 +303 +231 +232 +253 +302 +333 +389 +479 +613 +791 +939 +1095 +1126 +989 +825 +630 +546 +460 +374 +360 +367 +355 +411 +450 +577 +759 +1077 +1473 +2049 +2608 +2927 +2676 +2188 +1644 +1290 +1083 +1004 +1184 +1352 +1595 +1822 +1921 +1833 +1558 +1246 +935 +718 +620 +542 +563 +642 +774 +979 +1283 +1704 +2137 +2506 +2577 +2353 +1932 +1469 +1087 +809 +614 +478 +380 +309 +255 +172 +108 +130 +178 +241 +307 +337 +307 +241 +178 +130 +55 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +56 +65 +75 +146 +174 +211 +307 +384 +546 +717 +965 +1321 +1793 +2282 +2510 +2282 +1793 +1321 +965 +717 +546 +384 +307 +211 +174 +146 +75 +65 +56 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +55 +72 +142 +244 +327 +419 +481 +490 +474 +462 +444 +340 +265 +155 +113 +84 +64 +50 +0 +0 +49 +61 +79 +104 +139 +191 +259 +329 +402 +329 +259 +191 +193 +268 +286 +327 +398 +463 +612 +807 +1003 +1172 +1289 +1197 +1022 +994 +926 +997 +1118 +1205 +1246 +1279 +1306 +1382 +1419 +1258 +988 +694 +479 +287 +218 +170 +136 +110 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +49 +113 +186 +242 +368 +538 +745 +926 +998 +1076 +1270 +1480 +1599 +1539 +1394 +1223 +1214 +1200 +1013 +749 +523 +390 +257 +200 +80 +116 +163 +133 +161 +198 +294 +377 +495 +715 +978 +1328 +1690 +1859 +1690 +1328 +978 +715 +495 +377 +294 +198 +161 +133 +112 +52 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +56 +63 +73 +85 +100 +168 +203 +250 +313 +402 +528 +711 +973 +1321 +1681 +1956 +1681 +1321 +973 +711 +528 +402 +313 +250 +203 +168 +100 +186 +200 +274 +332 +426 +583 +791 +1007 +1159 +1076 +929 +744 +598 +502 +527 +487 +615 +565 +514 +360 +265 +200 +143 +145 +211 +206 +226 +206 +162 +81 +59 +44 +0 +0 +0 +53 +68 +123 +68 +53 +0 +0 +50 +61 +75 +94 +121 +159 +214 +292 +476 +627 +690 +627 +448 +292 +214 +159 +121 +94 +75 +61 +50 +56 +91 +56 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +52 +67 +139 +187 +256 +348 +491 +487 +443 +348 +256 +187 +139 +67 +52 +0 +0 +0 +0 + """, + + """ +# powder data simulated using PLATON: + +data_SrLaZnRuO6_1173K_simulated_1.59400 + +_publcif_pd_cifplot 'simulated 2022-09-21' + +_chemical_formula +;LaO6RuSrZn +; + +_pd_proc_2theta_range_min 0.020 +_pd_proc_2theta_range_max 40.000 +_pd_proc_2theta_range_inc 0.020 +# ne +_diffrn_radiation_wavelength 1.59400 +# Sep 21 13:37:30 2022 +# 1 +# SrLaZnRuO6R -33k +loop_ _pd_calc_intensity_total #SCANDATA +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +69 +72 +76 +79 +83 +88 +92 +97 +103 +109 +115 +122 +130 +138 +148 +158 +169 +182 +196 +212 +229 +249 +272 +298 +328 +362 +402 +449 +505 +572 +652 +751 +872 +1026 +1221 +1634 +2028 +2568 +3315 +4341 +5720 +7573 +9991 +12504 +13647 +12371 +9596 +7071 +5167 +3838 +2921 +2277 +1815 +1476 +1221 +1026 +872 +751 +652 +572 +505 +449 +402 +362 +328 +298 +272 +249 +229 +212 +196 +182 +169 +158 +148 +138 +130 +122 +115 +109 +103 +97 +92 +88 +83 +79 +76 +72 +69 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +203 +211 +219 +227 +236 +245 +255 +265 +277 +288 +301 +314 +329 +344 +361 +378 +397 +418 +440 +464 +490 +518 +549 +582 +619 +659 +703 +752 +806 +866 +933 +1008 +1092 +1187 +1295 +1419 +1561 +1725 +1916 +2140 +2405 +2723 +3106 +3574 +4155 +4884 +5817 +7031 +8646 +10845 +13909 +18281 +24609 +33676 +45702 +58167 +63983 +58167 +45702 +33676 +24609 +18281 +13909 +10845 +8646 +7031 +5817 +4884 +4155 +3574 +3106 +2723 +2405 +2140 +1916 +1725 +1561 +1419 +1295 +1187 +1092 +1008 +933 +866 +806 +752 +703 +659 +619 +582 +549 +518 +490 +464 +440 +418 +397 +378 +361 +344 +329 +314 +301 +288 +277 +265 +255 +245 +236 +227 +219 +211 +203 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +418 +429 +441 +453 +465 +479 +492 +507 +522 +537 +554 +571 +589 +608 +628 +648 +670 +693 +717 +743 +769 +798 +828 +859 +893 +928 +966 +1005 +1048 +1093 +1141 +1193 +1248 +1306 +1370 +1438 +1511 +1589 +1675 +1767 +1867 +1976 +2095 +2225 +2367 +2523 +2696 +2887 +3100 +3337 +3602 +3900 +4238 +4621 +5060 +5564 +6149 +6832 +7636 +8593 +9743 +11143 +12870 +15034 +17795 +21389 +26170 +32687 +41781 +54694 +72946 +97167 +123340 +139722 +138543 +129800 +127418 +136236 +150712 +155000 +137778 +108473 +81075 +60427 +45869 +35663 +28388 +23079 +19110 +16075 +13707 +11826 +10307 +9064 +8034 +7170 +6440 +5815 +5278 +4813 +4406 +4050 +3735 +3455 +3206 +2983 +2783 +2602 +2438 +2290 +2154 +2030 +1917 +1813 +1717 +1629 +1547 +1472 +1401 +1336 +1275 +1218 +1165 +1116 +1069 +1025 +984 +946 +909 +875 +842 +812 +783 +755 +729 +705 +681 +659 +637 +617 +598 +580 +562 +545 +529 +514 +499 +282 +274 +266 +259 +252 +245 +238 +232 +226 +220 +215 +209 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +203 +213 +223 +234 +246 +258 +473 +499 +527 +557 +590 +626 +666 +709 +756 +809 +867 +931 +1003 +1084 +1175 +1277 +1393 +1526 +1679 +1855 +2061 +2302 +2588 +2929 +3341 +3845 +4470 +5255 +6258 +7564 +9302 +11667 +15170 +19916 +26781 +36613 +49678 +63224 +69706 +63769 +50785 +38288 +28740 +21726 +16582 +12859 +10173 +8211 +6750 +5638 +4776 +4094 +3547 +2929 +2588 +2302 +2061 +1855 +1679 +1526 +1393 +1277 +1175 +1084 +1003 +931 +867 +809 +756 +709 +666 +626 +590 +557 +527 +499 +473 +258 +246 +234 +223 +213 +203 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 + """ +) diff --git a/tests/test_fsclient.py b/tests/test_fsclient.py index 82094d9..0d47ffe 100644 --- a/tests/test_fsclient.py +++ b/tests/test_fsclient.py @@ -1,37 +1,37 @@ from collections import defaultdict +from pathlib import Path +from testfixtures import TempDirectory import pytest +import tempfile from pydatarecognition.fsclient import FileSystemClient +from pydatarecognition.cif_io import cif_read, powdercif_to_json, json_dump +from pydatarecognition.runcontrol import DEFAULT_RC, load_rcfile +from tests.inputs.test_calculated_cifs_input import calculated_cifs +from tests.inputs.pydr_rc import pydr_rc + -# # def test_dump_json(): -# doc = {"first": {"_id": "first", "name": "me", "date": datetime.date(2021,5,1), -# "test_list": [5, 4]}, -# "second": {"_id": "second"} +# doc = {'first': {'_id': 'first', 'name': 'me', 'date': datetime.date(2021,5,1), +# 'test_list': [5, 4]}, +# 'second': {'_id': 'second'} # } -# json_doc = ('{"_id": "first", "date": "2021-05-01", "name": "me", "test_list": [5, 4]}\n{"_id": "second"}') +# json_doc = ('{'_id': 'first', 'date': '2021-05-01', 'name': 'me', 'test_list': [5, 4]}\n{'_id': 'second'}') # temp_dir = Path(tempfile.gettempdir()) -# filename = temp_dir / "test.json" +# filename = temp_dir / 'test.json' # dump_json(filename, doc, date_handler=date_encoder) -# with open(filename, 'r', encoding="utf-8") as f: +# with open(filename, 'r', encoding='utf-8') as f: # actual = f.read() # assert actual == json_doc -# todo: -# build a runcontrol object as in regolith. have it created globally in the -# tests for reuse in all the tests (look for DEFAULT_RC in regoith tests) -# for now: -# DEFAULT_RC = RunControl( -# _validators=DEFAULT_VALIDATORS, -# builddir="_build", -# mongodbpath=property(lambda self: os.path.join(self.builddir, "_dbpath")), -# user_config=os.path.expanduser("~/.config/regolith/user.json"), -# force=False, -# database=None -# ) -DEFAULT_RC = {} + rc = DEFAULT_RC +with TempDirectory() as d: + temp_dir = Path(d.path) + d.write(f"pydr_rc.json", + pydr_rc) + rc._update(load_rcfile(temp_dir / "pydr_rc.json")) # FileSystemClient methods tested here @@ -64,81 +64,108 @@ def test_close(): assert fsc.closed -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_load_json(): pass -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_load_yaml(): pass -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_load_cif(): pass -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_load_database(): pass -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_dump_json(): pass -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_dump_yaml(): pass -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_dump_cif(): pass -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_dump_database(): pass -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_keys(): pass -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_collection_names(): pass -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_all_documents(): pass -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_insert_one(): pass -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_insert_many(): pass -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_delete_one(): pass -@pytest.mark.skip("Not written") -def test_find_one(): - pass +@pytest.mark.parametrize('cm', calculated_cifs) +def test_find_one(cm): + client = FileSystemClient(rc) + + with TempDirectory() as d: + temp_dir = Path(d.path) + name = 'right' + + for cif in cm: + cif_bitstream = bytearray(cif, 'utf8') + d.write(f'{name}.cif', cif_bitstream) + test_cif_path = temp_dir / f'{name}.cif' + cif = cif_read(test_cif_path) + json_dump(powdercif_to_json(cif), temp_dir / f'{name}.json') + + name = 'wrong' + + # Tentative + expected = d.read(str(temp_dir / 'right.json'), 'utf-8') + + client.dbs['cifs']['calculated'][cif_path1.split('/')[-1][:-18]] = expected + client.dbs['cifs']['calculated'][cif_path2.split('/')[-1][:-18]] = d.read(str(temp_dir / 'wrong.json'), 'utf-8') + + actual = client.find_one('cifs', 'calculated', {'iucrid': 'bs0018'}) + + print(client.dbs['cifs']['calculated'].values()) + + assert actual == expected + + # TODO: Runcontrol? -@pytest.mark.skip("Not written") +@pytest.mark.skip('Not written') def test_update_one(): pass