udata 10.6.1.dev36110__py2.py3-none-any.whl → 10.6.1.dev36176__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of udata might be problematic. Click here for more details.

Files changed (28) hide show
  1. udata/core/dataservices/api.py +1 -3
  2. udata/core/dataset/models.py +11 -6
  3. udata/core/dataset/preview.py +19 -72
  4. udata/core/organization/api.py +14 -0
  5. udata/settings.py +3 -0
  6. udata/static/chunks/{11.8a2f7828175824bcd74b.js → 11.51d706fb9521c16976bc.js} +3 -3
  7. udata/static/chunks/{11.8a2f7828175824bcd74b.js.map → 11.51d706fb9521c16976bc.js.map} +1 -1
  8. udata/static/chunks/{19.df16abde17a42033a7f8.js → 19.a348a5fff8fe2801e52a.js} +3 -3
  9. udata/static/chunks/{19.df16abde17a42033a7f8.js.map → 19.a348a5fff8fe2801e52a.js.map} +1 -1
  10. udata/static/chunks/{5.5660483641193b7f8295.js → 5.343ca020a2d38cec1a14.js} +3 -3
  11. udata/static/chunks/{5.5660483641193b7f8295.js.map → 5.343ca020a2d38cec1a14.js.map} +1 -1
  12. udata/static/chunks/{6.30dce49d17db07600b06.js → 6.a3b07de9dd2ca2d24e85.js} +3 -3
  13. udata/static/chunks/{6.30dce49d17db07600b06.js.map → 6.a3b07de9dd2ca2d24e85.js.map} +1 -1
  14. udata/static/chunks/{8.54e44b102164ae5e7a67.js → 8.462bb3029de008497675.js} +2 -2
  15. udata/static/chunks/{8.54e44b102164ae5e7a67.js.map → 8.462bb3029de008497675.js.map} +1 -1
  16. udata/static/common.js +1 -1
  17. udata/static/common.js.map +1 -1
  18. udata/tests/api/test_dataservices_api.py +8 -8
  19. udata/tests/api/test_datasets_api.py +18 -8
  20. udata/tests/api/test_organizations_api.py +23 -1
  21. udata/tests/api/test_reuses_api.py +12 -8
  22. udata/tests/dataset/test_resource_preview.py +47 -98
  23. {udata-10.6.1.dev36110.dist-info → udata-10.6.1.dev36176.dist-info}/METADATA +5 -1
  24. {udata-10.6.1.dev36110.dist-info → udata-10.6.1.dev36176.dist-info}/RECORD +28 -28
  25. {udata-10.6.1.dev36110.dist-info → udata-10.6.1.dev36176.dist-info}/LICENSE +0 -0
  26. {udata-10.6.1.dev36110.dist-info → udata-10.6.1.dev36176.dist-info}/WHEEL +0 -0
  27. {udata-10.6.1.dev36110.dist-info → udata-10.6.1.dev36176.dist-info}/entry_points.txt +0 -0
  28. {udata-10.6.1.dev36110.dist-info → udata-10.6.1.dev36176.dist-info}/top_level.txt +0 -0
