udata 10.2.1.dev34728__py2.py3-none-any.whl → 10.2.1.dev34767__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 (38) hide show
  1. udata/api/__init__.py +41 -8
  2. udata/api_fields.py +1 -5
  3. udata/core/contact_point/api.py +2 -6
  4. udata/core/dataservices/api.py +3 -10
  5. udata/core/dataset/api.py +2 -6
  6. udata/core/dataset/apiv2.py +1 -4
  7. udata/core/dataset/forms.py +1 -1
  8. udata/core/dataset/models.py +49 -23
  9. udata/core/dataset/rdf.py +17 -4
  10. udata/core/organization/apiv2.py +1 -5
  11. udata/core/reports/api.py +1 -6
  12. udata/core/reuse/api.py +1 -4
  13. udata/core/spatial/tests/test_api.py +56 -0
  14. udata/migrations/2025-03-20-save-quality-for-datasets.py +25 -0
  15. udata/mongo/errors.py +9 -2
  16. udata/static/chunks/{11.b6f741fcc366abfad9c4.js → 11.0f04e49a40a0a381bcce.js} +3 -3
  17. udata/static/chunks/{11.b6f741fcc366abfad9c4.js.map → 11.0f04e49a40a0a381bcce.js.map} +1 -1
  18. udata/static/chunks/{13.2d06442dd9a05d9777b5.js → 13.d9c1735d14038b94c17e.js} +2 -2
  19. udata/static/chunks/{13.2d06442dd9a05d9777b5.js.map → 13.d9c1735d14038b94c17e.js.map} +1 -1
  20. udata/static/chunks/{17.e8e4caaad5cb0cc0bacc.js → 17.81c57c0dedf812e43013.js} +2 -2
  21. udata/static/chunks/{17.e8e4caaad5cb0cc0bacc.js.map → 17.81c57c0dedf812e43013.js.map} +1 -1
  22. udata/static/chunks/{19.f03a102365af4315f9db.js → 19.8da42e8359d72afc2618.js} +3 -3
  23. udata/static/chunks/{19.f03a102365af4315f9db.js.map → 19.8da42e8359d72afc2618.js.map} +1 -1
  24. udata/static/chunks/{8.778091d55cd8ea39af6b.js → 8.494b003a94383b142c18.js} +2 -2
  25. udata/static/chunks/{8.778091d55cd8ea39af6b.js.map → 8.494b003a94383b142c18.js.map} +1 -1
  26. udata/static/common.js +1 -1
  27. udata/static/common.js.map +1 -1
  28. udata/tests/api/test_dataservices_api.py +5 -8
  29. udata/tests/apiv2/test_datasets.py +7 -1
  30. udata/tests/dataset/test_dataset_model.py +0 -10
  31. udata/tests/dataset/test_dataset_rdf.py +18 -0
  32. udata/tests/test_api_fields.py +2 -2
  33. {udata-10.2.1.dev34728.dist-info → udata-10.2.1.dev34767.dist-info}/METADATA +3 -1
  34. {udata-10.2.1.dev34728.dist-info → udata-10.2.1.dev34767.dist-info}/RECORD +38 -37
  35. {udata-10.2.1.dev34728.dist-info → udata-10.2.1.dev34767.dist-info}/LICENSE +0 -0
  36. {udata-10.2.1.dev34728.dist-info → udata-10.2.1.dev34767.dist-info}/WHEEL +0 -0
  37. {udata-10.2.1.dev34728.dist-info → udata-10.2.1.dev34767.dist-info}/entry_points.txt +0 -0
  38. {udata-10.2.1.dev34728.dist-info → udata-10.2.1.dev34767.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,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:"0fa1408dae4e76b87b2e",6:"d663709d877baa44a71e",7:"896bbffe39433bb598f7",8:"778091d55cd8ea39af6b",9:"033d7e190ca9e226a5d0",10:"8ca60413647062717b1e",11:"b6f741fcc366abfad9c4",12:"1be61e0201691821bff6",13:"2d06442dd9a05d9777b5",14:"bc3f6bc0a67517e7b30f",15:"2f5d8e3d4aa4c46188d7",16:"aaa39ef2d7e82594efc8",17:"e8e4caaad5cb0cc0bacc",18:"56444ebd2456a4ba2201",19:"f03a102365af4315f9db",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:"0fa1408dae4e76b87b2e",6:"d663709d877baa44a71e",7:"896bbffe39433bb598f7",8:"494b003a94383b142c18",9:"033d7e190ca9e226a5d0",10:"8ca60413647062717b1e",11:"0f04e49a40a0a381bcce",12:"1be61e0201691821bff6",13:"d9c1735d14038b94c17e",14:"bc3f6bc0a67517e7b30f",15:"2f5d8e3d4aa4c46188d7",16:"aaa39ef2d7e82594efc8",17:"81c57c0dedf812e43013",18:"56444ebd2456a4ba2201",19:"8da42e8359d72afc2618",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 44a61f162b1337addb9e"],"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\":\"0fa1408dae4e76b87b2e\",\"6\":\"d663709d877baa44a71e\",\"7\":\"896bbffe39433bb598f7\",\"8\":\"778091d55cd8ea39af6b\",\"9\":\"033d7e190ca9e226a5d0\",\"10\":\"8ca60413647062717b1e\",\"11\":\"b6f741fcc366abfad9c4\",\"12\":\"1be61e0201691821bff6\",\"13\":\"2d06442dd9a05d9777b5\",\"14\":\"bc3f6bc0a67517e7b30f\",\"15\":\"2f5d8e3d4aa4c46188d7\",\"16\":\"aaa39ef2d7e82594efc8\",\"17\":\"e8e4caaad5cb0cc0bacc\",\"18\":\"56444ebd2456a4ba2201\",\"19\":\"f03a102365af4315f9db\",\"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\":\"0fa1408dae4e76b87b2e\",\"6\":\"d663709d877baa44a71e\",\"7\":\"896bbffe39433bb598f7\",\"8\":\"778091d55cd8ea39af6b\",\"9\":\"033d7e190ca9e226a5d0\",\"10\":\"8ca60413647062717b1e\",\"11\":\"b6f741fcc366abfad9c4\",\"12\":\"1be61e0201691821bff6\",\"13\":\"2d06442dd9a05d9777b5\",\"14\":\"bc3f6bc0a67517e7b30f\",\"15\":\"2f5d8e3d4aa4c46188d7\",\"16\":\"aaa39ef2d7e82594efc8\",\"17\":\"e8e4caaad5cb0cc0bacc\",\"18\":\"56444ebd2456a4ba2201\",\"19\":\"f03a102365af4315f9db\",\"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 44a61f162b1337addb9e\n **/"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap 496b4fb3bcc208e01bbb"],"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\":\"0fa1408dae4e76b87b2e\",\"6\":\"d663709d877baa44a71e\",\"7\":\"896bbffe39433bb598f7\",\"8\":\"494b003a94383b142c18\",\"9\":\"033d7e190ca9e226a5d0\",\"10\":\"8ca60413647062717b1e\",\"11\":\"0f04e49a40a0a381bcce\",\"12\":\"1be61e0201691821bff6\",\"13\":\"d9c1735d14038b94c17e\",\"14\":\"bc3f6bc0a67517e7b30f\",\"15\":\"2f5d8e3d4aa4c46188d7\",\"16\":\"aaa39ef2d7e82594efc8\",\"17\":\"81c57c0dedf812e43013\",\"18\":\"56444ebd2456a4ba2201\",\"19\":\"8da42e8359d72afc2618\",\"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\":\"0fa1408dae4e76b87b2e\",\"6\":\"d663709d877baa44a71e\",\"7\":\"896bbffe39433bb598f7\",\"8\":\"494b003a94383b142c18\",\"9\":\"033d7e190ca9e226a5d0\",\"10\":\"8ca60413647062717b1e\",\"11\":\"0f04e49a40a0a381bcce\",\"12\":\"1be61e0201691821bff6\",\"13\":\"d9c1735d14038b94c17e\",\"14\":\"bc3f6bc0a67517e7b30f\",\"15\":\"2f5d8e3d4aa4c46188d7\",\"16\":\"aaa39ef2d7e82594efc8\",\"17\":\"81c57c0dedf812e43013\",\"18\":\"56444ebd2456a4ba2201\",\"19\":\"8da42e8359d72afc2618\",\"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 496b4fb3bcc208e01bbb\n **/"],"sourceRoot":""}
