udata 9.1.4.dev31221__py2.py3-none-any.whl → 9.1.4.dev31257__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/core/dataservices/api.py +37 -1
- udata/core/dataservices/models.py +38 -0
- udata/core/organization/api.py +7 -1
- udata/core/organization/rdf.py +4 -1
- udata/core/site/api.py +1 -26
- udata/cors.py +4 -4
- udata/static/chunks/{10.c1c9496ebfc8949f3de2.js → 10.1d9b1714c0289863ba0a.js} +3 -3
- udata/static/chunks/{10.c1c9496ebfc8949f3de2.js.map → 10.1d9b1714c0289863ba0a.js.map} +1 -1
- udata/static/chunks/{11.16618d9eedd3f6a7a3c2.js → 11.b6991d2651a318d28ccc.js} +3 -3
- udata/static/chunks/{11.16618d9eedd3f6a7a3c2.js.map → 11.b6991d2651a318d28ccc.js.map} +1 -1
- udata/static/chunks/{13.9cfb8ee33c4d62e33f8a.js → 13.413af7c95ac0ab6c909a.js} +2 -2
- udata/static/chunks/{13.9cfb8ee33c4d62e33f8a.js.map → 13.413af7c95ac0ab6c909a.js.map} +1 -1
- udata/static/chunks/{16.d1de045f4bc4b5acdf6b.js → 16.133ce8c70b1e42c9e717.js} +2 -2
- udata/static/chunks/{16.d1de045f4bc4b5acdf6b.js.map → 16.133ce8c70b1e42c9e717.js.map} +1 -1
- udata/static/chunks/{19.f1ff6cd5816f2d9debc4.js → 19.28f355064e529318c9b1.js} +3 -3
- udata/static/chunks/{19.f1ff6cd5816f2d9debc4.js.map → 19.28f355064e529318c9b1.js.map} +1 -1
- udata/static/chunks/{8.b50a30118e9e2e1ab436.js → 8.95c59b717494bac4ce43.js} +2 -2
- udata/static/chunks/{8.b50a30118e9e2e1ab436.js.map → 8.95c59b717494bac4ce43.js.map} +1 -1
- udata/static/chunks/{9.8ad948dd393d38f07a7a.js → 9.5009f558f2268bbe4094.js} +3 -3
- udata/static/chunks/{9.8ad948dd393d38f07a7a.js.map → 9.5009f558f2268bbe4094.js.map} +1 -1
- udata/static/common.js +1 -1
- udata/static/common.js.map +1 -1
- udata/tests/api/test_dataservices_api.py +59 -0
- udata/tests/organization/test_organization_rdf.py +31 -6
- {udata-9.1.4.dev31221.dist-info → udata-9.1.4.dev31257.dist-info}/METADATA +3 -1
- {udata-9.1.4.dev31221.dist-info → udata-9.1.4.dev31257.dist-info}/RECORD +30 -30
- {udata-9.1.4.dev31221.dist-info → udata-9.1.4.dev31257.dist-info}/LICENSE +0 -0
- {udata-9.1.4.dev31221.dist-info → udata-9.1.4.dev31257.dist-info}/WHEEL +0 -0
- {udata-9.1.4.dev31221.dist-info → udata-9.1.4.dev31257.dist-info}/entry_points.txt +0 -0
- {udata-9.1.4.dev31221.dist-info → udata-9.1.4.dev31257.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 f=c[a]={exports:{},id:a,loaded:!1};return e[a].call(f.exports,f,f.exports,__webpack_require__),f.loaded=!0,f.exports}var a=window.webpackJsonp;window.webpackJsonp=function(r
|
|
1
|
+
!function(e){function __webpack_require__(a){if(c[a])return c[a].exports;var f=c[a]={exports:{},id:a,loaded:!1};return e[a].call(f.exports,f,f.exports,__webpack_require__),f.loaded=!0,f.exports}var a=window.webpackJsonp;window.webpackJsonp=function(b,r){for(var t,_,n=0,d=[];n<b.length;n++)_=b[n],f[_]&&d.push.apply(d,f[_]),f[_]=0;for(t in r){var i=r[t];switch(typeof i){case"object":e[t]=function(a){var c=a.slice(1),f=a[0];return function(a,b,r){e[f].apply(this,[a,b,r].concat(c))}}(i);break;case"function":e[t]=i;break;default:e[t]=e[i]}}for(a&&a(b,r);d.length;)d.shift().call(null,__webpack_require__);if(r[0])return c[0]=0,__webpack_require__(0)};var c={},f={31:0};__webpack_require__.e=function(e,a){if(0===f[e])return a.call(null,__webpack_require__);if(void 0!==f[e])f[e].push(a);else{f[e]=[a];var c=document.getElementsByTagName("head")[0],b=document.createElement("script");b.type="text/javascript",b.charset="utf-8",b.async=!0,b.src=__webpack_require__.p+"chunks/"+e+"."+{0:"8f152ff3f1e15e3d8778",1:"c53dfc91009cfdf4583b",2:"c6dba6a3f04d53321e86",3:"31f4515503a814e0e3a3",4:"3720aa269a60fa6d03b4",5:"270f2cb840d87976aecd",6:"c433506a3004b8f4d5fb",7:"6ce1bc0456cf60b71a71",8:"95c59b717494bac4ce43",9:"5009f558f2268bbe4094",10:"1d9b1714c0289863ba0a",11:"b6991d2651a318d28ccc",12:"576e63b7a990f8eab784",13:"413af7c95ac0ab6c909a",14:"42393a4d555321f07b8b",15:"7de380008f4ec6ea4b5b",16:"133ce8c70b1e42c9e717",17:"4687eae5e18d3049fe7b",18:"b7098bfe5401f75973fa",19:"28f355064e529318c9b1",20:"17e9e766625991aa0a7b",21:"2b48c7e5fe59775d5eb3",22:"2a919b7f6014457264e8",23:"3e0c3e2e54035b03f0cd",24:"90ea877940aa6e51aa05",25:"f58e4af656779957db54",26:"980f1773d9ad3068ab73",27:"d27b63112823e700bf20",28:"1ef31a46255dc2bf56d1",29:"056b71a60b1ba45eb81b",30:"01f57358f352314e7df0",32:"92a026dcad120ccdf15f",33:"c1ee77b51bb867f3d7cd"}[e]+".js",c.appendChild(b)}},__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),f=e[a[0]];return function(e,a,b){f.apply(this,[e,a,b].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 21890d57493ab201d68b"],"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\":\"8f152ff3f1e15e3d8778\",\"1\":\"c53dfc91009cfdf4583b\",\"2\":\"c6dba6a3f04d53321e86\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"3720aa269a60fa6d03b4\",\"5\":\"270f2cb840d87976aecd\",\"6\":\"c433506a3004b8f4d5fb\",\"7\":\"6ce1bc0456cf60b71a71\",\"8\":\"b50a30118e9e2e1ab436\",\"9\":\"8ad948dd393d38f07a7a\",\"10\":\"c1c9496ebfc8949f3de2\",\"11\":\"16618d9eedd3f6a7a3c2\",\"12\":\"576e63b7a990f8eab784\",\"13\":\"9cfb8ee33c4d62e33f8a\",\"14\":\"42393a4d555321f07b8b\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"d1de045f4bc4b5acdf6b\",\"17\":\"4687eae5e18d3049fe7b\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"f1ff6cd5816f2d9debc4\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"3e0c3e2e54035b03f0cd\",\"24\":\"90ea877940aa6e51aa05\",\"25\":\"f58e4af656779957db54\",\"26\":\"980f1773d9ad3068ab73\",\"27\":\"d27b63112823e700bf20\",\"28\":\"1ef31a46255dc2bf56d1\",\"29\":\"056b71a60b1ba45eb81b\",\"30\":\"01f57358f352314e7df0\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"c1ee77b51bb867f3d7cd\"}[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\":\"8f152ff3f1e15e3d8778\",\"1\":\"c53dfc91009cfdf4583b\",\"2\":\"c6dba6a3f04d53321e86\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"3720aa269a60fa6d03b4\",\"5\":\"270f2cb840d87976aecd\",\"6\":\"c433506a3004b8f4d5fb\",\"7\":\"6ce1bc0456cf60b71a71\",\"8\":\"b50a30118e9e2e1ab436\",\"9\":\"8ad948dd393d38f07a7a\",\"10\":\"c1c9496ebfc8949f3de2\",\"11\":\"16618d9eedd3f6a7a3c2\",\"12\":\"576e63b7a990f8eab784\",\"13\":\"9cfb8ee33c4d62e33f8a\",\"14\":\"42393a4d555321f07b8b\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"d1de045f4bc4b5acdf6b\",\"17\":\"4687eae5e18d3049fe7b\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"f1ff6cd5816f2d9debc4\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"3e0c3e2e54035b03f0cd\",\"24\":\"90ea877940aa6e51aa05\",\"25\":\"f58e4af656779957db54\",\"26\":\"980f1773d9ad3068ab73\",\"27\":\"d27b63112823e700bf20\",\"28\":\"1ef31a46255dc2bf56d1\",\"29\":\"056b71a60b1ba45eb81b\",\"30\":\"01f57358f352314e7df0\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"c1ee77b51bb867f3d7cd\"}[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 21890d57493ab201d68b\n **/"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap 14190042fbf38715f79a"],"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\":\"8f152ff3f1e15e3d8778\",\"1\":\"c53dfc91009cfdf4583b\",\"2\":\"c6dba6a3f04d53321e86\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"3720aa269a60fa6d03b4\",\"5\":\"270f2cb840d87976aecd\",\"6\":\"c433506a3004b8f4d5fb\",\"7\":\"6ce1bc0456cf60b71a71\",\"8\":\"95c59b717494bac4ce43\",\"9\":\"5009f558f2268bbe4094\",\"10\":\"1d9b1714c0289863ba0a\",\"11\":\"b6991d2651a318d28ccc\",\"12\":\"576e63b7a990f8eab784\",\"13\":\"413af7c95ac0ab6c909a\",\"14\":\"42393a4d555321f07b8b\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"133ce8c70b1e42c9e717\",\"17\":\"4687eae5e18d3049fe7b\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"28f355064e529318c9b1\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"3e0c3e2e54035b03f0cd\",\"24\":\"90ea877940aa6e51aa05\",\"25\":\"f58e4af656779957db54\",\"26\":\"980f1773d9ad3068ab73\",\"27\":\"d27b63112823e700bf20\",\"28\":\"1ef31a46255dc2bf56d1\",\"29\":\"056b71a60b1ba45eb81b\",\"30\":\"01f57358f352314e7df0\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"c1ee77b51bb867f3d7cd\"}[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\":\"8f152ff3f1e15e3d8778\",\"1\":\"c53dfc91009cfdf4583b\",\"2\":\"c6dba6a3f04d53321e86\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"3720aa269a60fa6d03b4\",\"5\":\"270f2cb840d87976aecd\",\"6\":\"c433506a3004b8f4d5fb\",\"7\":\"6ce1bc0456cf60b71a71\",\"8\":\"95c59b717494bac4ce43\",\"9\":\"5009f558f2268bbe4094\",\"10\":\"1d9b1714c0289863ba0a\",\"11\":\"b6991d2651a318d28ccc\",\"12\":\"576e63b7a990f8eab784\",\"13\":\"413af7c95ac0ab6c909a\",\"14\":\"42393a4d555321f07b8b\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"133ce8c70b1e42c9e717\",\"17\":\"4687eae5e18d3049fe7b\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"28f355064e529318c9b1\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"3e0c3e2e54035b03f0cd\",\"24\":\"90ea877940aa6e51aa05\",\"25\":\"f58e4af656779957db54\",\"26\":\"980f1773d9ad3068ab73\",\"27\":\"d27b63112823e700bf20\",\"28\":\"1ef31a46255dc2bf56d1\",\"29\":\"056b71a60b1ba45eb81b\",\"30\":\"01f57358f352314e7df0\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"c1ee77b51bb867f3d7cd\"}[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 14190042fbf38715f79a\n **/"],"sourceRoot":""}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
+
from xml.etree.ElementTree import XML
|
|
2
|
+
|
|
3
|
+
import pytest
|
|
1
4
|
from flask import url_for
|
|
2
5
|
|
|
6
|
+
from udata.core.dataservices.factories import DataserviceFactory
|
|
3
7
|
from udata.core.dataservices.models import Dataservice
|
|
4
8
|
from udata.core.dataset.factories import DatasetFactory, LicenseFactory
|
|
5
9
|
from udata.core.organization.factories import OrganizationFactory
|
|
6
10
|
from udata.core.organization.models import Member
|
|
7
11
|
from udata.core.user.factories import UserFactory
|
|
8
12
|
from udata.i18n import gettext as _
|
|
13
|
+
from udata.tests.helpers import assert200, assert_redirects
|
|
9
14
|
|
|
10
15
|
from . import APITestCase
|
|
11
16
|
|
|
@@ -311,3 +316,57 @@ class DataserviceAPITest(APITestCase):
|
|
|
311
316
|
dataservice = Dataservice.objects(id=response.json["id"]).first()
|
|
312
317
|
self.assertEqual(dataservice.owner, None)
|
|
313
318
|
self.assertEqual(dataservice.organization.id, me_org.id)
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
@pytest.mark.frontend
|
|
322
|
+
class DataserviceRdfViewsTest:
|
|
323
|
+
def test_rdf_default_to_jsonld(self, client):
|
|
324
|
+
dataservice = DataserviceFactory()
|
|
325
|
+
expected = url_for("api.dataservice_rdf_format", dataservice=dataservice.id, format="json")
|
|
326
|
+
response = client.get(url_for("api.dataservice_rdf", dataservice=dataservice))
|
|
327
|
+
assert_redirects(response, expected)
|
|
328
|
+
|
|
329
|
+
def test_rdf_perform_content_negociation(self, client):
|
|
330
|
+
dataservice = DataserviceFactory()
|
|
331
|
+
expected = url_for("api.dataservice_rdf_format", dataservice=dataservice.id, format="xml")
|
|
332
|
+
url = url_for("api.dataservice_rdf", dataservice=dataservice)
|
|
333
|
+
headers = {"accept": "application/xml"}
|
|
334
|
+
response = client.get(url, headers=headers)
|
|
335
|
+
assert_redirects(response, expected)
|
|
336
|
+
|
|
337
|
+
def test_rdf_perform_content_negociation_response(self, client):
|
|
338
|
+
"""Check we have valid XML as output"""
|
|
339
|
+
dataservice = DataserviceFactory()
|
|
340
|
+
url = url_for("api.dataservice_rdf", dataservice=dataservice)
|
|
341
|
+
headers = {"accept": "application/xml"}
|
|
342
|
+
response = client.get(url, headers=headers, follow_redirects=True)
|
|
343
|
+
element = XML(response.data)
|
|
344
|
+
assert element.tag == "{http://www.w3.org/1999/02/22-rdf-syntax-ns#}RDF"
|
|
345
|
+
|
|
346
|
+
def test_dataservice_rdf_json_ld(self, client):
|
|
347
|
+
dataservice = DataserviceFactory()
|
|
348
|
+
for fmt in "json", "jsonld":
|
|
349
|
+
url = url_for("api.dataservice_rdf_format", dataservice=dataservice, format=fmt)
|
|
350
|
+
response = client.get(url, headers={"Accept": "application/ld+json"})
|
|
351
|
+
assert200(response)
|
|
352
|
+
assert response.content_type == "application/ld+json"
|
|
353
|
+
assert response.json["@context"]["@vocab"] == "http://www.w3.org/ns/dcat#"
|
|
354
|
+
|
|
355
|
+
@pytest.mark.parametrize(
|
|
356
|
+
"fmt,mime",
|
|
357
|
+
[
|
|
358
|
+
("n3", "text/n3"),
|
|
359
|
+
("nt", "application/n-triples"),
|
|
360
|
+
("ttl", "application/x-turtle"),
|
|
361
|
+
("xml", "application/rdf+xml"),
|
|
362
|
+
("rdf", "application/rdf+xml"),
|
|
363
|
+
("owl", "application/rdf+xml"),
|
|
364
|
+
("trig", "application/trig"),
|
|
365
|
+
],
|
|
366
|
+
)
|
|
367
|
+
def test_dataservice_rdf_formats(self, client, fmt, mime):
|
|
368
|
+
dataservice = DataserviceFactory()
|
|
369
|
+
url = url_for("api.dataservice_rdf_format", dataservice=dataservice, format=fmt)
|
|
370
|
+
response = client.get(url, headers={"Accept": mime})
|
|
371
|
+
assert200(response)
|
|
372
|
+
assert response.content_type == mime
|
|
@@ -4,6 +4,8 @@ from rdflib.namespace import FOAF, RDF, RDFS
|
|
|
4
4
|
from rdflib.resource import Resource as RdfResource
|
|
5
5
|
|
|
6
6
|
from udata import api
|
|
7
|
+
from udata.core.dataservices.factories import DataserviceFactory
|
|
8
|
+
from udata.core.dataservices.models import Dataservice
|
|
7
9
|
from udata.core.dataset.factories import DatasetFactory
|
|
8
10
|
from udata.core.dataset.models import Dataset
|
|
9
11
|
from udata.core.organization.factories import OrganizationFactory
|
|
@@ -55,7 +57,8 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
|
|
|
55
57
|
uri = url_for("api.organization_rdf", org=origin_org.id, _external=True)
|
|
56
58
|
|
|
57
59
|
datasets = DatasetFactory.create_batch(3, organization=origin_org)
|
|
58
|
-
|
|
60
|
+
dataservices = DataserviceFactory.create_batch(3, organization=origin_org)
|
|
61
|
+
catalog = build_org_catalog(origin_org, datasets, dataservices)
|
|
59
62
|
|
|
60
63
|
graph = catalog.graph
|
|
61
64
|
|
|
@@ -69,6 +72,7 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
|
|
|
69
72
|
self.assertEqual(str(catalog.identifier), uri)
|
|
70
73
|
|
|
71
74
|
self.assertEqual(len(list(catalog.objects(DCAT.dataset))), len(datasets))
|
|
75
|
+
self.assertEqual(len(list(catalog.objects(DCAT.dataservice))), len(dataservices))
|
|
72
76
|
|
|
73
77
|
org = catalog.value(DCT.publisher)
|
|
74
78
|
self.assertEqual(org.value(RDF.type).identifier, FOAF.Organization)
|
|
@@ -80,6 +84,8 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
|
|
|
80
84
|
graph = catalog.graph
|
|
81
85
|
graph_datasets = graph.subjects(RDF.type, DCAT.Dataset)
|
|
82
86
|
self.assertEqual(len(list(graph_datasets)), len(datasets))
|
|
87
|
+
graph_dataservices = graph.subjects(RDF.type, DCAT.DataService)
|
|
88
|
+
self.assertEqual(len(list(graph_dataservices)), len(dataservices))
|
|
83
89
|
|
|
84
90
|
def test_catalog_pagination(self):
|
|
85
91
|
origin_org = OrganizationFactory()
|
|
@@ -102,11 +108,23 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
|
|
|
102
108
|
page_size=page_size,
|
|
103
109
|
_external=True,
|
|
104
110
|
)
|
|
111
|
+
# First create a dataset and it's associated dataservice, which should be listed
|
|
112
|
+
# last, and thus on the second page.
|
|
113
|
+
extra_dataset = DatasetFactory.create(organization=origin_org)
|
|
114
|
+
_extra_dataservice = DataserviceFactory.create(
|
|
115
|
+
datasets=[extra_dataset], organization=origin_org
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
# Create `total` datasets that should be listed on the first page up to `page_size`
|
|
105
119
|
DatasetFactory.create_batch(total, organization=origin_org)
|
|
120
|
+
# And all the dataservices with no datasets, which will all be listed on the first page.
|
|
121
|
+
# See DataserviceQuerySet.filter_by_dataset_pagination.
|
|
122
|
+
DataserviceFactory.create_batch(total, organization=origin_org)
|
|
106
123
|
|
|
107
124
|
# First page
|
|
108
125
|
datasets = Dataset.objects.paginate(1, page_size)
|
|
109
|
-
|
|
126
|
+
dataservices = Dataservice.objects.filter_by_dataset_pagination(datasets, 1)
|
|
127
|
+
catalog = build_org_catalog(origin_org, datasets, dataservices, format="json")
|
|
110
128
|
graph = catalog.graph
|
|
111
129
|
|
|
112
130
|
self.assertIsInstance(catalog, RdfResource)
|
|
@@ -115,9 +133,12 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
|
|
|
115
133
|
self.assertIn(DCAT.Catalog, types)
|
|
116
134
|
self.assertIn(HYDRA.Collection, types)
|
|
117
135
|
|
|
118
|
-
self.assertEqual(catalog.value(HYDRA.totalItems), Literal(total))
|
|
136
|
+
self.assertEqual(catalog.value(HYDRA.totalItems), Literal(total + 1))
|
|
119
137
|
|
|
120
138
|
self.assertEqual(len(list(catalog.objects(DCAT.dataset))), page_size)
|
|
139
|
+
# All dataservices that are not linked to a dataset are listed in the first page.
|
|
140
|
+
# See DataserviceQuerySet.filter_by_dataset_pagination.
|
|
141
|
+
self.assertEqual(len(list(catalog.objects(DCAT.dataservice))), total)
|
|
121
142
|
|
|
122
143
|
paginations = list(graph.subjects(RDF.type, HYDRA.PartialCollectionView))
|
|
123
144
|
self.assertEqual(len(paginations), 1)
|
|
@@ -130,7 +151,8 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
|
|
|
130
151
|
|
|
131
152
|
# Second page
|
|
132
153
|
datasets = Dataset.objects.paginate(2, page_size)
|
|
133
|
-
|
|
154
|
+
dataservices = Dataservice.objects.filter_by_dataset_pagination(datasets, 2)
|
|
155
|
+
catalog = build_org_catalog(origin_org, datasets, dataservices, format="json")
|
|
134
156
|
graph = catalog.graph
|
|
135
157
|
|
|
136
158
|
self.assertIsInstance(catalog, RdfResource)
|
|
@@ -139,9 +161,12 @@ class OrganizationToRdfTest(DBTestMixin, TestCase):
|
|
|
139
161
|
self.assertIn(DCAT.Catalog, types)
|
|
140
162
|
self.assertIn(HYDRA.Collection, types)
|
|
141
163
|
|
|
142
|
-
self.assertEqual(catalog.value(HYDRA.totalItems), Literal(total))
|
|
164
|
+
self.assertEqual(catalog.value(HYDRA.totalItems), Literal(total + 1))
|
|
143
165
|
|
|
144
|
-
|
|
166
|
+
# 5 datasets total, 3 on the first page, 2 on the second.
|
|
167
|
+
self.assertEqual(len(list(catalog.objects(DCAT.dataset))), 2)
|
|
168
|
+
# 1 extra_dataservice, listed on the same page as its associated extra_dataset.
|
|
169
|
+
self.assertEqual(len(list(catalog.objects(DCAT.dataservice))), 1)
|
|
145
170
|
|
|
146
171
|
paginations = list(graph.subjects(RDF.type, HYDRA.PartialCollectionView))
|
|
147
172
|
self.assertEqual(len(paginations), 1)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: udata
|
|
3
|
-
Version: 9.1.4.
|
|
3
|
+
Version: 9.1.4.dev31257
|
|
4
4
|
Summary: Open data portal
|
|
5
5
|
Home-page: https://github.com/opendatateam/udata
|
|
6
6
|
Author: Opendata Team
|
|
@@ -148,6 +148,7 @@ It is collectively taken care of by members of the
|
|
|
148
148
|
- Add a new `related_to` filter parameter to the activities API endpoint [#3127](https://github.com/opendatateam/udata/pull/3127)
|
|
149
149
|
- Properly import the `Discussion.closed_by` from the fixtures [#3125](https://github.com/opendatateam/udata/pull/3125)
|
|
150
150
|
- Send an API token to Hydra when publishing resource events [#3130](https://github.com/opendatateam/udata/pull/3130)
|
|
151
|
+
- Always add Vary even for non CORS requests [#3132](https://github.com/opendatateam/udata/pull/3132)
|
|
151
152
|
|
|
152
153
|
## 9.1.3 (2024-08-01)
|
|
153
154
|
|
|
@@ -157,6 +158,7 @@ It is collectively taken care of by members of the
|
|
|
157
158
|
- Update to the version v2.0.0 of udata-fixtures (with the dataservices)
|
|
158
159
|
- Add type hints [#3111](https://github.com/opendatateam/udata/pull/3111)
|
|
159
160
|
- Make sure requests v2.32.3 is used everywhere consistently [#3116](https://github.com/opendatateam/udata/pull/3116)
|
|
161
|
+
- Expose a dataservice in its organization's catalog, and expose a dataservice's catalog [#3122](https://github.com/opendatateam/udata/pull/3122)
|
|
160
162
|
|
|
161
163
|
## 9.1.2 (2024-07-29)
|
|
162
164
|
|
|
@@ -4,7 +4,7 @@ udata/__init__.py,sha256=iIfkZcu-LQi4btmqKGrdK2F_zRkl8dI8cm8sFeYz9Fk,101
|
|
|
4
4
|
udata/api_fields.py,sha256=tnGdUBgfcGxbBBvZntXm59I9J4fI-x5kXK5iPMGnr1Y,19252
|
|
5
5
|
udata/app.py,sha256=xjk2D3EgboYBpTwBwdIxd2klt2yMoWMyCrkry5fz0LA,7292
|
|
6
6
|
udata/assets.py,sha256=H5Hrc2vnKM0IFLyWfLXmJ2Kj35w1i8W1D8Cgy8_cUj4,657
|
|
7
|
-
udata/cors.py,sha256=
|
|
7
|
+
udata/cors.py,sha256=m4_AttmBwUEI_njVJkGDFMCpCD3Tvt9k7xBjuQTDqbU,2987
|
|
8
8
|
udata/entrypoints.py,sha256=mbAAUVT8ZenzSYdang2PbAwZcK1pENtA3axBmPRiWCw,2717
|
|
9
9
|
udata/errors.py,sha256=E8W7b4PH7c5B85g_nsUMt8fHqMVpDFOZFkO6wMPl6bA,117
|
|
10
10
|
udata/factories.py,sha256=MoklZnU8iwNL25dm3JsoXhoQs1PQWSVYL1WvcUBtJqM,492
|
|
@@ -80,9 +80,9 @@ udata/core/contact_point/factories.py,sha256=MWu3fbE6G84e-7_gtsM5OifZPxHFRWDjw__
|
|
|
80
80
|
udata/core/contact_point/forms.py,sha256=uioyzAySatniPdDdoBYyHj9n-m1LkMtaJpCnyS0-IRU,572
|
|
81
81
|
udata/core/contact_point/models.py,sha256=yB82UcZJGeVhSIsvnpAT8yao7fmAyl59WVGphP3LGHw,309
|
|
82
82
|
udata/core/dataservices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
83
|
-
udata/core/dataservices/api.py,sha256=
|
|
83
|
+
udata/core/dataservices/api.py,sha256=LTYXOVeYp8ihWJiuZbUJWyjpeCRnXJrSG-jDMnjEY88,4574
|
|
84
84
|
udata/core/dataservices/factories.py,sha256=LDk8vvG0zhW8J-ZX5LoJQDU13pqeIyjQ05muuMro_eA,876
|
|
85
|
-
udata/core/dataservices/models.py,sha256=
|
|
85
|
+
udata/core/dataservices/models.py,sha256=tSRfONyvU2QMqUbocE7x_J0gZYu7mU7iD_RwPnXvpXA,8260
|
|
86
86
|
udata/core/dataservices/permissions.py,sha256=98zM_R4v2ZtRubflB7ajaVQz-DVc-pZBMgtKUYy34oI,169
|
|
87
87
|
udata/core/dataservices/rdf.py,sha256=l1vItR7jhaTxs5f6kU6MAR32uvRR233GDbp1hIUbP3k,4673
|
|
88
88
|
udata/core/dataservices/tasks.py,sha256=a43x1oKNF-EYmzM3O-8GQPJvZsgJmQiXOZx8Qti3M4E,960
|
|
@@ -137,7 +137,7 @@ udata/core/metrics/signals.py,sha256=9mdJW__gR2GJT3huBr6HN2SDhKYJRgNbW9dnh48cAnU
|
|
|
137
137
|
udata/core/metrics/tasks.py,sha256=Z6821OgupmDCN7Hj3esdb_udZbc1Haw7YpM48ytMIs4,797
|
|
138
138
|
udata/core/organization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
139
139
|
udata/core/organization/activities.py,sha256=NY9pDzOVcdo2HZ-ax77lioiDGUZ8jpUguSLt_824saQ,1133
|
|
140
|
-
udata/core/organization/api.py,sha256=
|
|
140
|
+
udata/core/organization/api.py,sha256=AAqgzfz5V3CKDWc_Ho69vhLZOigr8qs2JeVytUPrER0,17609
|
|
141
141
|
udata/core/organization/api_fields.py,sha256=eE8Zswe01entlHoTTkbNkHTzm6N4THtv6Xhp9n2jj1Q,7193
|
|
142
142
|
udata/core/organization/apiv2.py,sha256=1HQRQNu8r5dKPOGdkQyYfn7romhOoZydd4ZVUA0tQIk,3169
|
|
143
143
|
udata/core/organization/commands.py,sha256=DsRAtFDZvTciYNsUWumQWdn0jnNmKW-PwfIHUUZoBb8,1591
|
|
@@ -149,7 +149,7 @@ udata/core/organization/metrics.py,sha256=UlHOBOph9s_QW-X7dkEivVITdyZ0ku9kLKl7Bm
|
|
|
149
149
|
udata/core/organization/models.py,sha256=Jwqq5Yh0jxOuO4yesEO1-57oFRdfpahbZz407AZk7fg,8426
|
|
150
150
|
udata/core/organization/notifications.py,sha256=i_36-l2y7fOGmnBmr5NDWmGGmrGRaCWbU-6XS4c2wQs,917
|
|
151
151
|
udata/core/organization/permissions.py,sha256=GD-9TMtRppVCPaC1ysXYrONvGJV-ArzAOXm2XMKf9yo,1256
|
|
152
|
-
udata/core/organization/rdf.py,sha256=
|
|
152
|
+
udata/core/organization/rdf.py,sha256=GmWliHFf356cUiXfNuK56b-O-zRNQqxLKJhNULGVcKA,1940
|
|
153
153
|
udata/core/organization/search.py,sha256=Oie3BvGdyYTtiC8noJerlfDg5glMEk7acRQz7K5sVAk,2162
|
|
154
154
|
udata/core/organization/signals.py,sha256=Ft1MBU9S41uxFN-rUrKHhiwedR1OYGv-ncuroKg8orY,488
|
|
155
155
|
udata/core/organization/tasks.py,sha256=2Pd9ixeKNd7BGxBHrHYbR9AelhqkflX3ocnGgtoa8Uc,5641
|
|
@@ -181,7 +181,7 @@ udata/core/reuse/search.py,sha256=NkCRE8mGBdmlau0S9SsNPG0_zvB7MMNws64HGsq4yWM,30
|
|
|
181
181
|
udata/core/reuse/signals.py,sha256=nDrEUpYKN0AdYiEbrR0z3nzXzjaRcD8SAMutwIDsQPM,155
|
|
182
182
|
udata/core/reuse/tasks.py,sha256=oyi6SGNfCKRLLuS-tLUCs_jcfa43jOn4Wuzq65Vnj8A,1529
|
|
183
183
|
udata/core/site/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
184
|
-
udata/core/site/api.py,sha256=
|
|
184
|
+
udata/core/site/api.py,sha256=OwlzjgwdrtEemw63cxc4HYEGe5n-oN0sEXCzjt22ebA,4545
|
|
185
185
|
udata/core/site/factories.py,sha256=O0nLFmjrFyemzcs-YwNukq5nqd383KBGrgL5bOQsGbA,378
|
|
186
186
|
udata/core/site/forms.py,sha256=avEZ4rJhibF7sKexqMlKt1qMFiUHNrmJGKjZqcAyjrc,459
|
|
187
187
|
udata/core/site/models.py,sha256=PVB4I2dTQDr5p5md3faVDGZSgOcGKbloHzjzdOG96_I,6266
|
|
@@ -422,8 +422,8 @@ udata/static/admin.css,sha256=RC7GvbVK8c5wDuELPeVdQpy3ab7HbHl1T4hUo5n-NVk,185167
|
|
|
422
422
|
udata/static/admin.css.map,sha256=tUhFfsJUK3RrWCih9gUkf-Ywccuztxf4tqvXcN6zP3Y,626542
|
|
423
423
|
udata/static/admin.js,sha256=4dT1TxL-t0lHOWeuQNv4UNQdBPdNeNI1HyoAKdJ1oag,1327903
|
|
424
424
|
udata/static/admin.js.map,sha256=rYa-YLNxQK7QNoMSkGC2Gg26sb6qtqhj6rWm2B5laMk,8511948
|
|
425
|
-
udata/static/common.js,sha256=
|
|
426
|
-
udata/static/common.js.map,sha256=
|
|
425
|
+
udata/static/common.js,sha256=jTN79_NQsIxcQ-0QRNkCIhOQhHn3owR9Unwo8RmWHz8,2252
|
|
426
|
+
udata/static/common.js.map,sha256=WVp6K1WphwFmhjgngbW1kOi8N7VKE0HqekPmLJWngf4,14137
|
|
427
427
|
udata/static/fontawesome-webfont.eot,sha256=e_yrbbmdXPvxcFygU23ceFhUMsxfpBu9etDwCQM7KXk,165742
|
|
428
428
|
udata/static/fontawesome-webfont.svg,sha256=rWFXkmwWIrpOHQPUePFUE2hSS_xG9R5C_g2UX37zI-Q,444379
|
|
429
429
|
udata/static/fontawesome-webfont.ttf,sha256=qljzPyOaD7AvXHpsRcBD16msmgkzNYBmlOzW1O3A1qg,165548
|
|
@@ -440,26 +440,26 @@ udata/static/chunks/0.8f152ff3f1e15e3d8778.js,sha256=yV1lGW1ppi3d6liRuN8RToHbv72
|
|
|
440
440
|
udata/static/chunks/0.8f152ff3f1e15e3d8778.js.map,sha256=3BZZZC_2uSHarLJFIpC-itu-Zgi0EGh5_2FtSmpLDxQ,1670384
|
|
441
441
|
udata/static/chunks/1.c53dfc91009cfdf4583b.js,sha256=_0SRYucqFnI1MFd_oc6jxiF62iDFJd61MRBDvdZi47c,304018
|
|
442
442
|
udata/static/chunks/1.c53dfc91009cfdf4583b.js.map,sha256=Qx0PVyJdsbJe2b4vJ5GO6jbQsqmB7LpZqmCqlWcmcp8,1740520
|
|
443
|
-
udata/static/chunks/10.
|
|
444
|
-
udata/static/chunks/10.
|
|
445
|
-
udata/static/chunks/11.
|
|
446
|
-
udata/static/chunks/11.
|
|
443
|
+
udata/static/chunks/10.1d9b1714c0289863ba0a.js,sha256=xBAi81cpvlnj68yX-5HfS_8wiSdCwi9QPnzBUNPzo-s,414754
|
|
444
|
+
udata/static/chunks/10.1d9b1714c0289863ba0a.js.map,sha256=pxZU4wHJcIL5KpU4rMEBhfYLuu1PiuhVYz6hevbrzaY,2736101
|
|
445
|
+
udata/static/chunks/11.b6991d2651a318d28ccc.js,sha256=uylvVYDLEWtm6a4JaNJqfLeXDe5rf-LzMowkjB8t83k,395574
|
|
446
|
+
udata/static/chunks/11.b6991d2651a318d28ccc.js.map,sha256=do_k44GtsmBSkVrUOyEZCtXHd4vGpYIPW9l2y6VZyro,2268995
|
|
447
447
|
udata/static/chunks/12.576e63b7a990f8eab784.js,sha256=zYqbe5FZP9NI5Sv_9D-bOwq4JcxQjZpMj--3YE2iJ00,420868
|
|
448
448
|
udata/static/chunks/12.576e63b7a990f8eab784.js.map,sha256=v5Vc1o2TJwPJX36_WeItlxKMfaCOZhbAIFoyVa0d4bo,2441014
|
|
449
|
-
udata/static/chunks/13.
|
|
450
|
-
udata/static/chunks/13.
|
|
449
|
+
udata/static/chunks/13.413af7c95ac0ab6c909a.js,sha256=DR8ykWL1SFtIsHKb691CLDvyYl_iafaBp2DJqXxnBag,420359
|
|
450
|
+
udata/static/chunks/13.413af7c95ac0ab6c909a.js.map,sha256=AApPHTYmZGPaVJ2mplhD2ZBHHKi7_zB4acwaNICuwSM,2429413
|
|
451
451
|
udata/static/chunks/14.42393a4d555321f07b8b.js,sha256=PDjrjHWtEH25yDvj3V-lbvvAosaOrp7rpU4-86HCtRk,290138
|
|
452
452
|
udata/static/chunks/14.42393a4d555321f07b8b.js.map,sha256=utPoZTpqGMCZkDaCnY03uwhoJSCQvZYkY19hhFd1Eg0,1635687
|
|
453
453
|
udata/static/chunks/15.7de380008f4ec6ea4b5b.js,sha256=XXTC9s-FlP7vOI5HL55ucXyDCSRdixSj6MuWmG8Q0j4,228573
|
|
454
454
|
udata/static/chunks/15.7de380008f4ec6ea4b5b.js.map,sha256=kASNYsUarGRLBj7FOVG8KwUtYjmVqnhhEzwHVf6gkPo,1574491
|
|
455
|
-
udata/static/chunks/16.
|
|
456
|
-
udata/static/chunks/16.
|
|
455
|
+
udata/static/chunks/16.133ce8c70b1e42c9e717.js,sha256=DyxMbqRvb1WQ5EjBGqMmOB7x7R6c8bIDn2H7aWoY4yc,236471
|
|
456
|
+
udata/static/chunks/16.133ce8c70b1e42c9e717.js.map,sha256=FmovWRd21ZUQXWCJT2rJp8H-AdUY1xA7cqhUVi6PqSw,1288639
|
|
457
457
|
udata/static/chunks/17.4687eae5e18d3049fe7b.js,sha256=Q50AMYCTzlZH3gSw0-dLD-c7yRHVImaQxNf6HHyabfE,134827
|
|
458
458
|
udata/static/chunks/17.4687eae5e18d3049fe7b.js.map,sha256=Uf7ofeDK8Lg4Ga6htNiqIcmBpfAUhMq728sCOBq8xqY,681947
|
|
459
459
|
udata/static/chunks/18.b7098bfe5401f75973fa.js,sha256=ntlr4y2ssL4wG8pPprUu7x23Uq81n7pSQym1nwQb1jk,50398
|
|
460
460
|
udata/static/chunks/18.b7098bfe5401f75973fa.js.map,sha256=tPyhZOsDl9NOfS9X8c9e80nShe6OztZ-ZrS9e2Rq1co,277843
|
|
461
|
-
udata/static/chunks/19.
|
|
462
|
-
udata/static/chunks/19.
|
|
461
|
+
udata/static/chunks/19.28f355064e529318c9b1.js,sha256=twTXAI2UJWE7ouqTqrDAraFQQjQUs-wXkbvTdW6qSgI,203430
|
|
462
|
+
udata/static/chunks/19.28f355064e529318c9b1.js.map,sha256=lCnCAKFsjLzHo_h2OWq8MZLt2XHiP4bG3YiruHda8t8,1080009
|
|
463
463
|
udata/static/chunks/2.c6dba6a3f04d53321e86.js,sha256=Bq6jt0KQ6stPPHb27Uwem29GurSFw3yxRKv7QW7Dsng,276355
|
|
464
464
|
udata/static/chunks/2.c6dba6a3f04d53321e86.js.map,sha256=5V4YKp8cnITwJzQGHSGDObwdHrDRNcfoq2v0M3XREzU,1554832
|
|
465
465
|
udata/static/chunks/20.17e9e766625991aa0a7b.js,sha256=3d-hTgMZBST-fYU7dJyJaAQgMBUzqbfWKxMuImrfoX8,36778
|
|
@@ -496,10 +496,10 @@ udata/static/chunks/6.c433506a3004b8f4d5fb.js,sha256=01IbKOG3MtmNwquDkVQaKNQMfYu
|
|
|
496
496
|
udata/static/chunks/6.c433506a3004b8f4d5fb.js.map,sha256=TrU2oHFEGSuzEFGG_UuxnsK9gdFqqkFZMweSQGU61fc,3781963
|
|
497
497
|
udata/static/chunks/7.6ce1bc0456cf60b71a71.js,sha256=3VciyJI920D2bjkT28AxZ6xnoouUEjjSIUyB3iUhWNY,153013
|
|
498
498
|
udata/static/chunks/7.6ce1bc0456cf60b71a71.js.map,sha256=An_Z-RqmY4LrX87JOkl1LhNctHRhrl2V9wJvgIYCef0,792279
|
|
499
|
-
udata/static/chunks/8.
|
|
500
|
-
udata/static/chunks/8.
|
|
501
|
-
udata/static/chunks/9.
|
|
502
|
-
udata/static/chunks/9.
|
|
499
|
+
udata/static/chunks/8.95c59b717494bac4ce43.js,sha256=luwrjjoovILf2a5lMe0tyWrgsqvl2pZiJjGRhsvT6DQ,222870
|
|
500
|
+
udata/static/chunks/8.95c59b717494bac4ce43.js.map,sha256=tjWQ_xbinyRpdOejZ_7zEqUoteQE_7X4effVRbshTk0,1205115
|
|
501
|
+
udata/static/chunks/9.5009f558f2268bbe4094.js,sha256=Hfr8k5pCax6bJ-JLJ3gWDhfhMEjp-vERNOTD4PBnpAE,416730
|
|
502
|
+
udata/static/chunks/9.5009f558f2268bbe4094.js.map,sha256=1n4oWJJSGGPzQdDfqZrC3kyT3AHUUzo2MqNDULEwy5E,2746345
|
|
503
503
|
udata/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
504
504
|
udata/storage/s3.py,sha256=enxbTm1IZksiKLkbafASrO2bqO44OTCn4F7_FeMjhgg,1557
|
|
505
505
|
udata/templates/admin.html,sha256=RfX03rUOW7NIlgMYNhFfx0pL-p2j8BtAKvEFUadaIIs,787
|
|
@@ -601,7 +601,7 @@ udata/tests/api/test_activities_api.py,sha256=RjDDeNle3T-ydVnh6BRypqxAE_244-DXaK
|
|
|
601
601
|
udata/tests/api/test_auth_api.py,sha256=0Y_JXQ4x8jvc_pp4g3H6gZ_X0QVGM6TaZ2IN9LeOWEg,21657
|
|
602
602
|
udata/tests/api/test_base_api.py,sha256=2w_vz0eEuq3P3aN-ByvxGc3VZAo7XtgatFfcrzf2uEU,2244
|
|
603
603
|
udata/tests/api/test_contact_points.py,sha256=pyakkKnM4lH_asuEoXq9lQyJC9to6ZxSp4QQrHh1c1U,1041
|
|
604
|
-
udata/tests/api/test_dataservices_api.py,sha256=
|
|
604
|
+
udata/tests/api/test_dataservices_api.py,sha256=dfPonOmHcx83KLeUa2uqVaa2DJ_Xx91fHBqmFOlOP10,14636
|
|
605
605
|
udata/tests/api/test_datasets_api.py,sha256=LQAUaYY8Sj2HibHu6Qg1T46LlLxlPRa_aP0r1Z7A0jc,80614
|
|
606
606
|
udata/tests/api/test_fields.py,sha256=OW85Z5MES5HeWOpapeem8OvR1cIcrqW-xMWpdZO4LZ8,1033
|
|
607
607
|
udata/tests/api/test_follow_api.py,sha256=fccgVNfcqET221PPS3p7qzb9hpvbBBUGhV-l4UeOpyk,3352
|
|
@@ -661,7 +661,7 @@ udata/tests/organization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
|
661
661
|
udata/tests/organization/test_csv_adapter.py,sha256=vgTVbPMqKipcdg7wi99pHk9ZNhqtuU-yneEaVW3pZmU,1564
|
|
662
662
|
udata/tests/organization/test_notifications.py,sha256=PGmME5BbYVtcPffeSE1sx47J6iAfm4RDAZIRv_MXDFE,1366
|
|
663
663
|
udata/tests/organization/test_organization_model.py,sha256=98ud3w37hn4VXqJgpxM43UGr2mE1YHM1m0IMCPE9J9E,2030
|
|
664
|
-
udata/tests/organization/test_organization_rdf.py,sha256=
|
|
664
|
+
udata/tests/organization/test_organization_rdf.py,sha256=v_gC4BI0hCFKDkK0CMmZO6PBwqe--pc0OLhyftZpQeg,8086
|
|
665
665
|
udata/tests/organization/test_organization_tasks.py,sha256=ehPirwfLqaEcnJ9TLk3jGw3Xh-CVx1WXhvIDFYrT2iQ,2845
|
|
666
666
|
udata/tests/reuse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
667
667
|
udata/tests/reuse/test_reuse_model.py,sha256=ro_p0GmDvkaP6jQmCxDDLiGBFetDInjn9McnHRglWZY,3989
|
|
@@ -697,9 +697,9 @@ udata/translations/pt/LC_MESSAGES/udata.mo,sha256=WpPzAqVd2Onv_kz45ULUySKPLrpjcc
|
|
|
697
697
|
udata/translations/pt/LC_MESSAGES/udata.po,sha256=18Op9RUITewoDRewlOdYzzq6gjsf1lsvepACV1d7zxs,44976
|
|
698
698
|
udata/translations/sr/LC_MESSAGES/udata.mo,sha256=NIYRNhVoETZUvIvWm3cCW7DtMBAnS2vXzZjMF5ZzD_c,28500
|
|
699
699
|
udata/translations/sr/LC_MESSAGES/udata.po,sha256=rQB-4V4WJ7bURj6g2j653vItr5TMHadcLQxec7_fDmg,51545
|
|
700
|
-
udata-9.1.4.
|
|
701
|
-
udata-9.1.4.
|
|
702
|
-
udata-9.1.4.
|
|
703
|
-
udata-9.1.4.
|
|
704
|
-
udata-9.1.4.
|
|
705
|
-
udata-9.1.4.
|
|
700
|
+
udata-9.1.4.dev31257.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
|
|
701
|
+
udata-9.1.4.dev31257.dist-info/METADATA,sha256=VSMCl_yTt8IcZjJQ_pDloREZTXz31jpPwlzapktFAqQ,129503
|
|
702
|
+
udata-9.1.4.dev31257.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
|
|
703
|
+
udata-9.1.4.dev31257.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
|
|
704
|
+
udata-9.1.4.dev31257.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
|
|
705
|
+
udata-9.1.4.dev31257.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|