udata/static/common.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e){function __webpack_require__(c){if(a[c])return a[c].exports;var r=a[c]={exports:{},id:c,loaded:!1};return e[c].call(r.exports,r,r.exports,__webpack_require__),r.loaded=!0,r.exports}var c=window.webpackJsonp;window.webpackJsonp=function(f,b){for(var t,d,_=0,n=[];_<f.length;_++)d=f[_],r[d]&&n.push.apply(n,r[d]),r[d]=0;for(t in b){var i=b[t];switch(typeof i){case"object":e[t]=function(c){var a=c.slice(1),r=c[0];return function(c,f,b){e[r].apply(this,[c,f,b].concat(a))}}(i);break;case"function":e[t]=i;break;default:e[t]=e[i]}}for(c&&c(f,b);n.length;)n.shift().call(null,__webpack_require__);if(b[0])return a[0]=0,__webpack_require__(0)};var a={},r={31:0};__webpack_require__.e=function(e,c){if(0===r[e])return c.call(null,__webpack_require__);if(void 0!==r[e])r[e].push(c);else{r[e]=[c];var a=document.getElementsByTagName("head")[0],f=document.createElement("script");f.type="text/javascript",f.charset="utf-8",f.async=!0,f.src=__webpack_require__.p+"chunks/"+e+"."+{0:"4dd4f378428d1eed85c8",1:"0a96f54313c89e541ccb",2:"c67aa76cc078c193aed5",3:"174a03e48d267820919b",4:"98dca3045c034c154d5f",5:"5660483641193b7f8295",6:"30dce49d17db07600b06",7:"896bbffe39433bb598f7",8:"54e44b102164ae5e7a67",9:"033d7e190ca9e226a5d0",10:"8ca60413647062717b1e",11:"8a2f7828175824bcd74b",12:"1be61e0201691821bff6",13:"39e106d56f794ebd06a0",14:"bc3f6bc0a67517e7b30f",15:"2f5d8e3d4aa4c46188d7",16:"aaa39ef2d7e82594efc8",17:"70cbb4a91b002338007e",18:"56444ebd2456a4ba2201",19:"df16abde17a42033a7f8",20:"3d4e02d1205a3c9e26c5",21:"af1610ce169cf6d1cf4e",22:"6a69068a7dd9d767dea1",23:"663b89b79d755a70deef",24:"d149cf025cbbca231d88",25:"1fafd6424761185cc14b",26:"402064cda3665d56f7fc",27:"997802f273a0c88f7b6d",28:"e68c475c6ca1e2eec92c",29:"2f4a04c61d75f2ef18ab",30:"e97e10c9246818e2b4b2",32:"03cc9867716dd58b9302",33:"011b367beb543774f950"}[e]+".js",a.appendChild(f)}},__webpack_require__.m=e,__webpack_require__.c=a,__webpack_require__.p="/static/"}(function(e){for(var c in e)if(Object.prototype.hasOwnProperty.call(e,c))switch(typeof e[c]){case"function":break;case"object":e[c]=function(c){var a=c.slice(1),r=e[c[0]];return function(e,c,f){r.apply(this,[e,c,f].concat(a))}}(e[c]);break;default:e[c]=e[e[c]]}return e}([]));
1
+ !function(e){function __webpack_require__(c){if(a[c])return a[c].exports;var r=a[c]={exports:{},id:c,loaded:!1};return e[c].call(r.exports,r,r.exports,__webpack_require__),r.loaded=!0,r.exports}var c=window.webpackJsonp;window.webpackJsonp=function(f,d){for(var t,b,_=0,n=[];_<f.length;_++)b=f[_],r[b]&&n.push.apply(n,r[b]),r[b]=0;for(t in d){var i=d[t];switch(typeof i){case"object":e[t]=function(c){var a=c.slice(1),r=c[0];return function(c,f,d){e[r].apply(this,[c,f,d].concat(a))}}(i);break;case"function":e[t]=i;break;default:e[t]=e[i]}}for(c&&c(f,d);n.length;)n.shift().call(null,__webpack_require__);if(d[0])return a[0]=0,__webpack_require__(0)};var a={},r={31:0};__webpack_require__.e=function(e,c){if(0===r[e])return c.call(null,__webpack_require__);if(void 0!==r[e])r[e].push(c);else{r[e]=[c];var a=document.getElementsByTagName("head")[0],f=document.createElement("script");f.type="text/javascript",f.charset="utf-8",f.async=!0,f.src=__webpack_require__.p+"chunks/"+e+"."+{0:"4dd4f378428d1eed85c8",1:"0a96f54313c89e541ccb",2:"c67aa76cc078c193aed5",3:"174a03e48d267820919b",4:"98dca3045c034c154d5f",5:"343ca020a2d38cec1a14",6:"a3b07de9dd2ca2d24e85",7:"896bbffe39433bb598f7",8:"462bb3029de008497675",9:"033d7e190ca9e226a5d0",10:"8ca60413647062717b1e",11:"51d706fb9521c16976bc",12:"1be61e0201691821bff6",13:"39e106d56f794ebd06a0",14:"bc3f6bc0a67517e7b30f",15:"2f5d8e3d4aa4c46188d7",16:"aaa39ef2d7e82594efc8",17:"70cbb4a91b002338007e",18:"56444ebd2456a4ba2201",19:"a348a5fff8fe2801e52a",20:"3d4e02d1205a3c9e26c5",21:"af1610ce169cf6d1cf4e",22:"6a69068a7dd9d767dea1",23:"663b89b79d755a70deef",24:"d149cf025cbbca231d88",25:"1fafd6424761185cc14b",26:"402064cda3665d56f7fc",27:"997802f273a0c88f7b6d",28:"e68c475c6ca1e2eec92c",29:"2f4a04c61d75f2ef18ab",30:"e97e10c9246818e2b4b2",32:"03cc9867716dd58b9302",33:"011b367beb543774f950"}[e]+".js",a.appendChild(f)}},__webpack_require__.m=e,__webpack_require__.c=a,__webpack_require__.p="/static/"}(function(e){for(var c in e)if(Object.prototype.hasOwnProperty.call(e,c))switch(typeof e[c]){case"function":break;case"object":e[c]=function(c){var a=c.slice(1),r=e[c[0]];return function(e,c,f){r.apply(this,[e,c,f].concat(a))}}(e[c]);break;default:e[c]=e[e[c]]}return e}([]));
2
2
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap 02b371f3b7c1f7cc251e"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","parentJsonpFunction","window","chunkIds","moreModules","chunkId","i","callbacks","length","installedChunks","push","apply","_m","args","slice","templateId","a","b","c","this","concat","shift","31","e","callback","undefined","head","document","getElementsByTagName","script","createElement","type","charset","async","src","p","0","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","32","33","appendChild","m","Object","prototype","hasOwnProperty","fn"],"mappings":"CAAS,SAAUA,GCwDnB,QAAAC,qBAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAE,WACAE,GAAAJ,EACAK,QAAA,EAUA,OANAP,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,qBAGAI,EAAAE,QAAA,EAGAF,EAAAD,QA3EA,GAAAK,GAAAC,OAAA,YACAA,QAAA,sBAAAC,EAAAC,GAIA,IADA,GAAAV,GAAAW,EAAAC,EAAA,EAAAC,KACQD,EAAAH,EAAAK,OAAoBF,IAC5BD,EAAAF,EAAAG,GACAG,EAAAJ,IACAE,EAAAG,KAAAC,MAAAJ,EAAAE,EAAAJ,IACAI,EAAAJ,GAAA,CAEA,KAAAX,IAAAU,GAAA,CACA,GAAAQ,GAAAR,EAAAV,EAGA,cAAAkB,IACA,aAEApB,EAAAE,GAAA,SAAAkB,GACA,GAAAC,GAAAD,EAAAE,MAAA,GAAAC,EAAAH,EAAA,EACA,iBAAAI,EAAAC,EAAAC,GACA1B,EAAAuB,GAAAJ,MAAAQ,MAAAH,EAAAC,EAAAC,GAAAE,OAAAP,MAEMD,EACN,MACA,gBAEApB,EAAAE,GAAAkB,CACA,MACA,SAEApB,EAAAE,GAAAF,EAAAoB,IAKA,IADAX,KAAAE,EAAAC,GACAG,EAAAC,QACAD,EAAAc,QAAArB,KAAA,KAAAP,oBACA,IAAAW,EAAA,GAEA,MADAT,GAAA,KACAF,oBAAA,GAKA,IAAAE,MAKAc,GACAa,GAAA,EA6BA7B,qBAAA8B,EAAA,SAAAlB,EAAAmB,GAEA,OAAAf,EAAAJ,GACA,MAAAmB,GAAAxB,KAAA,KAAAP,oBAGA,IAAAgC,SAAAhB,EAAAJ,GACAI,EAAAJ,GAAAK,KAAAc,OACI,CAEJf,EAAAJ,IAAAmB,EACA,IAAAE,GAAAC,SAAAC,qBAAA,WACAC,EAAAF,SAAAG,cAAA,SACAD,GAAAE,KAAA,kBACAF,EAAAG,QAAA,QACAH,EAAAI,OAAA,EAEAJ,EAAAK,IAAAzC,oBAAA0C,EAAA,UAAA9B,EAAA,KAAsE+B,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,wBAAk5B/D,GAAA,MACx9BqB,EAAA2C,YAAAxC,KAKApC,oBAAA6E,EAAA9E,EAGAC,oBAAAyB,EAAAvB,EAGAF,oBAAA0C,EAAA,YDIW,SAAS3C,GAEnB,IAAI,GAAIc,KAAKd,GACZ,GAAG+E,OAAOC,UAAUC,eAAezE,KAAKR,EAASc,GAChD,aAAcd,GAAQc,IACtB,IAAK,WAAY,KACjB,KAAK,SAEJd,EAAQc,GAAM,SAASM,GACtB,GAAIC,GAAOD,EAAGE,MAAM,GAAI4D,EAAKlF,EAAQoB,EAAG,GACxC,OAAO,UAAUI,EAAEC,EAAEC,GACpBwD,EAAG/D,MAAMQ,MAAOH,EAAEC,EAAEC,GAAGE,OAAOP,MAE9BrB,EAAQc,GACV,MACD,SAECd,EAAQc,GAAKd,EAAQA,EAAQc,IAKhC,MAAOd","file":"common.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId])\n/******/ \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tvar _m = moreModules[moduleId];\n/******/\n/******/ \t\t\t// Check if module is deduplicated\n/******/ \t\t\tswitch(typeof _m) {\n/******/ \t\t\tcase \"object\":\n/******/ \t\t\t\t// Module can be created from a template\n/******/ \t\t\t\tmodules[moduleId] = (function(_m) {\n/******/ \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n/******/ \t\t\t\t\treturn function (a,b,c) {\n/******/ \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n/******/ \t\t\t\t\t};\n/******/ \t\t\t\t}(_m));\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tcase \"function\":\n/******/ \t\t\t\t// Normal module\n/******/ \t\t\t\tmodules[moduleId] = _m;\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tdefault:\n/******/ \t\t\t\t// Module is a copy of another module\n/******/ \t\t\t\tmodules[moduleId] = modules[_m];\n/******/ \t\t\t\tbreak;\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n/******/ \t\twhile(callbacks.length)\n/******/ \t\t\tcallbacks.shift().call(null, __webpack_require__);\n/******/ \t\tif(moreModules[0]) {\n/******/ \t\t\tinstalledModules[0] = 0;\n/******/ \t\t\treturn __webpack_require__(0);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// object to store loaded and loading chunks\n/******/ \t// \"0\" means \"already loaded\"\n/******/ \t// Array means \"loading\", array contains callbacks\n/******/ \tvar installedChunks = {\n/******/ \t\t31:0\n/******/ \t};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n/******/ \t\t// \"0\" is the signal for \"already loaded\"\n/******/ \t\tif(installedChunks[chunkId] === 0)\n/******/ \t\t\treturn callback.call(null, __webpack_require__);\n/******/\n/******/ \t\t// an array means \"currently loading\".\n/******/ \t\tif(installedChunks[chunkId] !== undefined) {\n/******/ \t\t\tinstalledChunks[chunkId].push(callback);\n/******/ \t\t} else {\n/******/ \t\t\t// start chunk loading\n/******/ \t\t\tinstalledChunks[chunkId] = [callback];\n/******/ \t\t\tvar head = document.getElementsByTagName('head')[0];\n/******/ \t\t\tvar script = document.createElement('script');\n/******/ \t\t\tscript.type = 'text/javascript';\n/******/ \t\t\tscript.charset = 'utf-8';\n/******/ \t\t\tscript.async = true;\n/******/\n/******/ \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"4dd4f378428d1eed85c8\",\"1\":\"0a96f54313c89e541ccb\",\"2\":\"c67aa76cc078c193aed5\",\"3\":\"174a03e48d267820919b\",\"4\":\"98dca3045c034c154d5f\",\"5\":\"5660483641193b7f8295\",\"6\":\"30dce49d17db07600b06\",\"7\":\"896bbffe39433bb598f7\",\"8\":\"54e44b102164ae5e7a67\",\"9\":\"033d7e190ca9e226a5d0\",\"10\":\"8ca60413647062717b1e\",\"11\":\"8a2f7828175824bcd74b\",\"12\":\"1be61e0201691821bff6\",\"13\":\"39e106d56f794ebd06a0\",\"14\":\"bc3f6bc0a67517e7b30f\",\"15\":\"2f5d8e3d4aa4c46188d7\",\"16\":\"aaa39ef2d7e82594efc8\",\"17\":\"70cbb4a91b002338007e\",\"18\":\"56444ebd2456a4ba2201\",\"19\":\"df16abde17a42033a7f8\",\"20\":\"3d4e02d1205a3c9e26c5\",\"21\":\"af1610ce169cf6d1cf4e\",\"22\":\"6a69068a7dd9d767dea1\",\"23\":\"663b89b79d755a70deef\",\"24\":\"d149cf025cbbca231d88\",\"25\":\"1fafd6424761185cc14b\",\"26\":\"402064cda3665d56f7fc\",\"27\":\"997802f273a0c88f7b6d\",\"28\":\"e68c475c6ca1e2eec92c\",\"29\":\"2f4a04c61d75f2ef18ab\",\"30\":\"e97e10c9246818e2b4b2\",\"32\":\"03cc9867716dd58b9302\",\"33\":\"011b367beb543774f950\"}[chunkId] + \".js\";\n/******/ \t\t\thead.appendChild(script);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/static/\";\n/******/ })\n/************************************************************************/\n/******/ ((function(modules) {\n\t// Check all modules for deduplicated modules\n\tfor(var i in modules) {\n\t\tif(Object.prototype.hasOwnProperty.call(modules, i)) {\n\t\t\tswitch(typeof modules[i]) {\n\t\t\tcase \"function\": break;\n\t\t\tcase \"object\":\n\t\t\t\t// Module can be created from a template\n\t\t\t\tmodules[i] = (function(_m) {\n\t\t\t\t\tvar args = _m.slice(1), fn = modules[_m[0]];\n\t\t\t\t\treturn function (a,b,c) {\n\t\t\t\t\t\tfn.apply(this, [a,b,c].concat(args));\n\t\t\t\t\t};\n\t\t\t\t}(modules[i]));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Module is a copy of another module\n\t\t\t\tmodules[i] = modules[modules[i]];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn modules;\n}([])));\n\n\n/** WEBPACK FOOTER **\n ** common.js\n **/"," \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tvar _m = moreModules[moduleId];\n\n \t\t\t// Check if module is deduplicated\n \t\t\tswitch(typeof _m) {\n \t\t\tcase \"object\":\n \t\t\t\t// Module can be created from a template\n \t\t\t\tmodules[moduleId] = (function(_m) {\n \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n \t\t\t\t\treturn function (a,b,c) {\n \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n \t\t\t\t\t};\n \t\t\t\t}(_m));\n \t\t\t\tbreak;\n \t\t\tcase \"function\":\n \t\t\t\t// Normal module\n \t\t\t\tmodules[moduleId] = _m;\n \t\t\t\tbreak;\n \t\t\tdefault:\n \t\t\t\t// Module is a copy of another module\n \t\t\t\tmodules[moduleId] = modules[_m];\n \t\t\t\tbreak;\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n \t\twhile(callbacks.length)\n \t\t\tcallbacks.shift().call(null, __webpack_require__);\n \t\tif(moreModules[0]) {\n \t\t\tinstalledModules[0] = 0;\n \t\t\treturn __webpack_require__(0);\n \t\t}\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// \"0\" means \"already loaded\"\n \t// Array means \"loading\", array contains callbacks\n \tvar installedChunks = {\n \t\t31:0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n \t\t// \"0\" is the signal for \"already loaded\"\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn callback.call(null, __webpack_require__);\n\n \t\t// an array means \"currently loading\".\n \t\tif(installedChunks[chunkId] !== undefined) {\n \t\t\tinstalledChunks[chunkId].push(callback);\n \t\t} else {\n \t\t\t// start chunk loading\n \t\t\tinstalledChunks[chunkId] = [callback];\n \t\t\tvar head = document.getElementsByTagName('head')[0];\n \t\t\tvar script = document.createElement('script');\n \t\t\tscript.type = 'text/javascript';\n \t\t\tscript.charset = 'utf-8';\n \t\t\tscript.async = true;\n\n \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"4dd4f378428d1eed85c8\",\"1\":\"0a96f54313c89e541ccb\",\"2\":\"c67aa76cc078c193aed5\",\"3\":\"174a03e48d267820919b\",\"4\":\"98dca3045c034c154d5f\",\"5\":\"5660483641193b7f8295\",\"6\":\"30dce49d17db07600b06\",\"7\":\"896bbffe39433bb598f7\",\"8\":\"54e44b102164ae5e7a67\",\"9\":\"033d7e190ca9e226a5d0\",\"10\":\"8ca60413647062717b1e\",\"11\":\"8a2f7828175824bcd74b\",\"12\":\"1be61e0201691821bff6\",\"13\":\"39e106d56f794ebd06a0\",\"14\":\"bc3f6bc0a67517e7b30f\",\"15\":\"2f5d8e3d4aa4c46188d7\",\"16\":\"aaa39ef2d7e82594efc8\",\"17\":\"70cbb4a91b002338007e\",\"18\":\"56444ebd2456a4ba2201\",\"19\":\"df16abde17a42033a7f8\",\"20\":\"3d4e02d1205a3c9e26c5\",\"21\":\"af1610ce169cf6d1cf4e\",\"22\":\"6a69068a7dd9d767dea1\",\"23\":\"663b89b79d755a70deef\",\"24\":\"d149cf025cbbca231d88\",\"25\":\"1fafd6424761185cc14b\",\"26\":\"402064cda3665d56f7fc\",\"27\":\"997802f273a0c88f7b6d\",\"28\":\"e68c475c6ca1e2eec92c\",\"29\":\"2f4a04c61d75f2ef18ab\",\"30\":\"e97e10c9246818e2b4b2\",\"32\":\"03cc9867716dd58b9302\",\"33\":\"011b367beb543774f950\"}[chunkId] + \".js\";\n \t\t\thead.appendChild(script);\n \t\t}\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/\";\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 02b371f3b7c1f7cc251e\n **/"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap 3bb9132a729303a06045"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","parentJsonpFunction","window","chunkIds","moreModules","chunkId","i","callbacks","length","installedChunks","push","apply","_m","args","slice","templateId","a","b","c","this","concat","shift","31","e","callback","undefined","head","document","getElementsByTagName","script","createElement","type","charset","async","src","p","0","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","32","33","appendChild","m","Object","prototype","hasOwnProperty","fn"],"mappings":"CAAS,SAAUA,GCwDnB,QAAAC,qBAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAE,WACAE,GAAAJ,EACAK,QAAA,EAUA,OANAP,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,qBAGAI,EAAAE,QAAA,EAGAF,EAAAD,QA3EA,GAAAK,GAAAC,OAAA,YACAA,QAAA,sBAAAC,EAAAC,GAIA,IADA,GAAAV,GAAAW,EAAAC,EAAA,EAAAC,KACQD,EAAAH,EAAAK,OAAoBF,IAC5BD,EAAAF,EAAAG,GACAG,EAAAJ,IACAE,EAAAG,KAAAC,MAAAJ,EAAAE,EAAAJ,IACAI,EAAAJ,GAAA,CAEA,KAAAX,IAAAU,GAAA,CACA,GAAAQ,GAAAR,EAAAV,EAGA,cAAAkB,IACA,aAEApB,EAAAE,GAAA,SAAAkB,GACA,GAAAC,GAAAD,EAAAE,MAAA,GAAAC,EAAAH,EAAA,EACA,iBAAAI,EAAAC,EAAAC,GACA1B,EAAAuB,GAAAJ,MAAAQ,MAAAH,EAAAC,EAAAC,GAAAE,OAAAP,MAEMD,EACN,MACA,gBAEApB,EAAAE,GAAAkB,CACA,MACA,SAEApB,EAAAE,GAAAF,EAAAoB,IAKA,IADAX,KAAAE,EAAAC,GACAG,EAAAC,QACAD,EAAAc,QAAArB,KAAA,KAAAP,oBACA,IAAAW,EAAA,GAEA,MADAT,GAAA,KACAF,oBAAA,GAKA,IAAAE,MAKAc,GACAa,GAAA,EA6BA7B,qBAAA8B,EAAA,SAAAlB,EAAAmB,GAEA,OAAAf,EAAAJ,GACA,MAAAmB,GAAAxB,KAAA,KAAAP,oBAGA,IAAAgC,SAAAhB,EAAAJ,GACAI,EAAAJ,GAAAK,KAAAc,OACI,CAEJf,EAAAJ,IAAAmB,EACA,IAAAE,GAAAC,SAAAC,qBAAA,WACAC,EAAAF,SAAAG,cAAA,SACAD,GAAAE,KAAA,kBACAF,EAAAG,QAAA,QACAH,EAAAI,OAAA,EAEAJ,EAAAK,IAAAzC,oBAAA0C,EAAA,UAAA9B,EAAA,KAAsE+B,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,wBAAk5B/D,GAAA,MACx9BqB,EAAA2C,YAAAxC,KAKApC,oBAAA6E,EAAA9E,EAGAC,oBAAAyB,EAAAvB,EAGAF,oBAAA0C,EAAA,YDIW,SAAS3C,GAEnB,IAAI,GAAIc,KAAKd,GACZ,GAAG+E,OAAOC,UAAUC,eAAezE,KAAKR,EAASc,GAChD,aAAcd,GAAQc,IACtB,IAAK,WAAY,KACjB,KAAK,SAEJd,EAAQc,GAAM,SAASM,GACtB,GAAIC,GAAOD,EAAGE,MAAM,GAAI4D,EAAKlF,EAAQoB,EAAG,GACxC,OAAO,UAAUI,EAAEC,EAAEC,GACpBwD,EAAG/D,MAAMQ,MAAOH,EAAEC,EAAEC,GAAGE,OAAOP,MAE9BrB,EAAQc,GACV,MACD,SAECd,EAAQc,GAAKd,EAAQA,EAAQc,IAKhC,MAAOd","file":"common.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId])\n/******/ \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tvar _m = moreModules[moduleId];\n/******/\n/******/ \t\t\t// Check if module is deduplicated\n/******/ \t\t\tswitch(typeof _m) {\n/******/ \t\t\tcase \"object\":\n/******/ \t\t\t\t// Module can be created from a template\n/******/ \t\t\t\tmodules[moduleId] = (function(_m) {\n/******/ \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n/******/ \t\t\t\t\treturn function (a,b,c) {\n/******/ \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n/******/ \t\t\t\t\t};\n/******/ \t\t\t\t}(_m));\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tcase \"function\":\n/******/ \t\t\t\t// Normal module\n/******/ \t\t\t\tmodules[moduleId] = _m;\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tdefault:\n/******/ \t\t\t\t// Module is a copy of another module\n/******/ \t\t\t\tmodules[moduleId] = modules[_m];\n/******/ \t\t\t\tbreak;\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n/******/ \t\twhile(callbacks.length)\n/******/ \t\t\tcallbacks.shift().call(null, __webpack_require__);\n/******/ \t\tif(moreModules[0]) {\n/******/ \t\t\tinstalledModules[0] = 0;\n/******/ \t\t\treturn __webpack_require__(0);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// object to store loaded and loading chunks\n/******/ \t// \"0\" means \"already loaded\"\n/******/ \t// Array means \"loading\", array contains callbacks\n/******/ \tvar installedChunks = {\n/******/ \t\t31:0\n/******/ \t};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n/******/ \t\t// \"0\" is the signal for \"already loaded\"\n/******/ \t\tif(installedChunks[chunkId] === 0)\n/******/ \t\t\treturn callback.call(null, __webpack_require__);\n/******/\n/******/ \t\t// an array means \"currently loading\".\n/******/ \t\tif(installedChunks[chunkId] !== undefined) {\n/******/ \t\t\tinstalledChunks[chunkId].push(callback);\n/******/ \t\t} else {\n/******/ \t\t\t// start chunk loading\n/******/ \t\t\tinstalledChunks[chunkId] = [callback];\n/******/ \t\t\tvar head = document.getElementsByTagName('head')[0];\n/******/ \t\t\tvar script = document.createElement('script');\n/******/ \t\t\tscript.type = 'text/javascript';\n/******/ \t\t\tscript.charset = 'utf-8';\n/******/ \t\t\tscript.async = true;\n/******/\n/******/ \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"4dd4f378428d1eed85c8\",\"1\":\"0a96f54313c89e541ccb\",\"2\":\"c67aa76cc078c193aed5\",\"3\":\"174a03e48d267820919b\",\"4\":\"98dca3045c034c154d5f\",\"5\":\"343ca020a2d38cec1a14\",\"6\":\"a3b07de9dd2ca2d24e85\",\"7\":\"896bbffe39433bb598f7\",\"8\":\"462bb3029de008497675\",\"9\":\"033d7e190ca9e226a5d0\",\"10\":\"8ca60413647062717b1e\",\"11\":\"51d706fb9521c16976bc\",\"12\":\"1be61e0201691821bff6\",\"13\":\"39e106d56f794ebd06a0\",\"14\":\"bc3f6bc0a67517e7b30f\",\"15\":\"2f5d8e3d4aa4c46188d7\",\"16\":\"aaa39ef2d7e82594efc8\",\"17\":\"70cbb4a91b002338007e\",\"18\":\"56444ebd2456a4ba2201\",\"19\":\"a348a5fff8fe2801e52a\",\"20\":\"3d4e02d1205a3c9e26c5\",\"21\":\"af1610ce169cf6d1cf4e\",\"22\":\"6a69068a7dd9d767dea1\",\"23\":\"663b89b79d755a70deef\",\"24\":\"d149cf025cbbca231d88\",\"25\":\"1fafd6424761185cc14b\",\"26\":\"402064cda3665d56f7fc\",\"27\":\"997802f273a0c88f7b6d\",\"28\":\"e68c475c6ca1e2eec92c\",\"29\":\"2f4a04c61d75f2ef18ab\",\"30\":\"e97e10c9246818e2b4b2\",\"32\":\"03cc9867716dd58b9302\",\"33\":\"011b367beb543774f950\"}[chunkId] + \".js\";\n/******/ \t\t\thead.appendChild(script);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/static/\";\n/******/ })\n/************************************************************************/\n/******/ ((function(modules) {\n\t// Check all modules for deduplicated modules\n\tfor(var i in modules) {\n\t\tif(Object.prototype.hasOwnProperty.call(modules, i)) {\n\t\t\tswitch(typeof modules[i]) {\n\t\t\tcase \"function\": break;\n\t\t\tcase \"object\":\n\t\t\t\t// Module can be created from a template\n\t\t\t\tmodules[i] = (function(_m) {\n\t\t\t\t\tvar args = _m.slice(1), fn = modules[_m[0]];\n\t\t\t\t\treturn function (a,b,c) {\n\t\t\t\t\t\tfn.apply(this, [a,b,c].concat(args));\n\t\t\t\t\t};\n\t\t\t\t}(modules[i]));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Module is a copy of another module\n\t\t\t\tmodules[i] = modules[modules[i]];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn modules;\n}([])));\n\n\n/** WEBPACK FOOTER **\n ** common.js\n **/"," \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tvar _m = moreModules[moduleId];\n\n \t\t\t// Check if module is deduplicated\n \t\t\tswitch(typeof _m) {\n \t\t\tcase \"object\":\n \t\t\t\t// Module can be created from a template\n \t\t\t\tmodules[moduleId] = (function(_m) {\n \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n \t\t\t\t\treturn function (a,b,c) {\n \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n \t\t\t\t\t};\n \t\t\t\t}(_m));\n \t\t\t\tbreak;\n \t\t\tcase \"function\":\n \t\t\t\t// Normal module\n \t\t\t\tmodules[moduleId] = _m;\n \t\t\t\tbreak;\n \t\t\tdefault:\n \t\t\t\t// Module is a copy of another module\n \t\t\t\tmodules[moduleId] = modules[_m];\n \t\t\t\tbreak;\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n \t\twhile(callbacks.length)\n \t\t\tcallbacks.shift().call(null, __webpack_require__);\n \t\tif(moreModules[0]) {\n \t\t\tinstalledModules[0] = 0;\n \t\t\treturn __webpack_require__(0);\n \t\t}\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// \"0\" means \"already loaded\"\n \t// Array means \"loading\", array contains callbacks\n \tvar installedChunks = {\n \t\t31:0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n \t\t// \"0\" is the signal for \"already loaded\"\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn callback.call(null, __webpack_require__);\n\n \t\t// an array means \"currently loading\".\n \t\tif(installedChunks[chunkId] !== undefined) {\n \t\t\tinstalledChunks[chunkId].push(callback);\n \t\t} else {\n \t\t\t// start chunk loading\n \t\t\tinstalledChunks[chunkId] = [callback];\n \t\t\tvar head = document.getElementsByTagName('head')[0];\n \t\t\tvar script = document.createElement('script');\n \t\t\tscript.type = 'text/javascript';\n \t\t\tscript.charset = 'utf-8';\n \t\t\tscript.async = true;\n\n \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"4dd4f378428d1eed85c8\",\"1\":\"0a96f54313c89e541ccb\",\"2\":\"c67aa76cc078c193aed5\",\"3\":\"174a03e48d267820919b\",\"4\":\"98dca3045c034c154d5f\",\"5\":\"343ca020a2d38cec1a14\",\"6\":\"a3b07de9dd2ca2d24e85\",\"7\":\"896bbffe39433bb598f7\",\"8\":\"462bb3029de008497675\",\"9\":\"033d7e190ca9e226a5d0\",\"10\":\"8ca60413647062717b1e\",\"11\":\"51d706fb9521c16976bc\",\"12\":\"1be61e0201691821bff6\",\"13\":\"39e106d56f794ebd06a0\",\"14\":\"bc3f6bc0a67517e7b30f\",\"15\":\"2f5d8e3d4aa4c46188d7\",\"16\":\"aaa39ef2d7e82594efc8\",\"17\":\"70cbb4a91b002338007e\",\"18\":\"56444ebd2456a4ba2201\",\"19\":\"a348a5fff8fe2801e52a\",\"20\":\"3d4e02d1205a3c9e26c5\",\"21\":\"af1610ce169cf6d1cf4e\",\"22\":\"6a69068a7dd9d767dea1\",\"23\":\"663b89b79d755a70deef\",\"24\":\"d149cf025cbbca231d88\",\"25\":\"1fafd6424761185cc14b\",\"26\":\"402064cda3665d56f7fc\",\"27\":\"997802f273a0c88f7b6d\",\"28\":\"e68c475c6ca1e2eec92c\",\"29\":\"2f4a04c61d75f2ef18ab\",\"30\":\"e97e10c9246818e2b4b2\",\"32\":\"03cc9867716dd58b9302\",\"33\":\"011b367beb543774f950\"}[chunkId] + \".js\";\n \t\t\thead.appendChild(script);\n \t\t}\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/\";\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 3bb9132a729303a06045\n **/"],"sourceRoot":""}
@@ -1,4 +1,4 @@
1
- from datetime import datetime
1
+ from datetime import datetime, timedelta
2
2
  from xml.etree.ElementTree import XML