@@ -431,9 +431,7 @@ class DataserviceAPITest(APITestCase):
431
431
  },
432
432
  )
433
433
  self.assert400(response)
434
- self.assertEqual(
435
- response.json["errors"]["license"], ["Unknown reference 'unwkown-license'"]
436
- )
434
+ self.assertEqual(response.json["errors"]["license"], "Unknown reference 'unwkown-license'")
437
435
  self.assertEqual(Dataservice.objects.count(), 0)
438
436
 
439
437
  def test_dataservice_api_create_with_unkwown_contact_point(self):
@@ -450,7 +448,7 @@ class DataserviceAPITest(APITestCase):
450
448
  self.assert400(response)
451
449
  self.assertEqual(
452
450
  response.json["errors"]["contact_points"],
453
- ["Unknown reference '66212433e42ab56639ad516e'"],
451
+ "Unknown reference '66212433e42ab56639ad516e'",
454
452
  )
455
453
  self.assertEqual(Dataservice.objects.count(), 0)
456
454
 
@@ -472,9 +470,8 @@ class DataserviceAPITest(APITestCase):
472
470
  },
473
471
  )
474
472
  self.assert400(response)
475
- self.assertEqual(
476
- response.json["errors"]["owner"], [_("You can only set yourself as owner")]
477
- )
473
+ print(response.json)
474
+ self.assertEqual(response.json["errors"]["owner"], _("You can only set yourself as owner"))
478
475
  self.assertEqual(Dataservice.objects.count(), 0)
479
476
 
480
477
  response = self.post(
@@ -487,7 +484,7 @@ class DataserviceAPITest(APITestCase):
487
484
  )
488
485
  self.assert400(response)
489
486
  self.assertEqual(
490
- response.json["errors"]["organization"], [_("Permission denied for this organization")]
487
+ response.json["errors"]["organization"], _("Permission denied for this organization")
491
488
  )
492
489
  self.assertEqual(Dataservice.objects.count(), 0)
493
490
 
@@ -21,7 +21,7 @@ class DatasetAPIV2Test(APITestCase):
21
21
  resources_a = [ResourceFactory() for _ in range(2)]
22
22
  dataset_a = DatasetFactory(title="Dataset A", resources=resources_a)
23
23
 
24
- resources_b = [ResourceFactory() for _ in range(4)]
24
+ resources_b = [ResourceFactory(format="csv") for _ in range(4)]
25
25
  dataset_b = DatasetFactory(title="Dataset B", resources=resources_b)
26
26
 
27
27
  response = self.get(url_for("apiv2.datasets"))
@@ -32,6 +32,11 @@ class DatasetAPIV2Test(APITestCase):
32
32
  assert data["data"][1]["title"] == dataset_a.title
33
33
  assert data["data"][0]["title"] == dataset_b.title
34
34
 
35
+ assert data["data"][1]["quality"]["has_resources"]
36
+ assert not data["data"][1]["quality"]["has_open_format"]
37
+ assert data["data"][0]["quality"]["has_resources"]
38
+ assert data["data"][0]["quality"]["has_open_format"]
39
+
35
40
  assert data["data"][1]["resources"]["total"] == len(resources_a)
36
41
  assert data["data"][0]["resources"]["total"] == len(resources_b)
37
42
 
@@ -45,6 +50,7 @@ class DatasetAPIV2Test(APITestCase):
45
50
  response = self.get(url_for("apiv2.dataset", dataset=dataset))
46
51
  self.assert200(response)
47
52
  data = response.json
53
+ assert data["quality"]["has_resources"]
48
54
  assert data["resources"]["rel"] == "subsection"
