udata 7.0.6__py2.py3-none-any.whl → 7.0.6.dev28180__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.
- udata/__init__.py +1 -1
- udata/commands/__init__.py +3 -0
- udata/commands/dcat.py +4 -7
- udata/core/activity/api.py +1 -1
- udata/core/activity/models.py +3 -4
- udata/core/activity/tasks.py +5 -6
- udata/core/dataset/factories.py +4 -2
- udata/core/dataset/models.py +5 -2
- udata/core/dataset/rdf.py +25 -65
- udata/core/dataset/search.py +1 -0
- udata/core/spatial/tests/test_api.py +10 -7
- udata/core/topic/factories.py +2 -2
- udata/harvest/backends/dcat.py +24 -128
- udata/harvest/tests/dcat/bnodes.xml +1 -7
- udata/harvest/tests/test_dcat_backend.py +9 -82
- udata/rdf.py +1 -22
- udata/search/__init__.py +2 -2
- udata/static/chunks/{11.a23c110811a9ac943478.js → 11.c0ccea08914b6b41568e.js} +3 -3
- udata/static/chunks/{11.a23c110811a9ac943478.js.map → 11.c0ccea08914b6b41568e.js.map} +1 -1
- udata/static/chunks/{13.0889e093f8664e38568c.js → 13.526a25163ababaa44409.js} +2 -2
- udata/static/chunks/{13.0889e093f8664e38568c.js.map → 13.526a25163ababaa44409.js.map} +1 -1
- udata/static/chunks/{16.f41599478d3e97ad9a30.js → 16.7901839b4227881947f6.js} +2 -2
- udata/static/chunks/{16.f41599478d3e97ad9a30.js.map → 16.7901839b4227881947f6.js.map} +1 -1
- udata/static/chunks/{19.2b534a26af8b17e9170b.js → 19.471d5a2a08eef6e5338a.js} +3 -3
- udata/static/chunks/{19.2b534a26af8b17e9170b.js.map → 19.471d5a2a08eef6e5338a.js.map} +1 -1
- udata/static/chunks/{5.7115454a1183e5c12eef.js → 5.534e0531d0e2b150146f.js} +3 -3
- udata/static/chunks/{5.7115454a1183e5c12eef.js.map → 5.534e0531d0e2b150146f.js.map} +1 -1
- udata/static/chunks/{6.16bb24fb8240f2746488.js → 6.e56975229e6065f68d2a.js} +3 -3
- udata/static/chunks/{6.16bb24fb8240f2746488.js.map → 6.e56975229e6065f68d2a.js.map} +1 -1
- udata/static/chunks/{9.3e752966ff14e47e11f2.js → 9.534426728626f11f4571.js} +2 -2
- udata/static/chunks/{9.3e752966ff14e47e11f2.js.map → 9.534426728626f11f4571.js.map} +1 -1
- udata/static/common.js +1 -1
- udata/static/common.js.map +1 -1
- udata/tests/api/test_datasets_api.py +45 -45
- udata/tests/api/test_me_api.py +14 -13
- udata/tests/dataset/test_dataset_actions.py +2 -2
- udata/tests/dataset/test_dataset_commands.py +3 -3
- udata/tests/dataset/test_dataset_model.py +1 -2
- udata/tests/organization/test_organization_model.py +3 -3
- udata/tests/organization/test_organization_rdf.py +3 -3
- udata/tests/reuse/test_reuse_model.py +2 -2
- udata/tests/search/test_adapter.py +12 -12
- udata/tests/search/test_results.py +4 -4
- udata/tests/site/test_site_api.py +3 -3
- udata/tests/site/test_site_metrics.py +3 -3
- udata/tests/site/test_site_rdf.py +6 -6
- udata/tests/test_activity.py +0 -12
- udata/tests/test_transfer.py +17 -18
- {udata-7.0.6.dist-info → udata-7.0.6.dev28180.dist-info}/METADATA +4 -10
- {udata-7.0.6.dist-info → udata-7.0.6.dev28180.dist-info}/RECORD +54 -60
- {udata-7.0.6.dist-info → udata-7.0.6.dev28180.dist-info}/entry_points.txt +0 -1
- udata/harvest/tests/csw_dcat/XSLT.xml +0 -4298
- udata/harvest/tests/csw_dcat/geonetwork-iso-page-1.xml +0 -1291
- udata/harvest/tests/csw_dcat/geonetwork-iso-page-3.xml +0 -1139
- udata/harvest/tests/csw_dcat/geonetwork-iso-page-5.xml +0 -1266
- udata/harvest/tests/dcat/evian.json +0 -464
- udata/migrations/2024-03-22-migrate-activity-kwargs-to-extras.py +0 -16
- {udata-7.0.6.dist-info → udata-7.0.6.dev28180.dist-info}/LICENSE +0 -0
- {udata-7.0.6.dist-info → udata-7.0.6.dev28180.dist-info}/WHEEL +0 -0
- {udata-7.0.6.dist-info → udata-7.0.6.dev28180.dist-info}/top_level.txt +0 -0
udata/static/common.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e){function __webpack_require__(a){if(c[a])return c[a].exports;var b=c[a]={exports:{},id:a,loaded:!1};return e[a].call(b.exports,b,b.exports,__webpack_require__),b.loaded=!0,b.exports}var a=window.webpackJsonp;window.webpackJsonp=function(r,f){for(var t,_
|
|
1
|
+
!function(e){function __webpack_require__(a){if(c[a])return c[a].exports;var b=c[a]={exports:{},id:a,loaded:!1};return e[a].call(b.exports,b,b.exports,__webpack_require__),b.loaded=!0,b.exports}var a=window.webpackJsonp;window.webpackJsonp=function(r,f){for(var t,d,_=0,n=[];_<r.length;_++)d=r[_],b[d]&&n.push.apply(n,b[d]),b[d]=0;for(t in f){var i=f[t];switch(typeof i){case"object":e[t]=function(a){var c=a.slice(1),b=a[0];return function(a,r,f){e[b].apply(this,[a,r,f].concat(c))}}(i);break;case"function":e[t]=i;break;default:e[t]=e[i]}}for(a&&a(r,f);n.length;)n.shift().call(null,__webpack_require__);if(f[0])return c[0]=0,__webpack_require__(0)};var c={},b={31:0};__webpack_require__.e=function(e,a){if(0===b[e])return a.call(null,__webpack_require__);if(void 0!==b[e])b[e].push(a);else{b[e]=[a];var c=document.getElementsByTagName("head")[0],r=document.createElement("script");r.type="text/javascript",r.charset="utf-8",r.async=!0,r.src=__webpack_require__.p+"chunks/"+e+"."+{0:"dd9000783a522bc2069d",1:"4a09db78b21075c05a30",2:"95c0fc4f129186dba94b",3:"1ca609753b5a02de0ca3",4:"379d0586872a1bae2ebd",5:"534e0531d0e2b150146f",6:"e56975229e6065f68d2a",7:"2ebc6662cf10a678b2ac",8:"17d1afb591ad1495bd03",9:"534426728626f11f4571",10:"e97ea231893dc435d6b5",11:"c0ccea08914b6b41568e",12:"d39612a569bcc3a358a8",13:"526a25163ababaa44409",14:"cdb85e78de233e6556ff",15:"92b2cef3032ea35da04a",16:"7901839b4227881947f6",17:"13db80c90b998be14e1b",18:"ad41fb75ac4226e1f3ce",19:"471d5a2a08eef6e5338a",20:"14a92e5c503f74ff40df",21:"ccbfce6680a2b11a5284",22:"bc79367e5f4c8ad00038",23:"58f008bb10313268bf7d",24:"554ea613112f1ba6c246",25:"bebb170f65c104b18777",26:"9a0fd93accfc31686ed0",27:"dbd31d749f51f362b968",28:"c9c89e04a005ae62b473",29:"a0f8fce10d9e93e23b12",30:"9dc7b1b44817569daec6",32:"9b68f125e2598d22d5b5",33:"70f8e7b1964892a24e67"}[e]+".js",c.appendChild(r)}},__webpack_require__.m=e,__webpack_require__.c=c,__webpack_require__.p="/static/"}(function(e){for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a))switch(typeof e[a]){case"function":break;case"object":e[a]=function(a){var c=a.slice(1),b=e[a[0]];return function(e,a,r){b.apply(this,[e,a,r].concat(c))}}(e[a]);break;default:e[a]=e[e[a]]}return e}([]));
|
|
2
2
|
//# sourceMappingURL=common.js.map
|
udata/static/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap 4d6737f13b4fdd696b36"],"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\":\"dd9000783a522bc2069d\",\"1\":\"4a09db78b21075c05a30\",\"2\":\"95c0fc4f129186dba94b\",\"3\":\"1ca609753b5a02de0ca3\",\"4\":\"379d0586872a1bae2ebd\",\"5\":\"7115454a1183e5c12eef\",\"6\":\"16bb24fb8240f2746488\",\"7\":\"2ebc6662cf10a678b2ac\",\"8\":\"17d1afb591ad1495bd03\",\"9\":\"3e752966ff14e47e11f2\",\"10\":\"e97ea231893dc435d6b5\",\"11\":\"a23c110811a9ac943478\",\"12\":\"d39612a569bcc3a358a8\",\"13\":\"0889e093f8664e38568c\",\"14\":\"cdb85e78de233e6556ff\",\"15\":\"92b2cef3032ea35da04a\",\"16\":\"f41599478d3e97ad9a30\",\"17\":\"13db80c90b998be14e1b\",\"18\":\"ad41fb75ac4226e1f3ce\",\"19\":\"2b534a26af8b17e9170b\",\"20\":\"14a92e5c503f74ff40df\",\"21\":\"ccbfce6680a2b11a5284\",\"22\":\"bc79367e5f4c8ad00038\",\"23\":\"58f008bb10313268bf7d\",\"24\":\"554ea613112f1ba6c246\",\"25\":\"bebb170f65c104b18777\",\"26\":\"9a0fd93accfc31686ed0\",\"27\":\"dbd31d749f51f362b968\",\"28\":\"c9c89e04a005ae62b473\",\"29\":\"a0f8fce10d9e93e23b12\",\"30\":\"9dc7b1b44817569daec6\",\"32\":\"9b68f125e2598d22d5b5\",\"33\":\"70f8e7b1964892a24e67\"}[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\":\"dd9000783a522bc2069d\",\"1\":\"4a09db78b21075c05a30\",\"2\":\"95c0fc4f129186dba94b\",\"3\":\"1ca609753b5a02de0ca3\",\"4\":\"379d0586872a1bae2ebd\",\"5\":\"7115454a1183e5c12eef\",\"6\":\"16bb24fb8240f2746488\",\"7\":\"2ebc6662cf10a678b2ac\",\"8\":\"17d1afb591ad1495bd03\",\"9\":\"3e752966ff14e47e11f2\",\"10\":\"e97ea231893dc435d6b5\",\"11\":\"a23c110811a9ac943478\",\"12\":\"d39612a569bcc3a358a8\",\"13\":\"0889e093f8664e38568c\",\"14\":\"cdb85e78de233e6556ff\",\"15\":\"92b2cef3032ea35da04a\",\"16\":\"f41599478d3e97ad9a30\",\"17\":\"13db80c90b998be14e1b\",\"18\":\"ad41fb75ac4226e1f3ce\",\"19\":\"2b534a26af8b17e9170b\",\"20\":\"14a92e5c503f74ff40df\",\"21\":\"ccbfce6680a2b11a5284\",\"22\":\"bc79367e5f4c8ad00038\",\"23\":\"58f008bb10313268bf7d\",\"24\":\"554ea613112f1ba6c246\",\"25\":\"bebb170f65c104b18777\",\"26\":\"9a0fd93accfc31686ed0\",\"27\":\"dbd31d749f51f362b968\",\"28\":\"c9c89e04a005ae62b473\",\"29\":\"a0f8fce10d9e93e23b12\",\"30\":\"9dc7b1b44817569daec6\",\"32\":\"9b68f125e2598d22d5b5\",\"33\":\"70f8e7b1964892a24e67\"}[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 4d6737f13b4fdd696b36\n **/"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap af2fbd64f908b4b6b777"],"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\":\"dd9000783a522bc2069d\",\"1\":\"4a09db78b21075c05a30\",\"2\":\"95c0fc4f129186dba94b\",\"3\":\"1ca609753b5a02de0ca3\",\"4\":\"379d0586872a1bae2ebd\",\"5\":\"534e0531d0e2b150146f\",\"6\":\"e56975229e6065f68d2a\",\"7\":\"2ebc6662cf10a678b2ac\",\"8\":\"17d1afb591ad1495bd03\",\"9\":\"534426728626f11f4571\",\"10\":\"e97ea231893dc435d6b5\",\"11\":\"c0ccea08914b6b41568e\",\"12\":\"d39612a569bcc3a358a8\",\"13\":\"526a25163ababaa44409\",\"14\":\"cdb85e78de233e6556ff\",\"15\":\"92b2cef3032ea35da04a\",\"16\":\"7901839b4227881947f6\",\"17\":\"13db80c90b998be14e1b\",\"18\":\"ad41fb75ac4226e1f3ce\",\"19\":\"471d5a2a08eef6e5338a\",\"20\":\"14a92e5c503f74ff40df\",\"21\":\"ccbfce6680a2b11a5284\",\"22\":\"bc79367e5f4c8ad00038\",\"23\":\"58f008bb10313268bf7d\",\"24\":\"554ea613112f1ba6c246\",\"25\":\"bebb170f65c104b18777\",\"26\":\"9a0fd93accfc31686ed0\",\"27\":\"dbd31d749f51f362b968\",\"28\":\"c9c89e04a005ae62b473\",\"29\":\"a0f8fce10d9e93e23b12\",\"30\":\"9dc7b1b44817569daec6\",\"32\":\"9b68f125e2598d22d5b5\",\"33\":\"70f8e7b1964892a24e67\"}[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\":\"dd9000783a522bc2069d\",\"1\":\"4a09db78b21075c05a30\",\"2\":\"95c0fc4f129186dba94b\",\"3\":\"1ca609753b5a02de0ca3\",\"4\":\"379d0586872a1bae2ebd\",\"5\":\"534e0531d0e2b150146f\",\"6\":\"e56975229e6065f68d2a\",\"7\":\"2ebc6662cf10a678b2ac\",\"8\":\"17d1afb591ad1495bd03\",\"9\":\"534426728626f11f4571\",\"10\":\"e97ea231893dc435d6b5\",\"11\":\"c0ccea08914b6b41568e\",\"12\":\"d39612a569bcc3a358a8\",\"13\":\"526a25163ababaa44409\",\"14\":\"cdb85e78de233e6556ff\",\"15\":\"92b2cef3032ea35da04a\",\"16\":\"7901839b4227881947f6\",\"17\":\"13db80c90b998be14e1b\",\"18\":\"ad41fb75ac4226e1f3ce\",\"19\":\"471d5a2a08eef6e5338a\",\"20\":\"14a92e5c503f74ff40df\",\"21\":\"ccbfce6680a2b11a5284\",\"22\":\"bc79367e5f4c8ad00038\",\"23\":\"58f008bb10313268bf7d\",\"24\":\"554ea613112f1ba6c246\",\"25\":\"bebb170f65c104b18777\",\"26\":\"9a0fd93accfc31686ed0\",\"27\":\"dbd31d749f51f362b968\",\"28\":\"c9c89e04a005ae62b473\",\"29\":\"a0f8fce10d9e93e23b12\",\"30\":\"9dc7b1b44817569daec6\",\"32\":\"9b68f125e2598d22d5b5\",\"33\":\"70f8e7b1964892a24e67\"}[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 af2fbd64f908b4b6b777\n **/"],"sourceRoot":""}
|
|
@@ -17,7 +17,7 @@ from udata.core.dataset.api_fields import (dataset_harvest_fields,
|
|
|
17
17
|
from udata.core.dataset.factories import (CommunityResourceFactory,
|
|
18
18
|
DatasetFactory, LicenseFactory,
|
|
19
19
|
ResourceFactory, ResourceSchemaMockData,
|
|
20
|
-
|
|
20
|
+
VisibleDatasetFactory)
|
|
21
21
|
from udata.core.dataset.models import (HarvestDatasetMetadata,
|
|
22
22
|
HarvestResourceMetadata, ResourceMixin)
|
|
23
23
|
from udata.core.organization.factories import OrganizationFactory
|
|
@@ -44,13 +44,12 @@ SAMPLE_GEOM = {
|
|
|
44
44
|
]
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
|
|
48
47
|
class DatasetAPITest(APITestCase):
|
|
49
48
|
modules = []
|
|
50
49
|
|
|
51
50
|
def test_dataset_api_list(self):
|
|
52
51
|
'''It should fetch a dataset list from the API'''
|
|
53
|
-
datasets = [
|
|
52
|
+
datasets = [VisibleDatasetFactory() for i in range(2)]
|
|
54
53
|
|
|
55
54
|
response = self.get(url_for('api.datasets'))
|
|
56
55
|
self.assert200(response)
|
|
@@ -59,10 +58,10 @@ class DatasetAPITest(APITestCase):
|
|
|
59
58
|
|
|
60
59
|
def test_dataset_api_full_text_search(self):
|
|
61
60
|
'''Should proceed to full text search on datasets'''
|
|
62
|
-
[
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
dataset =
|
|
61
|
+
[VisibleDatasetFactory() for i in range(2)]
|
|
62
|
+
VisibleDatasetFactory(title="some spécial integer")
|
|
63
|
+
VisibleDatasetFactory(title="some spécial float")
|
|
64
|
+
dataset = VisibleDatasetFactory(title="some spécial chars")
|
|
66
65
|
|
|
67
66
|
# with accent
|
|
68
67
|
response = self.get(url_for('api.datasets', q='some spécial chars'))
|
|
@@ -83,9 +82,9 @@ class DatasetAPITest(APITestCase):
|
|
|
83
82
|
def test_dataset_api_sorting(self):
|
|
84
83
|
'''Should sort datasets results from the API'''
|
|
85
84
|
self.login()
|
|
86
|
-
[
|
|
85
|
+
[VisibleDatasetFactory() for i in range(2)]
|
|
87
86
|
|
|
88
|
-
to_follow =
|
|
87
|
+
to_follow = VisibleDatasetFactory(title="dataset to follow")
|
|
89
88
|
|
|
90
89
|
response = self.post(url_for('api.dataset_followers', id=to_follow.id))
|
|
91
90
|
self.assert201(response)
|
|
@@ -101,8 +100,8 @@ class DatasetAPITest(APITestCase):
|
|
|
101
100
|
|
|
102
101
|
def test_dataset_api_sorting_created(self):
|
|
103
102
|
self.login()
|
|
104
|
-
first =
|
|
105
|
-
second =
|
|
103
|
+
first = VisibleDatasetFactory(title="first created dataset")
|
|
104
|
+
second = VisibleDatasetFactory(title="second created dataset")
|
|
106
105
|
response = self.get(url_for('api.datasets', sort='created'))
|
|
107
106
|
self.assert200(response)
|
|
108
107
|
self.assertEqual(response.json['data'][0]['id'], str(first.id))
|
|
@@ -124,8 +123,8 @@ class DatasetAPITest(APITestCase):
|
|
|
124
123
|
def test_dataset_api_default_sorting(self):
|
|
125
124
|
# Default sort should be -created
|
|
126
125
|
self.login()
|
|
127
|
-
[
|
|
128
|
-
last =
|
|
126
|
+
[VisibleDatasetFactory(title="some created dataset") for i in range(10)]
|
|
127
|
+
last = VisibleDatasetFactory(title="last created dataset")
|
|
129
128
|
response = self.get(url_for('api.datasets'))
|
|
130
129
|
self.assert200(response)
|
|
131
130
|
self.assertEqual(response.json['data'][0]['id'], str(last.id))
|
|
@@ -135,31 +134,31 @@ class DatasetAPITest(APITestCase):
|
|
|
135
134
|
owner = UserFactory()
|
|
136
135
|
org = OrganizationFactory()
|
|
137
136
|
|
|
138
|
-
[
|
|
137
|
+
[VisibleDatasetFactory() for i in range(2)]
|
|
139
138
|
|
|
140
|
-
tag_dataset =
|
|
141
|
-
license_dataset =
|
|
139
|
+
tag_dataset = VisibleDatasetFactory(tags=['my-tag', 'other'])
|
|
140
|
+
license_dataset = VisibleDatasetFactory(license=LicenseFactory(id='cc-by'))
|
|
142
141
|
format_dataset = DatasetFactory(resources=[ResourceFactory(format='my-format')])
|
|
143
|
-
featured_dataset =
|
|
144
|
-
topic_dataset =
|
|
142
|
+
featured_dataset = VisibleDatasetFactory(featured=True)
|
|
143
|
+
topic_dataset = VisibleDatasetFactory()
|
|
145
144
|
topic = TopicFactory(datasets=[topic_dataset])
|
|
146
145
|
|
|
147
146
|
paca, _, _ = create_geozones_fixtures()
|
|
148
|
-
geozone_dataset =
|
|
149
|
-
granularity_dataset =
|
|
147
|
+
geozone_dataset = VisibleDatasetFactory(spatial=SpatialCoverageFactory(zones=[paca.id]))
|
|
148
|
+
granularity_dataset = VisibleDatasetFactory(
|
|
150
149
|
spatial=SpatialCoverageFactory(granularity='country')
|
|
151
150
|
)
|
|
152
151
|
|
|
153
152
|
temporal_coverage = db.DateRange(start='2022-05-03', end='2022-05-04')
|
|
154
153
|
temporal_coverage_dataset = DatasetFactory(temporal_coverage=temporal_coverage)
|
|
155
154
|
|
|
156
|
-
owner_dataset =
|
|
157
|
-
org_dataset =
|
|
155
|
+
owner_dataset = VisibleDatasetFactory(owner=owner)
|
|
156
|
+
org_dataset = VisibleDatasetFactory(organization=org)
|
|
158
157
|
|
|
159
|
-
schema_dataset =
|
|
158
|
+
schema_dataset = VisibleDatasetFactory(resources=[
|
|
160
159
|
ResourceFactory(schema={'name': 'my-schema', 'url': 'https://example.org', 'version': '1.0.0'})
|
|
161
160
|
])
|
|
162
|
-
schema_version2_dataset =
|
|
161
|
+
schema_version2_dataset = VisibleDatasetFactory(resources=[
|
|
163
162
|
ResourceFactory(schema={'name': 'other-schema', 'url': 'https://example.org', 'version': '2.0.0'})
|
|
164
163
|
])
|
|
165
164
|
|
|
@@ -271,7 +270,7 @@ class DatasetAPITest(APITestCase):
|
|
|
271
270
|
|
|
272
271
|
def test_dataset_api_get_deleted(self):
|
|
273
272
|
'''It should not fetch a deleted dataset from the API and raise 410'''
|
|
274
|
-
dataset =
|
|
273
|
+
dataset = VisibleDatasetFactory(deleted=datetime.utcnow())
|
|
275
274
|
|
|
276
275
|
response = self.get(url_for('api.dataset', dataset=dataset))
|
|
277
276
|
self.assert410(response)
|
|
@@ -279,7 +278,7 @@ class DatasetAPITest(APITestCase):
|
|
|
279
278
|
def test_dataset_api_get_deleted_but_authorized(self):
|
|
280
279
|
'''It should a deleted dataset from the API if user is authorized'''
|
|
281
280
|
self.login()
|
|
282
|
-
dataset =
|
|
281
|
+
dataset = VisibleDatasetFactory(owner=self.user,
|
|
283
282
|
deleted=datetime.utcnow())
|
|
284
283
|
|
|
285
284
|
response = self.get(url_for('api.dataset', dataset=dataset))
|
|
@@ -452,7 +451,7 @@ class DatasetAPITest(APITestCase):
|
|
|
452
451
|
def test_dataset_api_update_with_resources(self):
|
|
453
452
|
'''It should update a dataset from the API with resources parameters'''
|
|
454
453
|
user = self.login()
|
|
455
|
-
dataset =
|
|
454
|
+
dataset = VisibleDatasetFactory(owner=user)
|
|
456
455
|
initial_length = len(dataset.resources)
|
|
457
456
|
data = dataset.to_dict()
|
|
458
457
|
data['resources'].append(ResourceFactory.as_dict())
|
|
@@ -465,7 +464,7 @@ class DatasetAPITest(APITestCase):
|
|
|
465
464
|
|
|
466
465
|
def test_dataset_api_update_private(self):
|
|
467
466
|
user = self.login()
|
|
468
|
-
dataset =
|
|
467
|
+
dataset = DatasetFactory(owner=user, private=True)
|
|
469
468
|
data = dataset.to_dict()
|
|
470
469
|
data['description'] = 'new description'
|
|
471
470
|
del data['private']
|
|
@@ -488,10 +487,12 @@ class DatasetAPITest(APITestCase):
|
|
|
488
487
|
dataset.reload()
|
|
489
488
|
self.assertEqual(dataset.private, True)
|
|
490
489
|
|
|
490
|
+
|
|
491
|
+
|
|
491
492
|
def test_dataset_api_update_new_resource_with_extras(self):
|
|
492
493
|
'''It should update a dataset with a new resource with extras'''
|
|
493
494
|
user = self.login()
|
|
494
|
-
dataset =
|
|
495
|
+
dataset = VisibleDatasetFactory(owner=user)
|
|
495
496
|
data = dataset.to_dict()
|
|
496
497
|
resource_data = ResourceFactory.as_dict()
|
|
497
498
|
resource_data['extras'] = {'extra:id': 'id'}
|
|
@@ -507,7 +508,7 @@ class DatasetAPITest(APITestCase):
|
|
|
507
508
|
def test_dataset_api_update_existing_resource_with_extras(self):
|
|
508
509
|
'''It should update a dataset's existing resource with extras'''
|
|
509
510
|
user = self.login()
|
|
510
|
-
dataset =
|
|
511
|
+
dataset = VisibleDatasetFactory(owner=user)
|
|
511
512
|
data = dataset.to_dict()
|
|
512
513
|
data['resources'][0]['extras'] = {'extra:id': 'id'}
|
|
513
514
|
response = self.put(url_for('api.dataset', dataset=dataset), data)
|
|
@@ -682,7 +683,7 @@ class DatasetAPITest(APITestCase):
|
|
|
682
683
|
def test_dataset_api_delete(self):
|
|
683
684
|
'''It should delete a dataset from the API'''
|
|
684
685
|
user = self.login()
|
|
685
|
-
dataset =
|
|
686
|
+
dataset = VisibleDatasetFactory(owner=user)
|
|
686
687
|
response = self.delete(url_for('api.dataset', dataset=dataset))
|
|
687
688
|
|
|
688
689
|
self.assertStatus(response, 204)
|
|
@@ -696,7 +697,7 @@ class DatasetAPITest(APITestCase):
|
|
|
696
697
|
def test_dataset_api_delete_deleted(self):
|
|
697
698
|
'''It should delete a deleted dataset from the API and raise 410'''
|
|
698
699
|
user = self.login()
|
|
699
|
-
dataset =
|
|
700
|
+
dataset = VisibleDatasetFactory(owner=user, deleted=datetime.utcnow())
|
|
700
701
|
response = self.delete(url_for('api.dataset', dataset=dataset))
|
|
701
702
|
|
|
702
703
|
self.assert410(response)
|
|
@@ -1471,8 +1472,8 @@ class DatasetArchivedAPITest(APITestCase):
|
|
|
1471
1472
|
|
|
1472
1473
|
def test_dataset_api_search_archived(self):
|
|
1473
1474
|
'''It should search datasets from the API, excluding archived ones'''
|
|
1474
|
-
|
|
1475
|
-
dataset =
|
|
1475
|
+
VisibleDatasetFactory(archived=None)
|
|
1476
|
+
dataset = VisibleDatasetFactory(archived=datetime.utcnow())
|
|
1476
1477
|
|
|
1477
1478
|
response = self.get(url_for('api.datasets', q=''))
|
|
1478
1479
|
self.assert200(response)
|
|
@@ -1482,7 +1483,7 @@ class DatasetArchivedAPITest(APITestCase):
|
|
|
1482
1483
|
|
|
1483
1484
|
def test_dataset_api_get_archived(self):
|
|
1484
1485
|
'''It should fetch an archived dataset from the API and return 200'''
|
|
1485
|
-
dataset =
|
|
1486
|
+
dataset = VisibleDatasetFactory(archived=datetime.utcnow())
|
|
1486
1487
|
response = self.get(url_for('api.dataset', dataset=dataset))
|
|
1487
1488
|
self.assert200(response)
|
|
1488
1489
|
|
|
@@ -1527,7 +1528,7 @@ class CommunityResourceAPITest(APITestCase):
|
|
|
1527
1528
|
|
|
1528
1529
|
def test_community_resource_api_create_dataset_binding(self):
|
|
1529
1530
|
'''It should create a community resource linked to the right dataset'''
|
|
1530
|
-
dataset =
|
|
1531
|
+
dataset = VisibleDatasetFactory()
|
|
1531
1532
|
self.login()
|
|
1532
1533
|
response = self.post(
|
|
1533
1534
|
url_for('api.upload_new_community_resource', dataset=dataset),
|
|
@@ -1539,7 +1540,7 @@ class CommunityResourceAPITest(APITestCase):
|
|
|
1539
1540
|
|
|
1540
1541
|
def test_community_resource_api_create(self):
|
|
1541
1542
|
'''It should create a community resource from the API'''
|
|
1542
|
-
dataset =
|
|
1543
|
+
dataset = VisibleDatasetFactory()
|
|
1543
1544
|
self.login()
|
|
1544
1545
|
response = self.post(
|
|
1545
1546
|
url_for('api.upload_new_community_resource', dataset=dataset),
|
|
@@ -1559,7 +1560,7 @@ class CommunityResourceAPITest(APITestCase):
|
|
|
1559
1560
|
|
|
1560
1561
|
def test_community_resource_api_create_as_org(self):
|
|
1561
1562
|
'''It should create a community resource as org from the API'''
|
|
1562
|
-
dataset =
|
|
1563
|
+
dataset = VisibleDatasetFactory()
|
|
1563
1564
|
user = self.login()
|
|
1564
1565
|
org = OrganizationFactory(members=[
|
|
1565
1566
|
Member(user=user, role='admin')
|
|
@@ -1611,7 +1612,7 @@ class CommunityResourceAPITest(APITestCase):
|
|
|
1611
1612
|
|
|
1612
1613
|
def test_community_resource_api_update_with_file(self):
|
|
1613
1614
|
'''It should update a community resource file from the API'''
|
|
1614
|
-
dataset =
|
|
1615
|
+
dataset = VisibleDatasetFactory()
|
|
1615
1616
|
user = self.login()
|
|
1616
1617
|
community_resource = CommunityResourceFactory(dataset=dataset,
|
|
1617
1618
|
owner=user)
|
|
@@ -1636,7 +1637,7 @@ class CommunityResourceAPITest(APITestCase):
|
|
|
1636
1637
|
|
|
1637
1638
|
def test_community_resource_file_update_old_file_deletion(self):
|
|
1638
1639
|
'''It should update a community resource's file and delete the old one'''
|
|
1639
|
-
dataset =
|
|
1640
|
+
dataset = VisibleDatasetFactory()
|
|
1640
1641
|
user = self.login()
|
|
1641
1642
|
community_resource = CommunityResourceFactory(dataset=dataset,
|
|
1642
1643
|
owner=user)
|
|
@@ -1663,7 +1664,7 @@ class CommunityResourceAPITest(APITestCase):
|
|
|
1663
1664
|
def test_community_resource_api_create_remote(self):
|
|
1664
1665
|
'''It should create a remote community resource from the API'''
|
|
1665
1666
|
user = self.login()
|
|
1666
|
-
dataset =
|
|
1667
|
+
dataset = VisibleDatasetFactory()
|
|
1667
1668
|
attrs = CommunityResourceFactory.as_dict()
|
|
1668
1669
|
attrs['filetype'] = 'remote'
|
|
1669
1670
|
attrs['dataset'] = str(dataset.id)
|
|
@@ -1684,7 +1685,7 @@ class CommunityResourceAPITest(APITestCase):
|
|
|
1684
1685
|
def test_community_resource_api_unallowed_create_filetype_file(self):
|
|
1685
1686
|
'''It should create a remote community resource from the API'''
|
|
1686
1687
|
self.login()
|
|
1687
|
-
dataset =
|
|
1688
|
+
dataset = VisibleDatasetFactory()
|
|
1688
1689
|
attrs = CommunityResourceFactory.as_dict()
|
|
1689
1690
|
attrs['filetype'] = 'file' # to be explicit
|
|
1690
1691
|
attrs['dataset'] = str(dataset.id)
|
|
@@ -1733,7 +1734,7 @@ class CommunityResourceAPITest(APITestCase):
|
|
|
1733
1734
|
self.assertEqual(CommunityResource.objects.count(), 0)
|
|
1734
1735
|
|
|
1735
1736
|
def test_community_resource_api_delete(self):
|
|
1736
|
-
dataset =
|
|
1737
|
+
dataset = VisibleDatasetFactory()
|
|
1737
1738
|
self.login()
|
|
1738
1739
|
|
|
1739
1740
|
response = self.post(
|
|
@@ -1790,8 +1791,7 @@ class DatasetSchemasAPITest:
|
|
|
1790
1791
|
assert response.json == []
|
|
1791
1792
|
|
|
1792
1793
|
@pytest.mark.options(SCHEMA_CATALOG_URL='https://example.com/notfound')
|
|
1793
|
-
def test_dataset_schemas_api_list_not_found(self, api
|
|
1794
|
-
rmock.get('https://example.com/notfound', status_code=404)
|
|
1794
|
+
def test_dataset_schemas_api_list_not_found(self, api):
|
|
1795
1795
|
response = api.get(url_for('api.schemas'))
|
|
1796
1796
|
assert404(response)
|
|
1797
1797
|
|
udata/tests/api/test_me_api.py
CHANGED
|
@@ -6,7 +6,8 @@ from udata.models import Discussion, Follow, Member, User
|
|
|
6
6
|
from udata.core.discussions.models import Message as DiscMsg
|
|
7
7
|
from udata.core.dataset.factories import (
|
|
8
8
|
CommunityResourceFactory,
|
|
9
|
-
DatasetFactory
|
|
9
|
+
DatasetFactory,
|
|
10
|
+
VisibleDatasetFactory,
|
|
10
11
|
)
|
|
11
12
|
from udata.core.dataset.activities import UserCreatedDataset
|
|
12
13
|
from udata.core.discussions.factories import DiscussionFactory
|
|
@@ -88,9 +89,9 @@ class MeAPITest(APITestCase):
|
|
|
88
89
|
member = Member(user=user, role='editor')
|
|
89
90
|
organization = OrganizationFactory(members=[member])
|
|
90
91
|
community_resources = [
|
|
91
|
-
|
|
92
|
+
VisibleDatasetFactory(owner=user) for _ in range(2)]
|
|
92
93
|
org_datasets = [
|
|
93
|
-
|
|
94
|
+
VisibleDatasetFactory(organization=organization)
|
|
94
95
|
for _ in range(2)]
|
|
95
96
|
|
|
96
97
|
response = self.get(url_for('api.my_org_datasets'))
|
|
@@ -104,15 +105,15 @@ class MeAPITest(APITestCase):
|
|
|
104
105
|
member = Member(user=user, role='editor')
|
|
105
106
|
organization = OrganizationFactory(members=[member])
|
|
106
107
|
datasets = [
|
|
107
|
-
|
|
108
|
+
VisibleDatasetFactory(owner=user, title='foô'),
|
|
108
109
|
]
|
|
109
110
|
org_datasets = [
|
|
110
|
-
|
|
111
|
+
VisibleDatasetFactory(organization=organization, title='foô'),
|
|
111
112
|
]
|
|
112
113
|
|
|
113
114
|
# Should not be listed.
|
|
114
|
-
|
|
115
|
-
|
|
115
|
+
VisibleDatasetFactory(owner=user)
|
|
116
|
+
VisibleDatasetFactory(organization=organization)
|
|
116
117
|
|
|
117
118
|
response = self.get(url_for('api.my_org_datasets'),
|
|
118
119
|
qs={'q': 'foô'})
|
|
@@ -194,8 +195,8 @@ class MeAPITest(APITestCase):
|
|
|
194
195
|
organization = OrganizationFactory(members=[member])
|
|
195
196
|
reuse = ReuseFactory(owner=user)
|
|
196
197
|
org_reuse = ReuseFactory(organization=organization)
|
|
197
|
-
dataset =
|
|
198
|
-
org_dataset =
|
|
198
|
+
dataset = VisibleDatasetFactory(owner=user)
|
|
199
|
+
org_dataset = VisibleDatasetFactory(organization=organization)
|
|
199
200
|
|
|
200
201
|
discussions = [
|
|
201
202
|
Discussion.objects.create(subject=dataset, title='', user=user),
|
|
@@ -205,7 +206,7 @@ class MeAPITest(APITestCase):
|
|
|
205
206
|
]
|
|
206
207
|
|
|
207
208
|
# Should not be listed
|
|
208
|
-
Discussion.objects.create(subject=
|
|
209
|
+
Discussion.objects.create(subject=VisibleDatasetFactory(), title='', user=user)
|
|
209
210
|
Discussion.objects.create(subject=ReuseFactory(), title='', user=user)
|
|
210
211
|
|
|
211
212
|
response = self.get(url_for('api.my_org_discussions'))
|
|
@@ -218,8 +219,8 @@ class MeAPITest(APITestCase):
|
|
|
218
219
|
organization = OrganizationFactory(members=[member])
|
|
219
220
|
reuse = ReuseFactory(owner=user)
|
|
220
221
|
org_reuse = ReuseFactory(organization=organization)
|
|
221
|
-
dataset =
|
|
222
|
-
org_dataset =
|
|
222
|
+
dataset = VisibleDatasetFactory(owner=user)
|
|
223
|
+
org_dataset = VisibleDatasetFactory(organization=organization)
|
|
223
224
|
|
|
224
225
|
discussions = [
|
|
225
226
|
Discussion.objects.create(subject=dataset, title='foô', user=user),
|
|
@@ -231,7 +232,7 @@ class MeAPITest(APITestCase):
|
|
|
231
232
|
Discussion.objects.create(subject=org_dataset, title='', user=user),
|
|
232
233
|
|
|
233
234
|
# Should really not be listed.
|
|
234
|
-
Discussion.objects.create(subject=
|
|
235
|
+
Discussion.objects.create(subject=VisibleDatasetFactory(), title='foô', user=user)
|
|
235
236
|
Discussion.objects.create(subject=ReuseFactory(), title='foô', user=user)
|
|
236
237
|
|
|
237
238
|
response = self.get(url_for('api.my_org_discussions'), qs={'q': 'foô'})
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
|
|
3
3
|
from udata.core.dataset.actions import archive
|
|
4
|
-
from udata.core.dataset.factories import
|
|
4
|
+
from udata.core.dataset.factories import VisibleDatasetFactory
|
|
5
5
|
from udata.core.discussions.models import Discussion
|
|
6
6
|
from udata.core.user.factories import UserFactory
|
|
7
7
|
|
|
@@ -13,7 +13,7 @@ class DatasetActionsTest:
|
|
|
13
13
|
user = UserFactory()
|
|
14
14
|
app.config['ARCHIVE_COMMENT_USER_ID'] = user.id
|
|
15
15
|
|
|
16
|
-
dataset =
|
|
16
|
+
dataset = VisibleDatasetFactory()
|
|
17
17
|
|
|
18
18
|
archive(dataset, comment=True)
|
|
19
19
|
|
|
@@ -2,14 +2,14 @@ import pytest
|
|
|
2
2
|
|
|
3
3
|
from tempfile import NamedTemporaryFile
|
|
4
4
|
|
|
5
|
-
from udata.core.dataset.factories import
|
|
5
|
+
from udata.core.dataset.factories import VisibleDatasetFactory
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
@pytest.mark.usefixtures('clean_db')
|
|
9
9
|
class DatasetCommandTest:
|
|
10
10
|
|
|
11
11
|
def test_dataset_archive_one(self, cli):
|
|
12
|
-
dataset =
|
|
12
|
+
dataset = VisibleDatasetFactory()
|
|
13
13
|
|
|
14
14
|
cli('dataset', 'archive-one', str(dataset.id))
|
|
15
15
|
|
|
@@ -17,7 +17,7 @@ class DatasetCommandTest:
|
|
|
17
17
|
assert dataset.archived is not None
|
|
18
18
|
|
|
19
19
|
def test_dataset_archive(self, cli):
|
|
20
|
-
datasets = [
|
|
20
|
+
datasets = [VisibleDatasetFactory() for _ in range(2)]
|
|
21
21
|
|
|
22
22
|
with NamedTemporaryFile(mode='w', encoding='utf8') as temp:
|
|
23
23
|
temp.write('\n'.join((str(d.id) for d in datasets)))
|
|
@@ -524,8 +524,7 @@ class LicenseModelTest:
|
|
|
524
524
|
|
|
525
525
|
class ResourceSchemaTest:
|
|
526
526
|
@pytest.mark.options(SCHEMA_CATALOG_URL='https://example.com/notfound')
|
|
527
|
-
def test_resource_schema_objects_404_endpoint(self
|
|
528
|
-
rmock.get('https://example.com/notfound', status_code=404)
|
|
527
|
+
def test_resource_schema_objects_404_endpoint(self):
|
|
529
528
|
with pytest.raises(SchemasCatalogNotFoundException):
|
|
530
529
|
ResourceSchema.objects()
|
|
531
530
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
2
|
|
|
3
|
-
from udata.core.dataset.factories import DatasetFactory,
|
|
3
|
+
from udata.core.dataset.factories import DatasetFactory, VisibleDatasetFactory
|
|
4
4
|
from udata.core.organization.factories import OrganizationFactory
|
|
5
5
|
from udata.core.followers.signals import on_follow, on_unfollow
|
|
6
6
|
from udata.core.reuse.factories import ReuseFactory, VisibleReuseFactory
|
|
@@ -27,8 +27,8 @@ class OrganizationModelTest(TestCase, DBTestMixin):
|
|
|
27
27
|
reuse = VisibleReuseFactory(organization=org)
|
|
28
28
|
ReuseFactory(organization=org)
|
|
29
29
|
with assert_emit(Dataset.on_create):
|
|
30
|
-
dataset =
|
|
31
|
-
|
|
30
|
+
dataset = VisibleDatasetFactory(organization=org)
|
|
31
|
+
DatasetFactory(organization=org)
|
|
32
32
|
with assert_emit(on_follow):
|
|
33
33
|
follow = Follow.objects.create(following=org, follower=UserFactory(),
|
|
34
34
|
since=datetime.utcnow())
|
|
@@ -9,7 +9,7 @@ from udata.rdf import DCAT, DCT, HYDRA
|
|
|
9
9
|
from udata.tests import TestCase, DBTestMixin
|
|
10
10
|
from udata.core.organization.factories import OrganizationFactory
|
|
11
11
|
from udata.core.organization.rdf import organization_to_rdf, build_org_catalog
|
|
12
|
-
from udata.core.dataset.factories import
|
|
12
|
+
from udata.core.dataset.factories import VisibleDatasetFactory
|
|
13
13
|
from udata.core.dataset.models import Dataset
|
|
14
14
|
from udata.utils import faker
|
|
15
15
|
|
|
@@ -57,7 +57,7 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
|
|
|
57
57
|
origin_org = OrganizationFactory()
|
|
58
58
|
uri = url_for('api.organization_rdf', org=origin_org.id, _external=True)
|
|
59
59
|
|
|
60
|
-
datasets =
|
|
60
|
+
datasets = VisibleDatasetFactory.create_batch(3, organization=origin_org)
|
|
61
61
|
catalog = build_org_catalog(origin_org, datasets)
|
|
62
62
|
|
|
63
63
|
graph = catalog.graph
|
|
@@ -93,7 +93,7 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
|
|
|
93
93
|
page=1, page_size=page_size, _external=True)
|
|
94
94
|
uri_last = url_for('api.organization_rdf_format', org=origin_org.id, format='json',
|
|
95
95
|
page=2, page_size=page_size, _external=True)
|
|
96
|
-
|
|
96
|
+
VisibleDatasetFactory.create_batch(total, organization=origin_org)
|
|
97
97
|
|
|
98
98
|
# First page
|
|
99
99
|
datasets = Dataset.objects.paginate(1, page_size)
|
|
@@ -5,7 +5,7 @@ from udata.models import Reuse
|
|
|
5
5
|
from udata.core.dataset import tasks as dataset_tasks
|
|
6
6
|
from udata.core.organization.factories import OrganizationFactory
|
|
7
7
|
from udata.core.reuse.factories import ReuseFactory, VisibleReuseFactory
|
|
8
|
-
from udata.core.dataset.factories import
|
|
8
|
+
from udata.core.dataset.factories import VisibleDatasetFactory
|
|
9
9
|
from udata.core.user.factories import UserFactory
|
|
10
10
|
from udata.core.discussions.factories import DiscussionFactory
|
|
11
11
|
from udata.i18n import gettext as _
|
|
@@ -65,7 +65,7 @@ class ReuseModelTest(TestCase, DBTestMixin):
|
|
|
65
65
|
reuse.save()
|
|
66
66
|
|
|
67
67
|
def test_reuse_metrics(self):
|
|
68
|
-
dataset =
|
|
68
|
+
dataset = VisibleDatasetFactory()
|
|
69
69
|
reuse = VisibleReuseFactory()
|
|
70
70
|
DiscussionFactory(subject=reuse)
|
|
71
71
|
|