3
3
 
4
4
  import feedparser
@@ -710,19 +710,19 @@ class DataserviceRdfViewsTest:
710
710
 
711
711
  class DataservicesFeedAPItest(APITestCase):
712
712
  def test_recent_feed(self):
713
- dataservices = [DataserviceFactory() for i in range(3)]
713
+ DataserviceFactory(title="A", created_at=datetime.utcnow())
714
+ DataserviceFactory(title="B", created_at=datetime.utcnow() - timedelta(days=2))
715
+ DataserviceFactory(title="C", created_at=datetime.utcnow() - timedelta(days=1))
714
716
 
715
717
  response = self.get(url_for("api.recent_dataservices_atom_feed"))
716
-
717
718
  self.assert200(response)
718
719
 
719
720
  feed = feedparser.parse(response.data)
720
721
 
721
- self.assertEqual(len(feed.entries), len(dataservices))
722
- for i in range(1, len(feed.entries)):
723
- published_date = feed.entries[i].published_parsed
724
- prev_published_date = feed.entries[i - 1].published_parsed
725
- self.assertGreaterEqual(prev_published_date, published_date)
722
+ self.assertEqual(len(feed.entries), 3)
723
+ self.assertEqual(feed.entries[0].title, "A")
724
+ self.assertEqual(feed.entries[1].title, "C")
725
+ self.assertEqual(feed.entries[2].title, "B")
726
726
 