49
55
  assert data["resources"]["href"] == url_for(
50
56
  "apiv2.resources",
@@ -748,16 +748,6 @@ class HarvestMetadataTest:
748
748
  dataset.harvest = harvest_metadata
749
749
  dataset.save()
750
750
 
751
- def test_harvest_dataset_metadata_future_modifed_at(self):
752
- dataset = DatasetFactory()
753
-
754
- harvest_metadata = HarvestDatasetMetadata(
755
- created_at=datetime.utcnow(), modified_at=datetime.utcnow() + timedelta(days=1)
756
- )
757
- dataset.harvest = harvest_metadata
758
- dataset.save()
759
- assert dataset.last_modified == dataset.last_modified_internal
760
-
761
751
  def test_harvest_dataset_metadata_past_modifed_at(self):
762
752
  dataset = DatasetFactory()
763
753
 
@@ -483,6 +483,24 @@ class RdfToDatasetTest:
483
483
  assert isinstance(dataset, Dataset)
484
484
  assert dataset.description == "a description"
485
485
 
486
+ def test_future_modified_at(self):
487
+ node = BNode()
488
+ g = Graph()
489
+
490
+ modified = faker.future_datetime()
491
+
492
+ g.add((node, RDF.type, DCAT.Dataset))
493
+ g.add((node, DCT.identifier, Literal(faker.uuid4())))
494
+ g.add((node, DCT.title, Literal(faker.sentence())))
495
+ g.add((node, DCT.description, Literal("<div>a description</div>")))
496
+ g.add((node, DCT.modified, Literal(modified)))
497
+
498
+ dataset = dataset_from_rdf(g)
499
+ dataset.validate()
500
+
501
+ assert isinstance(dataset, Dataset)
502
+ assert dataset.harvest.modified_at is None
503
+
486
504
  def test_theme_and_tags(self):
487
505
  node = BNode()
488
506
  g = Graph()
@@ -1,7 +1,7 @@
1
1
  import factory
2
+ import mongoengine
2
3
  import pytest
3
4
  from flask_restx.reqparse import Argument, RequestParser
4
- from werkzeug.exceptions import BadRequest
5
5
 
6
6
  from udata.api_fields import field, function_field, generate_fields, patch, patch_and_save
7
7
  from udata.core.dataset.api_fields import dataset_fields
@@ -224,7 +224,7 @@ class PatchTest:
224
224
  fake: Fake = FakeFactory.create()
225
225
  fake_request = self.FakeRequest()
226
226
  fake_request.json["url"] = "ok url"
227
- with pytest.raises(BadRequest):
227
+ with pytest.raises(mongoengine.errors.ValidationError):
228
228
  patch_and_save(fake, fake_request)
229
229
 
230
230
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: udata
3
- Version: 10.2.1.dev34728
3
+ Version: 10.2.1.dev34767
4
4
  Summary: Open data portal
5
5
  Home-page: https://github.com/opendatateam/udata
6
6
  Author: Opendata Team
@@ -143,6 +143,8 @@ It is collectively taken care of by members of the
143
143
 
144
144
  - Skip empty datasets nodes referenced in dataservices before creating an harvest job item [#3285](https://github.com/opendatateam/udata/pull/3285)
145
145
  - Harvest Distribution with a DCAT.accessService property as type `api` [#3294](https://github.com/opendatateam/udata/pull/3294)
146
+ - Refactor error management [#3292](https://github.com/opendatateam/udata/pull/3292)
147
+ - Compute quality score to show correct resources score in api v2 [#3290](https://github.com/opendatateam/udata/pull/3290/)
146
148
 
147
149
  ## 10.2.0 (2025-04-02)
148
150
 
@@ -1,7 +1,7 @@
1
1
  tasks/__init__.py,sha256=nfgZ5nkcoluXMIk52P4-8Rj6xL0Qlm_xSUfWW2aHZfI,8161
2
2
  tasks/helpers.py,sha256=70fS9tI_m0DTWmKx9Zl5-LG-nxdz_ZaPyvvsFkN2r48,1091
3
3
  udata/__init__.py,sha256=HGFJ_bDmy6gJUSlkmMYUcVYUuWAMycfMtETQlVQk4ug,102
4
- udata/api_fields.py,sha256=pgx0Ipa9R2sWZwTIBxMVvURwq9aEWAJR-dXdpb0qqHQ,30779
4
+ udata/api_fields.py,sha256=nv_Nl1Mi-XQ8V08fxmscer13jsNNJgSOOIQEh1itsLQ,30679
5
5
  udata/app.py,sha256=xjk2D3EgboYBpTwBwdIxd2klt2yMoWMyCrkry5fz0LA,7292
6
6
  udata/assets.py,sha256=H5Hrc2vnKM0IFLyWfLXmJ2Kj35w1i8W1D8Cgy8_cUj4,657
7
7
  udata/cors.py,sha256=gPTIXnO5nWziCKAHqU9GNuBKaIzr7RRtbjZBd2RdE2k,3155
@@ -25,7 +25,7 @@ udata/worker.py,sha256=K-Wafye5-uXP4kQlffRKws2J9YbJ6m6n2QjcVsY8Nsg,118
25
25
  udata/wsgi.py,sha256=MY8en9K9eDluvJYUxTdzqSDoYaDgCVZ69ZcUvxAvgqA,77
26
26
  udata/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  udata/admin/views.py,sha256=00fI1O55apOlwIc0li2BdvEEGMd5l5isd5A_eHvzu3Y,331
28
- udata/api/__init__.py,sha256=GQQc09yXKTkNTWcWDCMH5o8XMkUMCvsWPJJeYbT4dOo,10754
28
+ udata/api/__init__.py,sha256=bJQSQYvFpe0eHzLigLlzFr9Huk4JSymV2VD3cByeeao,11899
29
29
  udata/api/commands.py,sha256=LJ4u-yhGij7QuH7OR92u3n7BEptqWMjDwMnG8pqdBxo,3523
30
30
  udata/api/errors.py,sha256=P_UigBf6HAL73LbXKULagmp5Cuw-H1Ms6LmXxOmFIeg,211
31
31
  udata/api/fields.py,sha256=BO2bHPWN6CT2bNpEkkosBGVUSV383nl8MUed_wlxLmw,4176
@@ -74,13 +74,13 @@ udata/core/badges/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
74
74
  udata/core/badges/tests/test_commands.py,sha256=dSM8VV9CByPJYv11BUlfh4WIV2KLy7GceBXJ0DFSKpY,1276
75
75
  udata/core/badges/tests/test_model.py,sha256=hiCB4dxVlFclY41Dl5bDBIRBUSMg_OI-SHix1bsW8XU,5427
76
76
  udata/core/contact_point/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
- udata/core/contact_point/api.py,sha256=TIEu4Mpc4N0pHl-p359xUSy63swGWPrZfFej56vyH94,2536
77
+ udata/core/contact_point/api.py,sha256=nbPmKCQbyFH_VjRRGiqo_HvgyKeA7VFW_5tFHATr1yA,2406
78
78
  udata/core/contact_point/api_fields.py,sha256=qx_80yeRMS6rKSjQZOSGZk56le0t6l2s9_qJ5us8eZg,1396
79
79
  udata/core/contact_point/factories.py,sha256=YoW2PKKaemYO4lIy5MwpH36uXM_J3rE-IhsqG8Dr9rw,428
80
80
  udata/core/contact_point/forms.py,sha256=oBe1agSJFyx2QRgYzPRg2A7qVscaBTaKG4V-AyIwnF8,729
81
81
  udata/core/contact_point/models.py,sha256=Xqmqg7S13gcaKxiQT52WHeQEHTaUDDGIXInXyqNh4Po,854
82
82
  udata/core/dataservices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
- udata/core/dataservices/api.py,sha256=LpRc1FNTA6jAOj1KsFme5TxVn4SgcUWlDBWi43H1eZ4,7530
83
+ udata/core/dataservices/api.py,sha256=aX9f4cDT_7XYjES5lY-ar-sC1z-xopiPrL-vPuB1nkc,7303
84
84
  udata/core/dataservices/apiv2.py,sha256=XIqJq58uLtxtt52iKYo7Fl0ZXv9Sz72uA7JIGwP8Qos,995
85
85
  udata/core/dataservices/constants.py,sha256=LBCTQ44YvjTZfQVbxFiovPxapAknSJNOZKjMP8WeFy4,351
86
86
  udata/core/dataservices/csv.py,sha256=RqWVIGuC1DBEmnSb7qOLDy4UwVR05nB_OYBBi0WWQ1o,1057
@@ -93,20 +93,20 @@ udata/core/dataservices/tasks.py,sha256=d2tG1l6u8-eUKUYBOgnCsQLbLmLgJXU-DOzZWhhL
93
93
  udata/core/dataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
94
  udata/core/dataset/actions.py,sha256=mX6xox0PiMrbcAPZ3VZsI26rfM-ciYfEXxN6sqqImKA,1222
95
95
  udata/core/dataset/activities.py,sha256=v8k1jwhdx62Z2ARZq8Q-x86OWSsBK99hRloPl74OCgA,1502
96
- udata/core/dataset/api.py,sha256=mnOJsMcRLroKfHl3h8vvOMBrbu6KhbMU9p0cvoRDm6Y,30905
96
+ udata/core/dataset/api.py,sha256=jsHxsnUNlLS3OfSxKSbYWLC_4kDkgxxBNQP76T99BCM,30662
97
97
  udata/core/dataset/api_fields.py,sha256=ObM2ubDowxJZGxsyC8nDiLP7XGeT8JQbLN4YqApzxy8,17529
98
- udata/core/dataset/apiv2.py,sha256=yPLJvAlt9NDj8cv8LrAtpmEPci2fqyOXq7MkbSRekKs,17896
98
+ udata/core/dataset/apiv2.py,sha256=TxF2ytRFi7ePlZggu_rLp_Kw6vz0Yi8eCD37MC66DOc,17783
99
99
  udata/core/dataset/commands.py,sha256=__hPAk_6iHtgMnEG51ux0vbNWJHxUjXhi1ukH4hF5jY,3714
100
100
  udata/core/dataset/constants.py,sha256=44uFvmL7xRF73Kag3rdaVli6CIP-3ZN8obhmsqHYJIM,2918
101
101
  udata/core/dataset/csv.py,sha256=SYcIAamzwNECNQgm1LZlu-TaFOND4JdLRxeGCv1a1A0,3637
102
102
  udata/core/dataset/events.py,sha256=bSM0nFEX14r4JHc-bAM-7OOuD3JAxUIpw9GgXbOsUyw,4078
103
103
  udata/core/dataset/exceptions.py,sha256=uKiayLSpSzsnLvClObS6hOO0qXEqvURKN7_w8eimQNU,498
104
104
  udata/core/dataset/factories.py,sha256=fRDWDlybR_ud4pDs1-ntWuYHKtV9LMHeBOBp2SmTT6M,9006
105
- udata/core/dataset/forms.py,sha256=nGHC92MH3NmyfASuYRgoBzyNTpsWL_1h3R7B9t7nnxU,6295
106
- udata/core/dataset/models.py,sha256=GurpAR_IyPqqp9l72IB0EQMafInYigE0iEU_h7CpCV0,39594
105
+ udata/core/dataset/forms.py,sha256=7KUxuFcEGT0MUe0cZCiZtsnZhvGgvEd68pe13NgeSMI,6292
106
+ udata/core/dataset/models.py,sha256=2c6vjr5KPq6Pqg6MK5pRFrXzpTIXtRC2zRxDlxiFTL8,40834
107
107
  udata/core/dataset/permissions.py,sha256=zXQ6kU-Ni3Pl5tDtat-ZPupug9InsNeCN7xRLc2Vcrc,1097
108
108
  udata/core/dataset/preview.py,sha256=IwCqiNTjjXbtA_SSKF52pwnzKKEz0GyYM95QNn2Dkog,2561
109
- udata/core/dataset/rdf.py,sha256=-XsXa7uN1Ovt1RjC_-LYewTAMMRxG270nEocMeBk_i0,31176
109
+ udata/core/dataset/rdf.py,sha256=HkjzcWgq9AfPvUGMRI7-ufRrgnlfBmP8crbgRhg6Lz4,31789
110
110
  udata/core/dataset/search.py,sha256=E7LqHBnq3sMefvmLwTpiw-Ovem2a3NJswHesRjctboE,5627
111
111
  udata/core/dataset/signals.py,sha256=WN4sV-lJlNsRkhcnhoy0SYJvCoYmK_5QFYZd1u-h4gs,161
112
112
  udata/core/dataset/tasks.py,sha256=jG6U7cwGywhLK-MqUrvbZ1WLl_NLApiThtxmsckGzP8,10009
@@ -144,7 +144,7 @@ udata/core/organization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
144
144
  udata/core/organization/activities.py,sha256=NY9pDzOVcdo2HZ-ax77lioiDGUZ8jpUguSLt_824saQ,1133
145
145
  udata/core/organization/api.py,sha256=ECHxNjsx6p1znSPrpdY_GEI0Oj4GvOZWKjT6NPwsnQs,18744
146
146
  udata/core/organization/api_fields.py,sha256=d_lgqjC0T-sPOqibxTLkW-to2t6fJX29NEQiKrdZHz4,7997
147
- udata/core/organization/apiv2.py,sha256=1HQRQNu8r5dKPOGdkQyYfn7romhOoZydd4ZVUA0tQIk,3169
147
+ udata/core/organization/apiv2.py,sha256=fLMN5T7s8yF4u7c1WWHXMqQAlyH2OCSyAfmleiFlf7M,3037
148
148
  udata/core/organization/commands.py,sha256=DsRAtFDZvTciYNsUWumQWdn0jnNmKW-PwfIHUUZoBb8,1591
149
149
  udata/core/organization/constants.py,sha256=fncNtA-vFrRM22K1Wo6iYu9DQZjzknYxH6TIYfxM9kA,563
150
150
  udata/core/organization/csv.py,sha256=j6BJvXE8_6c-IWOPOg0C-j9KiCushoG1FQxzKVBDj2A,1625
@@ -168,12 +168,12 @@ udata/core/post/permissions.py,sha256=uofU0TehhOGYyUoRXf3wuy816_D3xwMmaJbDvV336s
168
168
  udata/core/post/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
169
169
  udata/core/post/tests/test_api.py,sha256=W-1JeiikujTWlv6FmIQ4D1IXd-VW8MmLQP9AQyBwmq8,5211
170
170
  udata/core/reports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
- udata/core/reports/api.py,sha256=qbU78bzNcGcxkrWsbeU9kdyFKbU9dz_8AIo6h2IJLCg,1690
171
+ udata/core/reports/api.py,sha256=2xKsYC93V3md2ahkZs--O_0dTWQTicES5_9jbfER3hM,1559
172
172
  udata/core/reports/constants.py,sha256=LRZSX3unyqZeB4yQjK3ws_hGbJcXYk4bu1Rhnhi5DEs,1235
173
173
  udata/core/reports/models.py,sha256=AsW5p2ZIdR4c6vNzglEN7MX03It-t9u7ktOsVZqvzSs,2702
174
174
  udata/core/reuse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
175
  udata/core/reuse/activities.py,sha256=mAdHhqqpUF5zSh4e5AEo0J7alc3RflTbudDaKOzyTQw,1406
176
- udata/core/reuse/api.py,sha256=QX4d5AoXiTJDDZuchTErwthGO-eTqT9QPqZ2RYgxMRk,10960
176
+ udata/core/reuse/api.py,sha256=JIT7-kUf6l0BSW3hSdRHjS0OM5eJxdlFGdXUESzLBKY,10849
177
177
  udata/core/reuse/api_fields.py,sha256=c61Gl56UjiBpXS0Nbvcoi_QHdUmhnBtqWm6nNHRYKyc,1232
178
178
  udata/core/reuse/apiv2.py,sha256=nZe-v8713aXKuv2B578NdxfrIckjbxhS3zUXAKSIKTI,835
179
179
  udata/core/reuse/constants.py,sha256=JgDBrjOKSt9q0auv9rjzbGsch83H-Oi8YXAKeI5hO4o,1215
@@ -211,7 +211,7 @@ udata/core/spatial/models.py,sha256=2S2ErmoyrCvCzs2tZmIZvbJmjBAcWzywp5kAZdwjtLU,
211
211
  udata/core/spatial/tasks.py,sha256=1WVZkmgTbgrJ2-IF479hBzeO_5xtqflTNxHh7nzwnIw,229
212
212
  udata/core/spatial/translations.py,sha256=hmtF45cOanPNGX4vBq4iItKwmMKWKcenThTO-DncC54,541
213
213
  udata/core/spatial/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
- udata/core/spatial/tests/test_api.py,sha256=VN5B3FMswX3fjyJYgdneK_wveYs9O-vZVFQHtoalYjA,11332
214
+ udata/core/spatial/tests/test_api.py,sha256=lf9Ev_Yn1_NbWvNf2zzyc8BAWQDQkGeXCriinbunzq8,13389
215
215
  udata/core/spatial/tests/test_fields.py,sha256=UOUE9NdQeoXaR_pWvoNQnZY2XYJBAFmU9AIFJ99Tf-g,9782
216
216
  udata/core/spatial/tests/test_geoid.py,sha256=5-NhtvrOs-eoN5f18G6uyI23OB2nc8wQz9xQl3pieXY,1533
217
217
  udata/core/spatial/tests/test_models.py,sha256=XBHnW6i3AwJ7zaWZniwfwjspwfw2W71h9VlGyjGgXX8,932
@@ -359,6 +359,7 @@ udata/migrations/2024-10-30-rename-organization-badges.py,sha256=Yu8PTayYY0m4YJJ
359
359
  udata/migrations/2024-11-19-keep-only-local_authority-if-also-public_service-organization-badges.py,sha256=xFn0nVqAh8Vee9-s8YFZHg5F-kukOr5B4fyz62G40eA,658
360
360
  udata/migrations/2024-12-05-contact-point-is-now-a-list.py,sha256=il2qSFhOTq-YhqhFaq_5OwysUlKXaK_En-qGP6v9rf0,1065
361
361
  udata/migrations/2025-01-05-dataservices-fields-changes.py,sha256=HlqHg3sG3rk3sYVrOwAlXMNhTmTKd1YT82P-gXOqmZM,4647
362
+ udata/migrations/2025-03-20-save-quality-for-datasets.py,sha256=FPTfGVByXSHr18V4RFlktC7t-H-5rgEcZQMTRpMrGqo,607
362
363
  udata/migrations/__init__.py,sha256=RBCBDaTlLjuMs_Qzwji6Z6T4r7FCGXhESKoxQbT5qAA,11221
363
364
  udata/models/__init__.py,sha256=txbZwa-lRG3mq99eQ9E5YcFWiNUdjDVSyJJvlqUMFfs,1413
364
365
  udata/mongo/__init__.py,sha256=y4Rv-kq3o_kcEulcNpePLzocXPBNpx3Jd82G-VZPaMc,1421
@@ -366,7 +367,7 @@ udata/mongo/badges_field.py,sha256=UmSaQkiOFtIb116GAT2B0OE6ypOrq8Jx7GdULEr05LU,9
366
367
  udata/mongo/datetime_fields.py,sha256=7ShJTNoJy_DZUlTILI32VZOwELZLBKGqMBGAciovrgw,2064
367
368
  udata/mongo/document.py,sha256=pJJ5B-1EVbQUPMjRqgK51BHPY5eVnyaXgnBnzqwojtA,1777
368
369
  udata/mongo/engine.py,sha256=KdvaQnpw6un47CHpu3q9PYWwTtovVmsKZK_k1DmN48M,2552
369
- udata/mongo/errors.py,sha256=rlilT8dOmGiAP19r8arnNi_VBENZG2UjczILwYx33t4,232
370
+ udata/mongo/errors.py,sha256=SpTMAc_aNIfGkqyXGCbTlIAmYxU86rGM_NtIYaB642c,472
370
371
  udata/mongo/extras_fields.py,sha256=FfyVvRkpLn4pUeCqwI33NBJblHOywGlnA05RCEZ-ugs,4139
371
372
  udata/mongo/queryset.py,sha256=HWPhQBywLlqLZTSjg-Q00AHFlsddYb2Q3SmTt77QdsM,3097
372
373
  udata/mongo/slug_fields.py,sha256=lVr-3SH1NOUysoihVbU_RXVm8aYPwGIoCDIVksi79c0,6715
@@ -435,8 +436,8 @@ udata/static/admin.css,sha256=gPM7oSehylBXQXyv0-gQ1LuyJiI1STQ_swM4CHjq_cs,185748
435
436
  udata/static/admin.css.map,sha256=dzFd_AL3pQPFiww5oRwqnubDGJ9HNtYuAaiggLTjjB0,627543
436
437
  udata/static/admin.js,sha256=iQnNCFKqwiSIMyJIeDBAD_gEwv8fABrzK5CoK3PZZME,1330409
437
438
  udata/static/admin.js.map,sha256=09cK62bu_h0M4ajLf-Y2-sQCUFYPWKRw1PCQWQvfQyM,8518351
438
- udata/static/common.js,sha256=rqzFNDJ_fLCqUFEuukjdRj2_Vkr2BrtgSRjeSeXT8Fc,2252
439
- udata/static/common.js.map,sha256=-ohcxv586iqhCpUM18yxuYeqOimN3sCVIVO4WlOlXSI,14137
439
+ udata/static/common.js,sha256=OISR5CAMbxkzQ_3JL12mEEnzjkHTZAIDq46AgKAwFrc,2252
440
+ udata/static/common.js.map,sha256=0unPu95O7PJVblG_PyD5UkVDn-XLB1hfrGSTrWGT7gI,14137
440
441
  udata/static/fontawesome-webfont.eot,sha256=e_yrbbmdXPvxcFygU23ceFhUMsxfpBu9etDwCQM7KXk,165742
441
442
  udata/static/fontawesome-webfont.svg,sha256=rWFXkmwWIrpOHQPUePFUE2hSS_xG9R5C_g2UX37zI-Q,444379
442
443
  udata/static/fontawesome-webfont.ttf,sha256=qljzPyOaD7AvXHpsRcBD16msmgkzNYBmlOzW1O3A1qg,165548
@@ -455,24 +456,24 @@ udata/static/chunks/1.0a96f54313c89e541ccb.js,sha256=A-lYXUeTLFOd_al9J_EpYMsbJZR
455
456
  udata/static/chunks/1.0a96f54313c89e541ccb.js.map,sha256=Z4uWu-Bwj4JnQ49hqzkbRrfbtRUm65X93JQyDV6aLTM,1741737
456
457
  udata/static/chunks/10.8ca60413647062717b1e.js,sha256=_jYUDOKowPicIui04ekBIOQvXAcF-ypsX5oxiORA8pw,414740
457
458
  udata/static/chunks/10.8ca60413647062717b1e.js.map,sha256=XjAwHasDgaIA5idTs79YNuDC9Zlit8Xg20vSRptk03U,2736059
458
- udata/static/chunks/11.b6f741fcc366abfad9c4.js,sha256=tEngIoDvhl43LF9VQ8AqdEeyid7VMxG8VI5ZEUFNkAQ,395562
459
- udata/static/chunks/11.b6f741fcc366abfad9c4.js.map,sha256=rzMYdPM-AXsdyQ73SbUXBhtDmsUBbFubXWxZRC0uF3o,2268951
459
+ udata/static/chunks/11.0f04e49a40a0a381bcce.js,sha256=d7tDr1DUSjNPak_PysG7bntsxZ9TjPPW_b_ODl8IR-Y,395562
460
+ udata/static/chunks/11.0f04e49a40a0a381bcce.js.map,sha256=MvlLcBk0Mjuxn0jSkzdeZCpaBpPjIMYy5i5VT_SIjPE,2268951
460
461
  udata/static/chunks/12.1be61e0201691821bff6.js,sha256=oveRcMtBsi97LUeAX86LjSAEVIpNxfWGHVovetKfPTw,421097
461
462
  udata/static/chunks/12.1be61e0201691821bff6.js.map,sha256=ikkgGwMdOXW4ZXyucmqrxLqJQHIcXJJoMMNt01QFrZM,2442221
462
- udata/static/chunks/13.2d06442dd9a05d9777b5.js,sha256=p0DaqvjBIQCU1WkdfskEOZPb5Z9PpUsib8EqTx4iA5w,420590
463
- udata/static/chunks/13.2d06442dd9a05d9777b5.js.map,sha256=IcMWoAT9iK-5WSBWXHHpiw7U-21r5K63vZ7Cj5SkMEU,2430624
463
+ udata/static/chunks/13.d9c1735d14038b94c17e.js,sha256=QVscBipWMC9Md3G5mvxJ0Ttp2a_kq9CUrScayDf-DKQ,420590
464
+ udata/static/chunks/13.d9c1735d14038b94c17e.js.map,sha256=h3Gf_NXW-92D3fAPWhWqreisjA81it3Cek_BR1gwpOY,2430624
464
465
  udata/static/chunks/14.bc3f6bc0a67517e7b30f.js,sha256=SLlPbF5r7gOcZKPibWUh5BmsKF1jN8FwOUbiZ8i76EU,290368
465
466
  udata/static/chunks/14.bc3f6bc0a67517e7b30f.js.map,sha256=3Lg42qlM8-ho4unygukS9WvltNoIDJkMuTP7erZmYEI,1636918
466
467
  udata/static/chunks/15.2f5d8e3d4aa4c46188d7.js,sha256=gcYH_y6xCl3LbMKg_epxR5IntnEk7X119Evs9up1i7Q,138967
467
468
  udata/static/chunks/15.2f5d8e3d4aa4c46188d7.js.map,sha256=RPoT4EwQaWz3-puzfSV9kx511PK7RYPmveQFImM2BgA,702620
468
469
  udata/static/chunks/16.aaa39ef2d7e82594efc8.js,sha256=1J9T7hgzq1culb_vcXcRvMwt59pJx5Yv-oTU8mUoQDs,228559
469
470
  udata/static/chunks/16.aaa39ef2d7e82594efc8.js.map,sha256=Oc67ghT4gTY2r8H_cfy3tS6o-WyjvXkVc4xXqq0yBcQ,1574395
470
- udata/static/chunks/17.e8e4caaad5cb0cc0bacc.js,sha256=cLZ0lVide63WZtCnnvPsFeptXcONCL4zUj2IqJEiayQ,236702
471
- udata/static/chunks/17.e8e4caaad5cb0cc0bacc.js.map,sha256=yqRNQCYLIt7dpCJf_E7kLPiCnsFA20KIBkIBcZjJqUg,1289996
471
+ udata/static/chunks/17.81c57c0dedf812e43013.js,sha256=M1V_pkNZWVlgT1jGryWe5cOBp2r9LiIJEyHuKkQTPGA,236702
472
+ udata/static/chunks/17.81c57c0dedf812e43013.js.map,sha256=xx4zs3EBZKfoouMTgh6Xb7q1OlEqzDyeeGtv5pWknFg,1289996
472
473
  udata/static/chunks/18.56444ebd2456a4ba2201.js,sha256=o78S_10_0k6kL0HbpDlbKZ5tZ-DCe6Y9XBex-SFS_s4,50384
473
474
  udata/static/chunks/18.56444ebd2456a4ba2201.js.map,sha256=Xdv5UJ1TG-LZIlUjZm-yv59KA1omSq2dr8Ukfec46UE,277805
474
- udata/static/chunks/19.f03a102365af4315f9db.js,sha256=AoAGY4OVQWkRqV6zhrmmRVIRBbVehJPBjcPN0g7avtA,203418
475
- udata/static/chunks/19.f03a102365af4315f9db.js.map,sha256=a9cN0YUEECSmeeY9Svl1tb0tzatGEUm6lRcPUkqiX6U,1079969
475
+ udata/static/chunks/19.8da42e8359d72afc2618.js,sha256=_fLL-fYLi7nXZZg5-4hEU-tbR0K9auq21h2SAg-Jta8,203418
476
+ udata/static/chunks/19.8da42e8359d72afc2618.js.map,sha256=xHCkZGxv7IYB4gCYmwruU8lUdeBx-2stSwJYhG0u8Co,1079969
476
477
  udata/static/chunks/2.c67aa76cc078c193aed5.js,sha256=BjpQndwBdg9AT2lrY1TAgMfPbMvRytp33yI9YOgCOqc,276597
477
478
  udata/static/chunks/2.c67aa76cc078c193aed5.js.map,sha256=FnPh12lCwilnq1jRp-d7226H5kpaA4-raWEk1Q0p42M,1556097
478
479
  udata/static/chunks/20.3d4e02d1205a3c9e26c5.js,sha256=hRFQGBcks3lD-R4mNcNelqbr9kjz8jTtPee1lDWAVhY,36764
@@ -509,8 +510,8 @@ udata/static/chunks/6.d663709d877baa44a71e.js,sha256=hVRqq0dmyZJ8w6MdO9wUftY_doZ
509
510
  udata/static/chunks/6.d663709d877baa44a71e.js.map,sha256=WlChg1hCzjGyTO2mbICQpPhH5i7fjRC6ajr3g6unbtc,3783190
510
511
  udata/static/chunks/7.896bbffe39433bb598f7.js,sha256=C1NrGe6wrptQFYCCmITtx12dGqfaO7136-9BD6m05Ts,157150
511
512
  udata/static/chunks/7.896bbffe39433bb598f7.js.map,sha256=aZB8qYRkX4oqSugjG69tMlv64YIW5LPXF_8uACMHMTw,813014
512
- udata/static/chunks/8.778091d55cd8ea39af6b.js,sha256=SrK8Nvj5fUkQfnPzqJZk-C2_XIWJ8hWNGMyb12XzCXA,222856
513
- udata/static/chunks/8.778091d55cd8ea39af6b.js.map,sha256=FAp8U0UsvYUBz_r7pNmJUQU3UtTtpJPWaTG44Jl3fDk,1205076
513
+ udata/static/chunks/8.494b003a94383b142c18.js,sha256=e22kCx2kIrqp7Ok5RWIYMbdVjL1Y3_MMddm0wOerUgs,222856
514
+ udata/static/chunks/8.494b003a94383b142c18.js.map,sha256=XAsFe6qlreG7vQyxmTU7J4JjSxyJvsyp9MjQZXdW13k,1205076
514
515
  udata/static/chunks/9.033d7e190ca9e226a5d0.js,sha256=NmyhScUINZKQbc3A-zIZr9vEGy59Ktb9xkI-d0oaEvo,416716
515
516
  udata/static/chunks/9.033d7e190ca9e226a5d0.js.map,sha256=n08Lnx4NZFACwgehhaZfstLOnqDam_IUQhNLlUjMEVo,2746303
516
517
  udata/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -596,7 +597,7 @@ udata/tests/models.py,sha256=5oTC-cgKSL0sUdlqjUiJ6U8-YZBQanObb-MhZhQIV3M,238
596
597
  udata/tests/plugin.py,sha256=QDY6fqjozck1_KrNGqN4wkIUAdACpAnUDOW6GTjKmqQ,12480
597
598
  udata/tests/schemas.json,sha256=szM1jDpkogfOG4xWbjIGjLgG8l9-ZyE3JKQtecJyD1E,4990
598
599
  udata/tests/test_activity.py,sha256=x-pDK6VW9wAG0uxYRZQ3DWTRjfCU729iaMGMJb1rWYU,3195
599
- udata/tests/test_api_fields.py,sha256=TMUBDBBfAUiaul01b45KeTxP-vjF3TQa0PoTuKhZgLQ,11307
600
+ udata/tests/test_api_fields.py,sha256=k1NkSgHSPZd1YTfKwXKpoPQsA1lrR6FOogcePK_U5X0,11307
600
601
  udata/tests/test_cors.py,sha256=b_pyxKeIyqhnsXxXryPf4d0V0QxaLQ1P_VjY89Q_j3g,3233
601
602
  udata/tests/test_dcat_commands.py,sha256=fDAnAjkja8AXw_qzaAWnVTgglkBAvK2mjPMHUCtqrrU,919
602
603
  udata/tests/test_discussions.py,sha256=Qo7nhIUY7YAATZfWl5Mgo0XhngGwFULgqEoMhsHZtFE,33587
@@ -620,7 +621,7 @@ udata/tests/api/test_activities_api.py,sha256=RjDDeNle3T-ydVnh6BRypqxAE_244-DXaK
620
621
  udata/tests/api/test_auth_api.py,sha256=OMRlY0OQt60j5N4A-N3HdWTuffOjRlFHkz5a3jJFieI,25987
621
622
  udata/tests/api/test_base_api.py,sha256=2w_vz0eEuq3P3aN-ByvxGc3VZAo7XtgatFfcrzf2uEU,2244
622
623
  udata/tests/api/test_contact_points.py,sha256=X_RWD_xCfR8WchhHfKEt5mxMHY77OmTyguNKCsZftdE,5337
623
- udata/tests/api/test_dataservices_api.py,sha256=DAOMW1nkETWz2r3JoQ9bN8n-V72HJFr4HFmrdPvQLHo,24125
624
+ udata/tests/api/test_dataservices_api.py,sha256=jntjiLUWfAeFj-8VW3szcHLSNKSp8qFopUDAC5bxWuY,24102
624
625
  udata/tests/api/test_datasets_api.py,sha256=RjNwOj-TiD0SaXSmIttLLJLhyBbdoucfImqTA4tBnr8,90174
625
626
  udata/tests/api/test_fields.py,sha256=OW85Z5MES5HeWOpapeem8OvR1cIcrqW-xMWpdZO4LZ8,1033
626
627
  udata/tests/api/test_follow_api.py,sha256=fccgVNfcqET221PPS3p7qzb9hpvbBBUGhV-l4UeOpyk,3352
@@ -634,7 +635,7 @@ udata/tests/api/test_topics_api.py,sha256=mpIjztDEQ2fx25E9dl4eIARGqtYuh1w8x68PhR
634
635
  udata/tests/api/test_transfer_api.py,sha256=-OLv-KjyLZL14J8UHl-ak_sYUj6wFiZWyoXC2SMXmEQ,7503
635
636
  udata/tests/api/test_user_api.py,sha256=hfDHOv5F81tehbc5u3dYH5rAyYgzgHGCWVcGR3kLIZw,16591
636
637
  udata/tests/apiv2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
637
- udata/tests/apiv2/test_datasets.py,sha256=3M4pEvxQS1bCzP4Cje-Sj-1QpkR8q3EQnJDD4w15Dpk,21668
638
+ udata/tests/apiv2/test_datasets.py,sha256=zjTtjY7lJKOOjiV698RqGvRMuuMxY2dMhEcnhOXWUQg,21973
638
639
  udata/tests/apiv2/test_me_api.py,sha256=RAgu5iKGB3Pp8cDN-427ovly-VOz5MTL4GpPZ1NcVXI,1418
639
640
  udata/tests/apiv2/test_organizations.py,sha256=os_43s-coSRqjgY-5fAjSiRlB3g2685u7d-Es0aOhks,6390
640
641
  udata/tests/apiv2/test_swagger.py,sha256=RKedaq-2UeyEuxlmUaAN7pmEe-lQYYmpDUVc8HF3CH4,785
@@ -652,8 +653,8 @@ udata/tests/dataset/test_csv_adapter.py,sha256=CSAHEur5-183fRsD_cBgsHnLuohn0DOb9
652
653
  udata/tests/dataset/test_dataset_actions.py,sha256=bgDjVYjOvu3sX_FCTCzf2snZYSprsqor2nAhIVuokSs,722
653
654
  udata/tests/dataset/test_dataset_commands.py,sha256=zMPJG2wYwKBee2zI65kmboxf59Zqa84DDjT8V5wj9uo,801
654
655
  udata/tests/dataset/test_dataset_events.py,sha256=hlrpoOiBbnX_COUI9Pzdqlp45GZZDqu5piwupbnPiTI,3601
655
- udata/tests/dataset/test_dataset_model.py,sha256=uz2oNuzL6tEqd34JrBP0J1BVlt8JQoAB_u3tYM9etPg,32407
656
- udata/tests/dataset/test_dataset_rdf.py,sha256=1eBbn7rl2bcHGaJoxXMnJpszteShXvVg3djEw6HxOUw,40721
656
+ udata/tests/dataset/test_dataset_model.py,sha256=YX9ELWA6q2tW3OEI_rDS7BPfE2p5ocA5pB9_2Yyy8Ac,32017
657
+ udata/tests/dataset/test_dataset_rdf.py,sha256=fWMfhJvxmRKPw7cdvksS-sJBJT4G9DepDIm5RTdvrJ4,41310
657
658
  udata/tests/dataset/test_dataset_tasks.py,sha256=n1W2Pg0ez02d66zQG3N93kh7dpR2yLMRDqUI6PnPaI0,3088
658
659
  udata/tests/dataset/test_resource_preview.py,sha256=fp9mSL7unhyM66GR0gwhgX3OGQ4TJt7G9xU-CjsL3HI,3908
659
660
  udata/tests/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -720,9 +721,9 @@ udata/translations/pt/LC_MESSAGES/udata.mo,sha256=xmSQ7RTl9XV24Vq3A7f_NIRDrOJwbs
720
721
  udata/translations/pt/LC_MESSAGES/udata.po,sha256=PXrrhfIjZxheUotQan9VVh1fvNHSzeMAitaouIHaR7U,46793
721
722
  udata/translations/sr/LC_MESSAGES/udata.mo,sha256=1pAf_rXvbOoO_jjZmH77GbzvdT_YtPTJKFumMnMto2g,29169
722
723
  udata/translations/sr/LC_MESSAGES/udata.po,sha256=AalMHaFLZobKmuAnZ4X1rQtk46NdW2rktMFQHD5DTcM,53768
723
- udata-10.2.1.dev34728.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
724
- udata-10.2.1.dev34728.dist-info/METADATA,sha256=X_iyv6wTV8PL7AqcqQYNU43ISlJ08S8OpCDrFbm1n98,143896
725
- udata-10.2.1.dev34728.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
726
- udata-10.2.1.dev34728.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
727
- udata-10.2.1.dev34728.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
728
- udata-10.2.1.dev34728.dist-info/RECORD,,
724
+ udata-10.2.1.dev34767.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
725
+ udata-10.2.1.dev34767.dist-info/METADATA,sha256=vWRxEnNGq_U85jix4B-OnRg09eiCS_PqSo2HlTo-F5Q,144105
726
+ udata-10.2.1.dev34767.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
727
+ udata-10.2.1.dev34767.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
728
+ udata-10.2.1.dev34767.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
729
+ udata-10.2.1.dev34767.dist-info/RECORD,,