727
727
  def test_recent_feed_owner(self):
728
728
  owner = UserFactory()
@@ -1,5 +1,5 @@
1
1
  import json
2
- from datetime import datetime
2
+ from datetime import datetime, timedelta
3
3
  from io import BytesIO
4
4
  from uuid import uuid4
5
5
 
@@ -1275,19 +1275,29 @@ class DatasetAPITest(APITestCase):
1275
1275
 
1276
1276
  class DatasetsFeedAPItest(APITestCase):
1277
1277
  def test_recent_feed(self):
1278
- datasets = [DatasetFactory(resources=[ResourceFactory()]) for i in range(3)]
1278
+ DatasetFactory(
1279
+ title="A", resources=[ResourceFactory()], created_at_internal=datetime.utcnow()
1280
+ )
1281
+ DatasetFactory(
1282
+ title="B",
1283
+ resources=[ResourceFactory()],
1284
+ created_at_internal=datetime.utcnow() - timedelta(days=2),
1285
+ )
1286
+ DatasetFactory(
1287
+ title="C",
1288
+ resources=[ResourceFactory()],
1289
+ created_at_internal=datetime.utcnow() - timedelta(days=1),
1290
+ )
1279
1291
 
1280
1292
  response = self.get(url_for("api.recent_datasets_atom_feed"))
1281
-
1282
1293
  self.assert200(response)
1283
1294
 
1284
1295
  feed = feedparser.parse(response.data)
1285
1296
 
1286
- self.assertEqual(len(feed.entries), len(datasets))
1287
- for i in range(1, len(feed.entries)):
1288
- published_date = feed.entries[i].published_parsed
1289
- prev_published_date = feed.entries[i - 1].published_parsed
1290
- self.assertGreaterEqual(prev_published_date, published_date)
1297
+ self.assertEqual(len(feed.entries), 3)
1298
+ self.assertEqual(feed.entries[0].title, "A")
1299
+ self.assertEqual(feed.entries[1].title, "C")
1300
+ self.assertEqual(feed.entries[2].title, "B")
1291
1301
 
1292
1302
  def test_recent_feed_owner(self):
1293
1303
  owner = UserFactory()
@@ -49,10 +49,11 @@ class OrganizationAPITest:
49
49
 
50
50
  def test_organization_api_list_with_filters(self, api):
51
51
  """It should filter the organization list"""
52
- _org = OrganizationFactory()
52
+ org = OrganizationFactory(business_number_id="13002526500013")
53
53
  org_public_service = OrganizationFactory()
54
54
  org_public_service.add_badge(org_constants.PUBLIC_SERVICE)
55
55
 
56
+ #### Badges ####
56
57
  response = api.get(url_for("api.organizations", badge=org_constants.PUBLIC_SERVICE))
57
58
  assert200(response)
58
59
  assert len(response.json["data"]) == 1
@@ -61,6 +62,27 @@ class OrganizationAPITest:
61
62
  response = api.get(url_for("api.organizations", badge="bad-badge"))
62
63
  assert400(response)
63
64
 
65
+ #### Name ####
66
+ response = api.get(url_for("api.organizations", name=org.name))
67
+ assert200(response)
68
+ assert len(response.json["data"]) == 1
69
+ assert response.json["data"][0]["id"] == str(org.id)
70
+
71
+ response = api.get(url_for("api.organizations", name="Some other name"))
72
+ assert200(response)
73
+ assert len(response.json["data"]) == 0
74
+
75
+ #### SIRET ####
76
+ response = api.get(url_for("api.organizations", business_number_id=org.business_number_id))
77
+ assert200(response)
78
+ print(response.json["data"])
79
+ assert len(response.json["data"]) == 1
80
+ assert response.json["data"][0]["id"] == str(org.id)
81
+
82
+ response = api.get(url_for("api.organizations", business_number_id="xxx"))
83
+ assert200(response)
84
+ assert len(response.json["data"]) == 0
85
+
64
86
  def test_organization_role_api_get(self, api):
65
87
  """It should fetch an organization's roles list from the API"""
66
88
  response = api.get(url_for("api.org_roles"))
@@ -1,4 +1,4 @@
1
- from datetime import datetime
1
+ from datetime import datetime, timedelta
2
2
 
3
3
  import feedparser
4
4
  import pytest
@@ -573,19 +573,23 @@ class ReuseAPITest:
573
573
 
574
574
  class ReusesFeedAPItest(APITestCase):
575
575
  def test_recent_feed(self):
576
- datasets = [ReuseFactory(datasets=[DatasetFactory()]) for i in range(3)]
576
+ ReuseFactory(title="A", datasets=[DatasetFactory()], created_at=datetime.utcnow())
577
+ ReuseFactory(
578
+ title="B", datasets=[DatasetFactory()], created_at=datetime.utcnow() - timedelta(days=2)
579
+ )
580
+ ReuseFactory(
581
+ title="C", datasets=[DatasetFactory()], created_at=datetime.utcnow() - timedelta(days=1)
582
+ )
577
583
 
578
584
  response = self.get(url_for("api.recent_reuses_atom_feed"))
579
-
580
585
  self.assert200(response)
581
586
 
582
587
  feed = feedparser.parse(response.data)
583
588
 
584
- self.assertEqual(len(feed.entries), len(datasets))
585
- for i in range(1, len(feed.entries)):
586
- published_date = feed.entries[i].published_parsed
587
- prev_published_date = feed.entries[i - 1].published_parsed
588
- self.assertGreaterEqual(prev_published_date, published_date)
589
+ self.assertEqual(len(feed.entries), 3)
590
+ self.assertEqual(feed.entries[0].title, "A")
591
+ self.assertEqual(feed.entries[1].title, "C")
592
+ self.assertEqual(feed.entries[2].title, "B")
589
593
 
590
594
  def test_recent_feed_owner(self):
591
595
  owner = UserFactory()
@@ -1,120 +1,69 @@
1
1
  import pytest
2
2
 
3
- from udata.core.dataset.factories import DatasetFactory
4
- from udata.core.dataset.preview import PreviewPlugin, PreviewWarning
3
+ from udata.core.dataset.factories import ResourceFactory
5
4
 
6
- pytestmark = [pytest.mark.usefixtures("clean_db")]
5
+ DUMMY_EXTRAS = {
6
+ "analysis:parsing:finished_at": "1987-12-23T10:55:00.000000+00:00",
7
+ "analysis:parsing:parsing_table": "xxx",
8
+ }
9
+ MAX_SIZE = 50000
7
10
 
8
- PREVIEW_URL = "http://preview"
9
- FALLBACK_PREVIEW_URL = "http://preview/default"
11
+ pytestmark = [
12
+ pytest.mark.usefixtures("clean_db"),
13
+ pytest.mark.options(PLUGINS=["tabular"]),
14
+ pytest.mark.frontend,
15
+ ]
10
16
 
11
17
 
12
- class AlwaysPreview(PreviewPlugin):
13
- def can_preview(self, resource):
14
- return True
18
+ def expected_url(rid):
19
+ return "http://preview.me/resources/{0}".format(rid)
15
20
 
16
- def preview_url(self, resource):
17
- return PREVIEW_URL
18
21
 
22
+ @pytest.mark.options(TABULAR_EXPLORE_URL="http://preview.me")
23
+ def test_display_preview_for_tabular_resources():
24
+ resource = ResourceFactory(extras=DUMMY_EXTRAS)
25
+ assert resource.preview_url == expected_url(resource.id)
19
26
 
20
- class NeverPreview(PreviewPlugin):
21
- def can_preview(self, resource):
22
- return False
23
27
 
24
- def preview_url(self, resource):
25
- return PREVIEW_URL
28
+ @pytest.mark.options(TABULAR_EXPLORE_URL=None)
29
+ def test_no_preview_if_no_conf():
30
+ assert ResourceFactory(extras=DUMMY_EXTRAS).preview_url is None
26
31
 
27
32
 
28
- class PreviewFromDataset(PreviewPlugin):
29
- def can_preview(self, resource):
30
- return True
33
+ @pytest.mark.options(TABULAR_EXPLORE_URL="http://preview.me")
34
+ def test_default_allow_remote_preview():
35
+ resources = [
36
+ ResourceFactory(extras=DUMMY_EXTRAS),
37
+ ResourceFactory(filetype="remote", extras=DUMMY_EXTRAS),
38
+ ]
31
39
 
32
- def preview_url(self, resource):
33
- return resource.dataset.extras["preview"]
40
+ for resource in resources:
41
+ assert resource.preview_url == expected_url(resource.id)
34
42
 
35
43
 
36
- class FallbackPreview(PreviewPlugin):
37
- fallback = True
44
+ @pytest.mark.options(
45
+ TABULAR_EXPLORE_URL="http://preview.me",
46
+ TABULAR_ALLOW_REMOTE=False,
47
+ )
48
+ def test_allow_remote_preview_false():
49
+ local = ResourceFactory(extras=DUMMY_EXTRAS)
50
+ remote = ResourceFactory(filetype="remote", extras=DUMMY_EXTRAS)
38
51
 
39
- def can_preview(self, resource):
40
- return True
52
+ assert local.preview_url == expected_url(local.id)
53
+ assert remote.preview_url is None
41
54
 
42
- def preview_url(self, resource):
43
- return FALLBACK_PREVIEW_URL
44
55
 
56
+ @pytest.mark.options(TABULAR_EXPLORE_URL="http://preview.me")
57
+ def test_display_preview_without_max_size():
58
+ resource = ResourceFactory(extras=DUMMY_EXTRAS, filesize=2 * MAX_SIZE)
45
59
 
46
- class NotAValidPlugin(object):
47
- fallback = False
60
+ assert resource.preview_url == expected_url(resource.id)
48
61
 
49
- def can_preview(self, resource):
50
- return True
51
62
 
52
- def preview_url(self, resource):
53
- return PREVIEW_URL
63
+ @pytest.mark.options(TABULAR_EXPLORE_URL="http://preview.me")
64
+ def test_no_preview_if_no_parsing_table_info():
65
+ extras = DUMMY_EXTRAS
66
+ del extras["analysis:parsing:parsing_table"]
54
67
 
55
-
56
- class ResourcePreviewTest:
57
- @pytest.fixture(autouse=True)
58
- def patch_entrypoint(self, request, mocker, app):
59
- marker = request.node.get_closest_marker("preview")
60
- plugins = marker.args[0] if marker else []
61
- m = mocker.patch("udata.entrypoints.get_enabled")
62
- m.return_value.values.return_value = plugins # Keep order
63
- yield
64
- m.assert_called_with("udata.preview", app)
65
-
66
- def test_preview_is_none_by_default(self):
67
- dataset = DatasetFactory(visible=True)
68
- resource = dataset.resources[0]
69
- assert resource.preview_url is None
70
-
71
- @pytest.mark.preview([NeverPreview])
72
- def test_resource_has_no_preview(self):
73
- dataset = DatasetFactory(visible=True)
74
- resource = dataset.resources[0]
75
- assert resource.preview_url is None
76
-
77
- @pytest.mark.preview([AlwaysPreview])
78
- def test_resource_has_preview(self):
79
- dataset = DatasetFactory(visible=True)
80
- resource = dataset.resources[0]
81
- assert resource.preview_url == PREVIEW_URL
82
-
83
- @pytest.mark.preview([AlwaysPreview, NeverPreview, NeverPreview])
84
- def test_resource_has_one_preview_with_multiple_plugins(self):
85
- dataset = DatasetFactory(visible=True)
86
- resource = dataset.resources[0]
87
- assert resource.preview_url == PREVIEW_URL
88
-
89
- @pytest.mark.preview([PreviewFromDataset])
90
- def test_can_access_dataset_metadata(self):
91
- dataset = DatasetFactory(visible=True, extras={"preview": PREVIEW_URL})
92
- resource = dataset.resources[0]
93
- assert resource.preview_url == PREVIEW_URL
94
-
95
- @pytest.mark.preview([AlwaysPreview, AlwaysPreview])
96
- def test_can_have_multiple_candidates(self):
97
- dataset = DatasetFactory(visible=True)
98
- resource = dataset.resources[0]
99
- assert resource.preview_url == PREVIEW_URL
100
-
101
- # order matters to ensure test is failing
102
- @pytest.mark.preview([NeverPreview, FallbackPreview, AlwaysPreview])
103
- def test_fallback_preview_comes_after(self):
104
- dataset = DatasetFactory(visible=True)
105
- resource = dataset.resources[0]
106
- assert resource.preview_url == PREVIEW_URL
107
-
108
- @pytest.mark.preview([NeverPreview, FallbackPreview])
109
- def test_fallback_on_default_preview(self):
110
- dataset = DatasetFactory(visible=True)
111
- resource = dataset.resources[0]
112
- assert resource.preview_url == FALLBACK_PREVIEW_URL
113
-
114
- @pytest.mark.preview([NotAValidPlugin])
115
- def test_warn_but_ignore_invalid_plugins(self):
116
- expected_msg = "NotAValidPlugin is not a valid preview plugin"
117
- with pytest.warns(PreviewWarning, match=expected_msg):
118
- dataset = DatasetFactory(visible=True)
119
- resource = dataset.resources[0]
120
- assert resource.preview_url is None
68
+ resource = ResourceFactory(extras=extras, filesize=2 * MAX_SIZE)
69
+ assert resource.preview_url is None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: udata
3
- Version: 10.6.1.dev36110
3
+ Version: 10.6.1.dev36176
4
4
  Summary: Open data portal
5
5
  Home-page: https://github.com/opendatateam/udata
6
6
  Author: Opendata Team
@@ -142,7 +142,11 @@ It is collectively taken care of by members of the
142
142
 
143
143
  ## Current (in progress)
144
144
 
145
+ - Add name and siret filters for orgs [#3362](https://github.com/opendatateam/udata/pull/3362)
145
146
  - Refactor how to get URLs to the cdata front-end, need to set the `CDATA_BASE_URL` env variable (removal of `endpoint_for()`, `fields.UrlFor()`, `display_url`, `external_url` and `external_url_with_campaign`) [#3345](https://github.com/opendatateam/udata/pull/3345)
147
+ - Add back preview_url from tabular API (remove the PreviewPlugin system) [#3364](https://github.com/opendatateam/udata/pull/3364)
148
+ - Do not crash on invalid schemas API JSON [#3363](https://github.com/opendatateam/udata/pull/3363/)
149
+ - Fix flaky test on timed recent Atom feeds [#3365](https://github.com/opendatateam/udata/pull/3365)
146
150
 
147
151
  ## 10.6.0 (2025-07-08)
148
152
 
@@ -13,7 +13,7 @@ udata/mail.py,sha256=FMGHcDAjHvk86iDUwBmVXpx3vbAb2c-j5C3BRnh9IYQ,2670
13
13
  udata/rdf.py,sha256=NUuE-zCAmyFBlKpNEXIO98uIfup_JS-qggqP1_Z8RJ8,18307
14
14
  udata/routing.py,sha256=OZOcgQ3x5eEuV7R58ouft9ORKDx0hf4oRUJLumRz89U,7739
15
15
  udata/sentry.py,sha256=ekcxqUSqxfM98TtvCsPaOoX5i2l6PEcYt7kb4l3od-Q,3223
16
- udata/settings.py,sha256=gR1HdaPFGjXwHJPNW79I_36zzzUumpb07piJpes3caE,19603
16
+ udata/settings.py,sha256=uf2EfhZ4Ps1u6FW03xobVjxUBwthqsXyj5n2dgNi8yg,19667
17
17
  udata/sitemap.py,sha256=oRRWoPI7ZsFFnUAOqGT1YuXFFKHBe8EcRnUCNHD7xjM,979
18
18
  udata/tags.py,sha256=ydq4uokd6bzdeGVSpEXASVtGvDfO2LfQs9mptvvKJCM,631
19
19
  udata/tasks.py,sha256=yTYBJG5bzEChX27p3MSqurSji84rg7w7OUvK4vuPRfY,5080
@@ -83,7 +83,7 @@ udata/core/contact_point/forms.py,sha256=oBe1agSJFyx2QRgYzPRg2A7qVscaBTaKG4V-AyI
83
83
  udata/core/contact_point/models.py,sha256=Xqmqg7S13gcaKxiQT52WHeQEHTaUDDGIXInXyqNh4Po,854
84
84
  udata/core/dataservices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
85
  udata/core/dataservices/activities.py,sha256=CJK9DAohrG70YZAedHk3UdyIlF9cLaYeV6TR-aHosOs,1619
86
- udata/core/dataservices/api.py,sha256=ksHdSZyzAAm7e-HPsK07hCPyflSi5dhVqUSroCN-8g4,9325
86
+ udata/core/dataservices/api.py,sha256=drziW8nXh6gmVqbsJnlXPpGiwVXngfuUWZE7b0nJCzU,9290
87
87
  udata/core/dataservices/apiv2.py,sha256=pd4UWF6m7pQ5nmBRFmeiDyedhZSngz211to6qTscVsA,1205
88
88
  udata/core/dataservices/constants.py,sha256=SxetyqvbWQlb-T9Bqn7mdfzV3vS-is7s56rzmGzTXY0,1029
89
89
  udata/core/dataservices/csv.py,sha256=pcNIeGaCzBMMna3n3YqHjsoXzfLtg_ITtDmdKb9svDc,1053
@@ -106,9 +106,9 @@ udata/core/dataset/events.py,sha256=bSM0nFEX14r4JHc-bAM-7OOuD3JAxUIpw9GgXbOsUyw,
106
106
  udata/core/dataset/exceptions.py,sha256=uKiayLSpSzsnLvClObS6hOO0qXEqvURKN7_w8eimQNU,498
107
107
  udata/core/dataset/factories.py,sha256=fRDWDlybR_ud4pDs1-ntWuYHKtV9LMHeBOBp2SmTT6M,9006
108
108
  udata/core/dataset/forms.py,sha256=7KUxuFcEGT0MUe0cZCiZtsnZhvGgvEd68pe13NgeSMI,6292
109
- udata/core/dataset/models.py,sha256=M4DYUG5xtsoSc8eLAD4xWliKJod7PbYp0HiQn6d-ZAc,42872
109
+ udata/core/dataset/models.py,sha256=PsDDCsbkbVu1-OXoClsr46hgGTG_3ZJ21I7PkjV8sgE,43082
110
110
  udata/core/dataset/permissions.py,sha256=zXQ6kU-Ni3Pl5tDtat-ZPupug9InsNeCN7xRLc2Vcrc,1097
111
- udata/core/dataset/preview.py,sha256=IwCqiNTjjXbtA_SSKF52pwnzKKEz0GyYM95QNn2Dkog,2561
111
+ udata/core/dataset/preview.py,sha256=qXmd4-nKvIPtcKLrMqC-aJne4-vMIiq_NubpX39D6I0,855
112
112
  udata/core/dataset/rdf.py,sha256=PFSzkpTFRdpa4cF-mxYU7IV1cJ73m80MmX-GZfWk3hg,30845
113
113
  udata/core/dataset/recommendations.py,sha256=DlGSLU8D0nW6Ds1rjBav1WxC-0VW5yOCjkO5w-ltFcI,7171
114
114
  udata/core/dataset/search.py,sha256=B8s4vp4Z5pma5c_Wm03Ncaeoi3LtX6jhbiaWd20bomI,5625
@@ -148,7 +148,7 @@ udata/core/metrics/signals.py,sha256=9mdJW__gR2GJT3huBr6HN2SDhKYJRgNbW9dnh48cAnU
148
148
  udata/core/metrics/tasks.py,sha256=usv93kxRX5cJ3Xl3bTc8YUnVLUqtGYje_Qa71gsHPsU,858
149
149
  udata/core/organization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
150
150
  udata/core/organization/activities.py,sha256=Mw4-R8Q6G745IZnCDgrj7h2ax2crGYRhZtcewSK6_Ok,1213
151
- udata/core/organization/api.py,sha256=TE9c1FS5tHcmCYwY_v_WEvJcZTifv-ca4ENBrPmWuWo,20975
151
+ udata/core/organization/api.py,sha256=bjAxeQjCoaZBLNRdENwyANTds98DZzKfm9sylo-s1Wg,21455
152
152
  udata/core/organization/api_fields.py,sha256=trvho6ssvh8ZfDmSj7ZWSWVJ03KD061aq39CuaxxRyM,7729
153
153
  udata/core/organization/apiv2.py,sha256=fLMN5T7s8yF4u7c1WWHXMqQAlyH2OCSyAfmleiFlf7M,3037
154
154
  udata/core/organization/commands.py,sha256=DsRAtFDZvTciYNsUWumQWdn0jnNmKW-PwfIHUUZoBb8,1591
@@ -449,8 +449,8 @@ udata/static/admin.css,sha256=gPM7oSehylBXQXyv0-gQ1LuyJiI1STQ_swM4CHjq_cs,185748
449
449
  udata/static/admin.css.map,sha256=dzFd_AL3pQPFiww5oRwqnubDGJ9HNtYuAaiggLTjjB0,627543
450
450
  udata/static/admin.js,sha256=iQnNCFKqwiSIMyJIeDBAD_gEwv8fABrzK5CoK3PZZME,1330409
451
451
  udata/static/admin.js.map,sha256=09cK62bu_h0M4ajLf-Y2-sQCUFYPWKRw1PCQWQvfQyM,8518351
452
- udata/static/common.js,sha256=JDeOo7xfehNTfgF7jY97BgsUpYbYFKL2FZ7Z0liDIOw,2252
453
- udata/static/common.js.map,sha256=ProEYIDgUTGLljY0j2Lysqk8OEXNg4_LeQvibkEUZtA,14137
452
+ udata/static/common.js,sha256=WI9YGWdJGoQIQzUdOaaawJ2e4fk7w6ZvvT75cPfLPhw,2252
453
+ udata/static/common.js.map,sha256=SsuGjmUPpykjKvOk9NGe_bqDhlQvrhUX8YWoNYR012M,14137
454
454
  udata/static/fontawesome-webfont.eot,sha256=e_yrbbmdXPvxcFygU23ceFhUMsxfpBu9etDwCQM7KXk,165742
455
455
  udata/static/fontawesome-webfont.svg,sha256=rWFXkmwWIrpOHQPUePFUE2hSS_xG9R5C_g2UX37zI-Q,444379
456
456
  udata/static/fontawesome-webfont.ttf,sha256=qljzPyOaD7AvXHpsRcBD16msmgkzNYBmlOzW1O3A1qg,165548
@@ -469,8 +469,8 @@ udata/static/chunks/1.0a96f54313c89e541ccb.js,sha256=A-lYXUeTLFOd_al9J_EpYMsbJZR
469
469
  udata/static/chunks/1.0a96f54313c89e541ccb.js.map,sha256=Z4uWu-Bwj4JnQ49hqzkbRrfbtRUm65X93JQyDV6aLTM,1741737
470
470
  udata/static/chunks/10.8ca60413647062717b1e.js,sha256=_jYUDOKowPicIui04ekBIOQvXAcF-ypsX5oxiORA8pw,414740
471
471
  udata/static/chunks/10.8ca60413647062717b1e.js.map,sha256=XjAwHasDgaIA5idTs79YNuDC9Zlit8Xg20vSRptk03U,2736059
472
- udata/static/chunks/11.8a2f7828175824bcd74b.js,sha256=zMzN2EWJTtTpYYawc1xYwiZcFetNJRMMTSMuPtNCKnQ,395562
473
- udata/static/chunks/11.8a2f7828175824bcd74b.js.map,sha256=OuDtGbQp7SUl-WLAw1uWEBwI6D6rwIHY8nkYs_UoJGE,2268951
472
+ udata/static/chunks/11.51d706fb9521c16976bc.js,sha256=7vyFwTUxeDitXti-Nm29VxQfCphUgO5i9cQwdbztJJg,395562
473
+ udata/static/chunks/11.51d706fb9521c16976bc.js.map,sha256=Bu6vERhr4jiQ6PRN53Ynh8wME5stIE1SC794VSsINrs,2268951
474
474
  udata/static/chunks/12.1be61e0201691821bff6.js,sha256=oveRcMtBsi97LUeAX86LjSAEVIpNxfWGHVovetKfPTw,421097
475
475
  udata/static/chunks/12.1be61e0201691821bff6.js.map,sha256=ikkgGwMdOXW4ZXyucmqrxLqJQHIcXJJoMMNt01QFrZM,2442221
476
476
  udata/static/chunks/13.39e106d56f794ebd06a0.js,sha256=FZEvPvSxnGW3XGJ0q-Zxv18sVjBfS_Z5MgyKI3ozfZs,420590
@@ -485,8 +485,8 @@ udata/static/chunks/17.70cbb4a91b002338007e.js,sha256=5t94NuMrHruXaJ6SrDiutIfgMr
485
485
  udata/static/chunks/17.70cbb4a91b002338007e.js.map,sha256=weW85JpVW5lS2pNf-2OOjg05ibawV8ASdvzt6bMx6HE,1289996
486
486
  udata/static/chunks/18.56444ebd2456a4ba2201.js,sha256=o78S_10_0k6kL0HbpDlbKZ5tZ-DCe6Y9XBex-SFS_s4,50384
487
487
  udata/static/chunks/18.56444ebd2456a4ba2201.js.map,sha256=Xdv5UJ1TG-LZIlUjZm-yv59KA1omSq2dr8Ukfec46UE,277805
488
- udata/static/chunks/19.df16abde17a42033a7f8.js,sha256=Y2360cWkRH8deDc0DBFeKAU703uhIKkbZ9TMZ6gewCo,203418
489
- udata/static/chunks/19.df16abde17a42033a7f8.js.map,sha256=10tH7yqG5g9KbFI4SPi35tNVoW60OZli4SsO9YpvI2w,1079969
488
+ udata/static/chunks/19.a348a5fff8fe2801e52a.js,sha256=OKK0sOwCBCiNciDIQKugz7l-tWOzdymuho1GpahEZvE,203418
489
+ udata/static/chunks/19.a348a5fff8fe2801e52a.js.map,sha256=3HeVSYP0XPuCpEH7bO-moVr4ajgOFv-TmUDLlnHEIYc,1079969
490
490
  udata/static/chunks/2.c67aa76cc078c193aed5.js,sha256=BjpQndwBdg9AT2lrY1TAgMfPbMvRytp33yI9YOgCOqc,276597
491
491
  udata/static/chunks/2.c67aa76cc078c193aed5.js.map,sha256=FnPh12lCwilnq1jRp-d7226H5kpaA4-raWEk1Q0p42M,1556097
492
492
  udata/static/chunks/20.3d4e02d1205a3c9e26c5.js,sha256=hRFQGBcks3lD-R4mNcNelqbr9kjz8jTtPee1lDWAVhY,36764
@@ -517,14 +517,14 @@ udata/static/chunks/33.011b367beb543774f950.js,sha256=pmgOHx33dbnHDnDISHjapoRmU-
517
517
  udata/static/chunks/33.011b367beb543774f950.js.map,sha256=CzKVWHelXpz3DRimAGbVczh5X9Etru6qo1E_jhSZTBY,708099
518
518
  udata/static/chunks/4.98dca3045c034c154d5f.js,sha256=HhytpLza7w6v9X_4g8xc96jdfryjT5_T1pzGMXf5owE,606930
519
519
  udata/static/chunks/4.98dca3045c034c154d5f.js.map,sha256=QJ6SzTm_r0jThhBkZ4EtYQREZhIt_MX17XhTse06xYo,3714040
520
- udata/static/chunks/5.5660483641193b7f8295.js,sha256=Rt1datinpQ-Y89qO619AEnp2F9ieNDZhkIOIO93GDss,579464
521
- udata/static/chunks/5.5660483641193b7f8295.js.map,sha256=QxmtdRLzyHodioNblS3xyMgjYyfe10ngg7MhY5mnR6g,3587779
522
- udata/static/chunks/6.30dce49d17db07600b06.js,sha256=DjuMZadZp-1CqO_9kg6XaveXzKdQ6aKE-8AFZNMtP4Q,609837
523
- udata/static/chunks/6.30dce49d17db07600b06.js.map,sha256=8fjOv9NLhqxxyFwPY4ytdiV7DY_vRkFf45CVHFC6znM,3783190
520
+ udata/static/chunks/5.343ca020a2d38cec1a14.js,sha256=VSHA4j7W80j-MmHgqbvwZg1a9_F4e-Plqp8A6i91vx8,579464
521
+ udata/static/chunks/5.343ca020a2d38cec1a14.js.map,sha256=TdGRFBLHrG3nYfAWGSXpvPDaCP-W_b7nsB7yvBnNadU,3587779
522
+ udata/static/chunks/6.a3b07de9dd2ca2d24e85.js,sha256=BYcKqgroGFqXARMLn7PRgzSHzieninYD2iANCz1-pRs,609837
523
+ udata/static/chunks/6.a3b07de9dd2ca2d24e85.js.map,sha256=Q1f-fBSy2I0ur5AGr4xIbK7xHXpOy66My8VNTNL9khU,3783190
524
524
  udata/static/chunks/7.896bbffe39433bb598f7.js,sha256=C1NrGe6wrptQFYCCmITtx12dGqfaO7136-9BD6m05Ts,157150
525
525
  udata/static/chunks/7.896bbffe39433bb598f7.js.map,sha256=aZB8qYRkX4oqSugjG69tMlv64YIW5LPXF_8uACMHMTw,813014
526
- udata/static/chunks/8.54e44b102164ae5e7a67.js,sha256=YNXvol8wHKSc2w3M7BBe8jeYUBf-vgTHZuw7-f_zKK8,222856
527
- udata/static/chunks/8.54e44b102164ae5e7a67.js.map,sha256=zUv1SoYViHggRYIzFTM_ZQLwQVBYimlX0j87s7aZn1U,1205076
526
+ udata/static/chunks/8.462bb3029de008497675.js,sha256=ng7iZGz6EyJSj34lCruTC1QIOQdg653IaV9KkKO8BWU,222856
527
+ udata/static/chunks/8.462bb3029de008497675.js.map,sha256=-0Hmllm-sFl9qAPCShzDyQKFU9zAi4-eOVQdmlCQ2qs,1205076
528
528
  udata/static/chunks/9.033d7e190ca9e226a5d0.js,sha256=NmyhScUINZKQbc3A-zIZr9vEGy59Ktb9xkI-d0oaEvo,416716
529
529
  udata/static/chunks/9.033d7e190ca9e226a5d0.js.map,sha256=n08Lnx4NZFACwgehhaZfstLOnqDam_IUQhNLlUjMEVo,2746303
530
530
  udata/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -634,14 +634,14 @@ udata/tests/api/test_activities_api.py,sha256=WSBScq_gMaBJJchvmyoc_LnslXemgfvdDM
634
634
  udata/tests/api/test_auth_api.py,sha256=OMRlY0OQt60j5N4A-N3HdWTuffOjRlFHkz5a3jJFieI,25987
635
635
  udata/tests/api/test_base_api.py,sha256=2w_vz0eEuq3P3aN-ByvxGc3VZAo7XtgatFfcrzf2uEU,2244
636
636
  udata/tests/api/test_contact_points.py,sha256=X_RWD_xCfR8WchhHfKEt5mxMHY77OmTyguNKCsZftdE,5337
637
- udata/tests/api/test_dataservices_api.py,sha256=iwpDXg-b8fSgyq8gkn4Mz34uw4bVdAUqQybCLDAmkPk,30944
638
- udata/tests/api/test_datasets_api.py,sha256=AlmZ5dGbbD6i-Q-KAPF_qnBu8sbkZnGmNjp72K_rIwc,101934
637
+ udata/tests/api/test_dataservices_api.py,sha256=PGl-817qFAHXmIjb3qzpFzp7sVXSq8gwEzG-g01Qnn8,31025
638
+ udata/tests/api/test_datasets_api.py,sha256=Jw3IULsr5EGfw9FO5vVW_nSa7p4RBPqb0AbkXtQGOjA,102222
639
639
  udata/tests/api/test_fields.py,sha256=OW85Z5MES5HeWOpapeem8OvR1cIcrqW-xMWpdZO4LZ8,1033
640
640
  udata/tests/api/test_follow_api.py,sha256=4nFXG5pZ_Hf2PJ4KEdHJX_uggjc9RpB8v0fidkAcw9I,5792
641
641
  udata/tests/api/test_me_api.py,sha256=YPd8zmR3zwJKtpSqz8nY1nOOMyXs66INeBwyhg5D0Us,13846
642
- udata/tests/api/test_organizations_api.py,sha256=rg-sL2Z0r9ht7SLnL3LqLnGRJxceHYZSit_I5-qDR_4,42107
642
+ udata/tests/api/test_organizations_api.py,sha256=0G6ArhGs1tpnj39TvQ5jxb13jaKFbqGyopsWi0it36M,43012
643
643
  udata/tests/api/test_reports_api.py,sha256=fCSz9NwMXBs6cxdXBVVI6y564AtovmZYw3xkgxQ9KE8,6217
644
- udata/tests/api/test_reuses_api.py,sha256=pLLL_FuNeL2n4vuSJ-GHSAjZi7gQPvuyDmhiVrxBBXg,27044
644
+ udata/tests/api/test_reuses_api.py,sha256=8yhs1y_EDzusSV86bb7M7V9-qw-Al1JFecLs33AR8GU,27225
645
645
  udata/tests/api/test_swagger.py,sha256=eE6La9qdTYTIUFevRVPJgtj17Jq_8uOlsDwzCNR0LL8,760
646
646
  udata/tests/api/test_tags_api.py,sha256=36zEBgthVEn6pctJ0kDgPmEaUr-iqRAHeZRcRG2LEXQ,2425
647
647
  udata/tests/api/test_topics_api.py,sha256=rnOpMn3BQ5fKVzaBTRzhOKcnwNJe7hiDIEIe2fUXRLk,12320
@@ -670,7 +670,7 @@ udata/tests/dataset/test_dataset_model.py,sha256=av4RhOnT-52qs-WL1NCn6R2SMa_fzDc
670
670
  udata/tests/dataset/test_dataset_rdf.py,sha256=j919psNAH0scn0DIwHNlqiZGFKd_lKOlyTisICNGeOE,44327
671
671
  udata/tests/dataset/test_dataset_recommendations.py,sha256=K52HXGXi9DuUSiSRQWpqTrsFCkYbv7K3upNp0fFp5v8,7068
672
672
  udata/tests/dataset/test_dataset_tasks.py,sha256=n1W2Pg0ez02d66zQG3N93kh7dpR2yLMRDqUI6PnPaI0,3088
673
- udata/tests/dataset/test_resource_preview.py,sha256=fp9mSL7unhyM66GR0gwhgX3OGQ4TJt7G9xU-CjsL3HI,3908
673
+ udata/tests/dataset/test_resource_preview.py,sha256=AxSF8cnG6bhy2pz9Fi3PfEzdLlNhZ0xrp9dr6yrt31A,2051
674
674
  udata/tests/dataset/test_transport_tasks.py,sha256=BYr1WPV0Crirzb2jC_wAV4y_pzImRCAS4zYZ7qvCDeY,2964
675
675
  udata/tests/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
676
676
  udata/tests/features/territories/__init__.py,sha256=gMD73RL-ymcWvGPDPM0aPxz7WAfd1VEDL8YHRI7HT0Q,956
@@ -737,9 +737,9 @@ udata/translations/pt/LC_MESSAGES/udata.mo,sha256=9sCd1MUKvtVP_sOXvK-G5v4PfWkkdA
737
737
  udata/translations/pt/LC_MESSAGES/udata.po,sha256=-eJptz9s63rjkdm-3HJi_2t70pyv3-8EuXBn-B2qI_4,48419
738
738
  udata/translations/sr/LC_MESSAGES/udata.mo,sha256=qduXntHWe__KaUxJ4JwwyGG3eSgYb1auGdNax0lS49c,29169
739
739
  udata/translations/sr/LC_MESSAGES/udata.po,sha256=6QCuLMCRjgyAvu9U7i0P19ae8fm_uStfmxHLqUO9EoY,55394
740
- udata-10.6.1.dev36110.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
741
- udata-10.6.1.dev36110.dist-info/METADATA,sha256=da2A3i9cJDvKFvMvCRQ6x8Cde6KXLEZ8JAicNBrYfjU,150226
742
- udata-10.6.1.dev36110.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
743
- udata-10.6.1.dev36110.dist-info/entry_points.txt,sha256=ETvkR4r6G1duBsh_V_fGWENQy17GTFuobi95MYBAl1A,498
744
- udata-10.6.1.dev36110.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
745
- udata-10.6.1.dev36110.dist-info/RECORD,,
740
+ udata-10.6.1.dev36176.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
741
+ udata-10.6.1.dev36176.dist-info/METADATA,sha256=YAV5z5Z9aYAY91nqFrMTIAVdm-PuyUK568P-FtIOsl8,150654
742
+ udata-10.6.1.dev36176.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
743
+ udata-10.6.1.dev36176.dist-info/entry_points.txt,sha256=ETvkR4r6G1duBsh_V_fGWENQy17GTFuobi95MYBAl1A,498
744
+ udata-10.6.1.dev36176.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
745
+ udata-10.6.1.dev36176.dist-info/RECORD,,