[DEV] continue integration on the merge on real DB (take more time to transform my own db

This commit is contained in:
Edouard DUPIN 2020-02-25 23:56:35 +01:00
parent 7b84f44710
commit 66a016425b
30 changed files with 1002 additions and 230 deletions

View File

@ -0,0 +1,115 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="1279.000000pt" height="1280.000000pt" viewBox="0 0 1279.000000 1280.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.15, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,1280.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M8860 12794 c-14 -2 -59 -9 -100 -15 -239 -33 -517 -147 -776 -317
-253 -167 -443 -325 -819 -682 -289 -274 -407 -378 -542 -479 -519 -386 -1257
-658 -2443 -901 l-156 -32 -89 58 c-553 357 -1131 620 -1767 804 -195 57 -477
122 -628 146 -125 19 -378 22 -470 5 -396 -73 -610 -344 -660 -836 -17 -158
-8 -489 20 -755 94 -917 291 -1732 625 -2595 130 -336 155 -428 155 -568 -1
-133 -47 -238 -167 -378 -26 -31 -117 -129 -200 -218 -84 -89 -193 -216 -242
-281 -327 -434 -515 -957 -583 -1620 -17 -164 -17 -713 0 -895 41 -446 102
-807 228 -1360 75 -325 82 -363 100 -490 18 -130 46 -197 103 -251 33 -32 139
-89 148 -80 2 1 -15 56 -37 122 -331 981 -467 2193 -345 3069 63 449 180 794
364 1066 84 125 155 206 249 283 417 340 958 352 1592 35 731 -366 1229 -927
1365 -1539 26 -118 31 -375 10 -501 -81 -484 -404 -847 -863 -971 -121 -33
-373 -37 -520 -9 -458 88 -858 409 -1068 857 -25 55 -62 131 -80 171 -64 135
-170 194 -224 125 -50 -62 -4 -272 106 -482 83 -160 174 -280 324 -431 228
-229 457 -359 755 -427 138 -32 259 -42 645 -52 374 -10 459 -19 603 -65 115
-37 218 -87 326 -159 133 -89 222 -165 476 -406 251 -238 343 -317 469 -402
118 -79 219 -129 347 -171 94 -32 188 -52 609 -132 404 -78 626 -196 775 -414
l46 -68 -25 -89 c-67 -241 -97 -383 -87 -403 12 -22 107 -61 151 -61 58 0 66
17 130 273 86 350 118 437 206 568 110 164 210 287 348 425 394 392 882 646
1363 709 611 80 1175 -201 1482 -740 132 -232 196 -482 189 -743 l-3 -132 30
-12 c96 -40 221 27 261 139 18 52 17 209 -2 318 -47 272 -223 638 -431 895
-61 75 -221 235 -320 320 l-53 45 236 415 c707 1245 769 1347 864 1433 94 85
219 109 337 65 78 -28 185 -136 231 -229 96 -197 82 -365 -63 -767 -116 -325
-141 -460 -132 -720 8 -257 61 -471 177 -711 149 -307 359 -552 628 -732 123
-83 235 -137 379 -185 180 -61 272 -48 338 45 l30 43 -2 236 c-4 659 -168
1348 -472 1977 -103 213 -190 365 -326 570 -138 207 -243 342 -456 585 -195
223 -275 333 -340 465 -66 136 -89 237 -89 395 0 160 16 253 94 563 104 407
141 633 155 939 22 501 -50 960 -239 1510 -33 97 -128 346 -211 555 -364 913
-411 1112 -454 1933 -24 472 -43 684 -76 880 -79 471 -251 842 -508 1101 -185
185 -377 292 -623 345 -70 15 -326 27 -378 18z m310 -389 c418 -154 764 -684
909 -1391 108 -528 85 -1038 -69 -1488 -33 -99 -38 -156 -15 -200 8 -15 57
-85 109 -155 564 -762 742 -1203 850 -2111 61 -511 54 -960 -25 -1530 -45
-325 -135 -704 -195 -821 -7 -15 -50 -134 -95 -265 -44 -131 -103 -288 -130
-349 -194 -433 -500 -797 -942 -1118 -234 -171 -447 -291 -883 -498 -1049
-498 -1480 -649 -1998 -700 -175 -17 -564 -6 -736 20 -370 58 -792 181 -1245
363 -458 184 -929 419 -971 483 -24 37 -11 67 55 124 33 29 83 84 112 124 29
40 73 99 97 132 54 72 105 178 127 260 23 84 30 291 16 411 -18 141 -54 305
-116 526 -122 439 -218 648 -386 848 -30 36 -77 94 -104 130 -28 36 -78 96
-112 133 -96 105 -96 126 1 238 35 41 100 116 145 168 219 254 389 514 675
1034 277 502 376 870 445 1652 40 444 37 631 -13 829 -44 172 -163 438 -242
542 -49 64 -64 98 -64 149 0 41 5 51 45 94 95 102 276 168 815 299 380 93 898
177 1175 191 102 5 150 12 177 25 68 33 188 172 323 374 71 106 165 237 209
290 104 125 381 407 508 520 360 316 881 621 1175 686 109 25 279 16 373 -19z
m-7618 -2080 c128 -22 260 -69 398 -142 439 -231 634 -454 690 -793 32 -188
-30 -385 -184 -590 -123 -164 -422 -426 -566 -497 -173 -85 -303 -10 -472 273
-146 245 -255 484 -322 707 -44 145 -122 492 -136 601 -29 233 80 406 280 445
72 14 220 12 312 -4z"/>
<path d="M8851 11829 c-71 -12 -216 -61 -288 -98 -259 -131 -535 -391 -766
-724 -137 -196 -187 -308 -187 -419 0 -132 69 -206 275 -293 50 -21 252 -119
449 -218 198 -98 387 -190 420 -202 177 -66 342 -72 461 -17 221 104 336 414
322 872 -6 190 -21 294 -86 585 -44 196 -55 235 -96 314 -85 168 -265 239
-504 200z m64 -342 c64 -67 101 -182 179 -547 47 -223 67 -393 69 -586 2 -146
0 -164 -17 -183 -37 -41 -114 -24 -335 70 -210 90 -382 193 -576 344 -163 127
-194 188 -142 284 37 70 256 350 350 448 138 143 260 212 376 213 51 0 57 -3
96 -43z"/>
<path d="M8896 7075 c-33 -13 -110 -58 -170 -98 -61 -41 -150 -100 -197 -131
-98 -63 -185 -152 -220 -223 -35 -72 -38 -174 -7 -232 36 -68 87 -103 153
-109 53 -4 57 -3 89 32 23 24 48 72 76 143 69 180 119 240 260 306 113 54 177
42 294 -55 32 -27 73 -56 90 -66 42 -22 141 -22 184 1 69 37 92 129 53 206
-30 58 -123 137 -215 181 -156 75 -282 90 -390 45z"/>
<path d="M10005 6115 c-133 -23 -455 -129 -567 -186 -47 -24 -78 -64 -78 -101
0 -39 32 -100 70 -132 51 -42 99 -36 233 29 98 48 126 57 222 71 86 12 126 24
184 52 85 43 92 55 95 159 1 60 -2 75 -19 91 -28 28 -60 31 -140 17z"/>
<path d="M4960 5864 c-14 -2 -52 -9 -85 -15 -143 -25 -289 -131 -389 -282
-146 -222 -157 -309 -46 -384 44 -31 106 -30 151 0 21 14 49 50 74 97 52 97
186 236 266 274 115 55 216 53 379 -9 109 -41 160 -44 221 -12 84 45 90 109
18 191 -61 70 -113 91 -289 120 -93 16 -261 27 -300 20z"/>
<path d="M10045 5513 c-332 -90 -336 -92 -371 -128 -34 -37 -49 -87 -34 -115
5 -10 24 -23 41 -29 58 -20 114 -13 226 30 99 38 117 41 223 45 146 5 244 21
263 42 40 45 32 125 -18 177 -29 31 -38 35 -81 34 -27 -1 -139 -26 -249 -56z"/>
<path d="M7263 5475 c-261 -47 -493 -195 -623 -396 -63 -98 -77 -186 -41 -264
42 -90 132 -142 318 -181 267 -56 316 -74 332 -117 19 -49 62 -389 62 -490 0
-96 -4 -117 -37 -217 -58 -176 -123 -258 -246 -315 -193 -88 -433 -28 -636
159 -51 46 -108 90 -127 96 -53 18 -98 -8 -131 -76 -23 -48 -26 -63 -22 -124
8 -113 72 -196 203 -262 158 -81 327 -113 544 -105 286 10 431 83 523 260 77
148 159 236 242 258 36 10 49 9 106 -12 59 -22 84 -24 260 -27 107 -2 253 1
324 7 156 13 204 32 295 117 35 32 107 95 159 139 127 106 138 128 164 331 12
92 17 175 13 201 -8 55 -51 106 -103 121 -53 16 -155 15 -195 -2 -62 -26 -70
-45 -78 -179 -9 -136 -37 -262 -70 -309 -30 -42 -101 -85 -184 -111 -89 -28
-266 -30 -365 -4 -151 40 -271 128 -304 222 -8 26 -20 93 -27 149 -21 189 10
317 129 534 116 209 135 255 140 341 3 71 2 79 -26 123 -58 90 -226 148 -422
147 -58 0 -137 -7 -177 -14z"/>
<path d="M9828 4739 c-44 -13 -88 -60 -88 -95 0 -40 25 -88 61 -118 32 -27 36
-28 99 -20 142 18 180 12 282 -39 102 -51 140 -57 193 -31 43 20 135 117 135
142 0 56 -99 111 -257 143 -115 23 -369 34 -425 18z"/>
<path d="M4855 4609 c-171 -59 -384 -188 -478 -289 -56 -60 -86 -123 -74 -154
11 -29 57 -39 114 -28 68 14 505 196 566 236 68 45 76 168 15 234 -27 28 -64
28 -143 1z"/>
<path d="M4830 3973 c-14 -2 -60 -15 -102 -29 -195 -64 -340 -225 -308 -343
14 -52 62 -108 101 -116 43 -10 125 33 185 96 27 28 58 56 69 62 12 6 71 11
140 12 104 0 126 4 162 23 70 37 88 93 54 167 -46 102 -162 151 -301 128z"/>
<path d="M4955 3331 c-46 -21 -106 -77 -227 -215 -117 -131 -132 -191 -66
-256 89 -89 261 -41 354 100 35 52 61 67 144 85 139 29 180 62 180 146 0 57
-18 80 -85 109 -47 20 -188 50 -234 50 -14 0 -44 -9 -66 -19z"/>
<path d="M3003 4475 c-34 -15 -37 -23 -33 -95 5 -94 71 -212 180 -320 86 -87
153 -125 201 -115 42 9 95 59 109 100 15 46 3 83 -59 177 -95 145 -182 220
-290 252 -65 19 -67 19 -108 1z"/>
<path d="M2341 4194 c-13 -9 -29 -32 -37 -50 -25 -60 -19 -78 47 -136 70 -60
99 -106 133 -205 45 -131 81 -159 188 -147 83 9 102 29 95 98 -10 94 -53 189
-118 260 -98 107 -222 196 -271 196 -8 0 -24 -7 -37 -16z"/>
<path d="M1684 3875 c-26 -40 -14 -104 34 -177 56 -87 87 -157 116 -267 14
-52 33 -102 41 -110 10 -10 33 -16 61 -16 40 0 50 5 79 36 83 91 38 290 -100
438 -108 115 -195 151 -231 96z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg2"
width="225"
height="225"
viewBox="0 0 225 225"
sodipodi:docname="type_documentary.svg"
inkscape:version="0.92.4 5da689c313, 2019-01-14">
<metadata
id="metadata8">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1918"
inkscape:window-height="1038"
id="namedview4"
showgrid="false"
inkscape:zoom="2.0977778"
inkscape:cx="69.686932"
inkscape:cy="51.888857"
inkscape:window-x="0"
inkscape:window-y="20"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:22.32067108;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect821"
width="189.09904"
height="194.34268"
x="19.142218"
y="14.375268"
ry="28.992929" />
<path
style="fill:none;stroke:#000000;stroke-width:8.39999962;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 68.167373,163.98305 19.544491,-54.34322 25.264826,30.03178 41.47246,-63.877119 33.84534,85.805089"
id="path825"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:12.19999981;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 17.161017,161.59958 H 212.60593"
id="path823"
inkscape:connector-curvature="0" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:12.69999981;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="path827"
cx="58.633472"
cy="56.25"
r="19.544491" />
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Capa_1"
x="0px"
y="0px"
width="100"
height="100"
viewBox="0 0 99.999999 99.999999"
xml:space="preserve"
sodipodi:docname="type_film-short.svg"
inkscape:version="0.92.4 5da689c313, 2019-01-14"><metadata
id="metadata43"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs41" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1918"
inkscape:window-height="1038"
id="namedview39"
showgrid="true"
inkscape:zoom="4.7895499"
inkscape:cx="73.393795"
inkscape:cy="42.536152"
inkscape:window-x="0"
inkscape:window-y="20"
inkscape:window-maximized="1"
inkscape:current-layer="Capa_1"><inkscape:grid
type="xygrid"
id="grid871" /></sodipodi:namedview>
<g
id="g8"
transform="translate(0,-457.47101)">
</g>
<g
id="g10"
transform="translate(0,-457.47101)">
</g>
<g
id="g12"
transform="translate(0,-457.47101)">
</g>
<g
id="g14"
transform="translate(0,-457.47101)">
</g>
<g
id="g16"
transform="translate(0,-457.47101)">
</g>
<g
id="g18"
transform="translate(0,-457.47101)">
</g>
<g
id="g20"
transform="translate(0,-457.47101)">
</g>
<g
id="g22"
transform="translate(0,-457.47101)">
</g>
<g
id="g24"
transform="translate(0,-457.47101)">
</g>
<g
id="g26"
transform="translate(0,-457.47101)">
</g>
<g
id="g28"
transform="translate(0,-457.47101)">
</g>
<g
id="g30"
transform="translate(0,-457.47101)">
</g>
<g
id="g32"
transform="translate(0,-457.47101)">
</g>
<g
id="g34"
transform="translate(0,-457.47101)">
</g>
<g
id="g36"
transform="translate(0,-457.47101)">
</g>
<path
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.77471006;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
d="M 5 5 L 5 95 L 95 95 L 95 5 L 5 5 z M 40 27 L 60 27 L 60 33 L 40 33 L 40 27 z M 40 67 L 60 67 L 60 73 L 40 73 L 40 67 z "
id="rect869" /><rect
style="fill:#d5d5d5;fill-opacity:0.70980394;stroke:none;stroke-width:0.77471006;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect869-2"
width="70"
height="20"
x="15"
y="5"
ry="0" /><rect
style="fill:#d5d5d5;fill-opacity:0.70980394;stroke:none;stroke-width:0.94586086;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect869-2-3"
width="70"
height="29.81303"
x="15"
y="35"
ry="0" /><rect
style="fill:#d5d5d5;fill-opacity:0.70980394;stroke:none;stroke-width:0.77471006;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect869-2-7"
width="70"
height="20"
x="15"
y="75"
ry="0" /></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Capa_1"
x="0px"
y="0px"
width="100"
height="100"
viewBox="0 0 99.999999 99.999999"
xml:space="preserve"
sodipodi:docname="type_film.svg"
inkscape:version="0.92.4 5da689c313, 2019-01-14"><metadata
id="metadata43"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs41" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1918"
inkscape:window-height="1038"
id="namedview39"
showgrid="true"
inkscape:zoom="76.632798"
inkscape:cx="15.14015"
inkscape:cy="5.9693833"
inkscape:window-x="0"
inkscape:window-y="20"
inkscape:window-maximized="1"
inkscape:current-layer="Capa_1"><inkscape:grid
type="xygrid"
id="grid871" /></sodipodi:namedview>
<g
id="g8"
transform="translate(0,-457.47101)">
</g>
<g
id="g10"
transform="translate(0,-457.47101)">
</g>
<g
id="g12"
transform="translate(0,-457.47101)">
</g>
<g
id="g14"
transform="translate(0,-457.47101)">
</g>
<g
id="g16"
transform="translate(0,-457.47101)">
</g>
<g
id="g18"
transform="translate(0,-457.47101)">
</g>
<g
id="g20"
transform="translate(0,-457.47101)">
</g>
<g
id="g22"
transform="translate(0,-457.47101)">
</g>
<g
id="g24"
transform="translate(0,-457.47101)">
</g>
<g
id="g26"
transform="translate(0,-457.47101)">
</g>
<g
id="g28"
transform="translate(0,-457.47101)">
</g>
<g
id="g30"
transform="translate(0,-457.47101)">
</g>
<g
id="g32"
transform="translate(0,-457.47101)">
</g>
<g
id="g34"
transform="translate(0,-457.47101)">
</g>
<g
id="g36"
transform="translate(0,-457.47101)">
</g>
<path
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.77471006;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
d="M 3,5 V 95 H 16 V 85 H 84 V 95 H 97 V 5 H 84 V 15 H 16 V 5 Z m 4,2 h 5 v 8 H 7 Z m 81,0 h 5 v 8 H 88 Z M 7,20 h 5 v 8 H 7 Z m 9,0 H 84 V 80 H 16 Z m 72,0 h 5 v 8 H 88 Z M 7,33 h 5 v 8 H 7 Z m 81,0 h 5 v 8 H 88 Z M 7,46 h 5 v 8 H 7 Z m 81,0 h 5 v 8 H 88 Z M 7,59 h 5 v 8 H 7 Z m 81,0 h 5 v 8 H 88 Z M 7,72 h 5 v 8 H 7 Z m 81,0 h 5 v 8 H 88 Z M 7,85 h 5 v 8 H 7 Z m 81,0 h 5 v 8 h -5 z"
id="rect869"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" /><path
style="fill:#dddddd;fill-opacity:0.67843137;stroke:none;stroke-width:1.34183729;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
d="M 16,5 V 15 H 84 V 5 Z m 0,15 V 80 H 84 V 20 Z m 0,65 V 95 H 84 V 85 Z"
id="rect869-2-7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccccc" /></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
width="100"
height="100"
viewBox="0 0 100 100"
enable-background="new 0 0 612 792"
xml:space="preserve"
sodipodi:docname="type_one-man-show.svg"
inkscape:version="0.92.4 5da689c313, 2019-01-14"><metadata
id="metadata15"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs13" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1918"
inkscape:window-height="1038"
id="namedview11"
showgrid="false"
inkscape:zoom="6.7425131"
inkscape:cx="53.136368"
inkscape:cy="20.736479"
inkscape:window-x="0"
inkscape:window-y="20"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1" />
<g
id="g8"
transform="matrix(0.16745942,0,0,0.17111299,-0.7543833,-17.546408)">
<path
d="m 250.576,444.206 c -6.72,-1.069 -13.312,-0.929 -19.757,1.501 C 149.234,476.476 91.05,555.361 91.05,647.579 c 0,5.51 4.468,9.978 9.978,9.978 h 411.356 c 5.51,0 9.978,-4.468 9.978,-9.978 0,-91.746 -57.589,-170.295 -138.517,-201.396 -5.753,-2.211 -11.624,-2.637 -17.6,-2.025 z"
id="path2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccssssccc" />
<path
d="m 428.313,323.066 8.053,-21.844 -41.488,-15.296 39.978,-108.437 -114.511,-42.217 -39.978,108.437 -41.488,-15.296 -8.053,21.844 z"
id="path6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccc" />
</g>
<ellipse
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:4.5;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="path825"
cx="50.352142"
cy="44.011974"
rx="15.572829"
ry="15.276203" /><ellipse
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:4.5;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="path827"
cx="44.19717"
cy="39.859219"
rx="3.7078164"
ry="3.0404093" /><ellipse
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:4.5;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="path829"
cx="57.174526"
cy="41.935596"
rx="1.7055955"
ry="2.0022209" /><path
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 48.475092,62.720751 0.926955,2.940843 -1.325449,19.51173 3.034532,7.973073 2.71766,-8.101926 -2.573992,-19.420297 1.260658,-2.908793 -2.065856,-2.042716 z"
id="path831"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccc" /></svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<g>
<g>
<path d="M501.801,445.935h-18.359v-31.618c0-5.632-4.567-10.199-10.199-10.199h-10.08l-9.129-233.698l6.826-21.914h12.383
c5.632,0,10.199-4.567,10.199-10.199V115.48h12.239c4.897,0,9.102-3.479,10.019-8.289c0.916-4.81-1.713-9.592-6.266-11.394
L259.752,0.945c-2.41-0.955-5.094-0.955-7.506,0L12.565,95.798c-4.553,1.801-7.182,6.584-6.266,11.394
c0.917,4.81,5.122,8.289,10.019,8.289h12.239v22.827c0,5.632,4.566,10.199,10.199,10.199h12.383l6.826,21.912l-9.128,233.699
h-10.08c-5.633,0-10.199,4.567-10.199,10.199v31.617H10.199C4.566,445.934,0,450.501,0,456.133v45.438
c0,5.632,4.566,10.199,10.199,10.199h491.602c5.632,0,10.199-4.567,10.199-10.199v-45.438
C512,450.502,507.433,445.935,501.801,445.935z M48.956,128.109v-12.628h286.598c5.632,0,10.199-4.567,10.199-10.199
s-4.567-10.199-10.199-10.199H69.808L256,21.398l207.216,82.005l-0.172,24.706H48.956z M411.43,179.262h22.536l8.784,224.858
h-40.102L411.43,179.262z M405.901,148.508h33.594l-3.226,10.355h-27.142L405.901,148.508z M391.36,170.419l-9.128,233.699h-30.2
l-9.129-233.698l6.826-21.914h34.806L391.36,170.419z M300.298,179.262h22.536l8.784,224.858h-40.103L300.298,179.262z
M294.768,148.508h33.595l-3.226,10.355h-27.143L294.768,148.508z M231.771,170.419l6.826-21.912h34.806l6.826,21.914
L271.1,404.119h-30.201v-0.001L231.771,170.419z M189.167,179.262h22.536l8.784,224.858h-40.103L189.167,179.262z
M183.638,148.508h33.594l-3.226,10.355h-27.142L183.638,148.508z M169.099,170.419l-9.129,233.699h-30.201l-9.129-233.699
l6.826-21.912h34.807L169.099,170.419z M78.034,179.262h22.536l8.784,224.858H69.251L78.034,179.262z M72.505,148.507h33.594
l-3.226,10.355H75.731L72.505,148.507z M48.956,424.517h414.088v21.418H48.956V424.517z M491.602,491.374H20.398v-25.04h471.203
V491.374z"/>
</g>
</g>
<g>
<g>
<path d="M383.49,95.083h-9.179c-5.632,0-10.199,4.567-10.199,10.199c0,5.632,4.567,10.199,10.199,10.199h9.179
c5.632,0,10.199-4.567,10.199-10.199C393.689,99.65,389.122,95.083,383.49,95.083z"/>
</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
<metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata>
<g><g transform="translate(0.000000,511.000000) scale(0.100000,-0.100000)"><path d="M1916.9,4475c-63.3-8.4-179.4-40.1-257.4-69.6c-386.2-145.6-664.7-436.8-810.3-846.2l-59.1-168.8l-6.3-1470.8l-6.3-1472.9h504.3c489.6,0,510.7,2.1,671.1,54.9C3265.4,938.3,4447.1,2540,4799.5,4356.9l27.4,141.4l-1397-2.1C2663.9,4494,1982.3,4485.6,1916.9,4475z"/><path d="M5202.6,4346.3c147.7-774.5,466.4-1553.1,905.3-2211.5c542.3-814.6,1236.6-1399.1,1939.3-1633.3c160.4-52.8,181.5-54.9,668.9-54.9h504.4v1388.5c-2.1,1470.8-6.3,1574.2-103.4,1814.8c-145.6,363-438.9,637.3-835.7,778.7l-168.8,59.1l-1468.7,6.3l-1470.8,6.3L5202.6,4346.3z"/><path d="M4917.7,1250.6c-16.9-10.6-88.6-194.2-160.4-407.3l-130.8-386.2l-413.6-10.6c-365.1-8.4-415.7-14.8-455.8-50.6c-48.5-44.3-59.1-135.1-16.9-185.7c12.7-16.9,164.6-135.1,337.6-257.4c170.9-124.5,310.2-227.9,310.2-230c0-2.1-52.8-164.6-116.1-362.9c-63.3-196.3-116.1-388.3-116.1-426.3c0-73.8,61.2-132.9,137.2-132.9c23.2,0,192,107.6,373.5,240.5l331.3,242.7l331.3-242.7c183.6-132.9,352.4-240.5,377.7-240.5c76,0,137.2,59.1,137.2,132.9c0,38-52.8,225.8-116.1,415.7S5612-296.2,5612-289.9c0,8.4,139.3,118.2,312.3,242.7c170.9,122.4,322.9,240.6,337.6,257.4c44.3,57,29.6,145.6-29.6,192c-52.8,42.2-84.4,44.3-460,44.3l-403.1,2.1l-116.1,360.9c-63.3,198.4-132.9,384.1-154,411.5C5059.1,1271.7,4972.6,1284.4,4917.7,1250.6z"/><path d="M779.5-1070.7v-1179.6l280.7-8.5c261.7-6.3,287-10.5,420-73.9c160.4-76,325-219.5,411.5-356.6c33.8-50.6,65.4-92.8,71.7-92.8c6.3,0,23.2,23.2,33.8,48.5c54.9,118.2,263.8,310.2,424.2,388.3c154.1,76,170.9,80.2,411.5,88.6l251.1,6.3l-14.8,109.7c-42.2,320.8-217.3,873.6-379.8,1194.4C2505.7-579,2197.6-199.2,1914.8,14l-126.6,94.9h-504.3H779.5V-1070.7z"/><path d="M8085.2,14c-287-215.3-595.1-599.3-780.8-970.7c-162.5-329.2-327.1-848.3-373.5-1183.9l-14.8-109.7l251.1-8.5c227.9-6.3,261.7-12.7,390.4-73.9c158.3-73.9,325-217.3,411.5-356.6c33.8-50.6,65.4-92.8,71.7-92.8c6.3,0,23.2,23.2,33.8,48.5c54.9,118.2,263.8,310.2,424.2,388.3c156.2,78.1,164.6,80.2,441,86.5l280.7,8.5v1179.6V108.9h-504.4h-504.3L8085.2,14z"/><path d="M593.8-2632.3c-137.2-48.6-280.7-181.5-352.4-329.2c-101.3-208.9-120.3-329.2-130.8-837.8L100-4280.4h848.3h848.3l-10.6,481.1c-10.5,510.7-29.6,628.9-130.8,839.9c-73.9,151.9-230,293.3-371.4,333.4C1123.5-2577.4,741.5-2581.6,593.8-2632.3z"/><path d="M2619.6-2632.3c-137.2-48.6-280.7-181.5-352.4-329.2c-101.3-208.9-120.3-329.2-130.8-837.8l-10.5-481.1h848.3h848.3l-10.6,481.1c-10.6,510.7-29.6,628.9-130.8,839.9c-73.9,151.9-230,293.3-371.4,333.4C3149.3-2577.4,2767.4-2581.6,2619.6-2632.3z"/><path d="M4645.5-2632.3c-204.7-69.6-379.8-299.6-447.4-582.4c-12.7-57-29.5-320.8-35.9-584.6l-10.6-481.1H5000h848.3l-10.5,481.1c-10.5,510.7-29.6,628.9-130.8,839.9c-73.9,151.9-230,293.3-371.4,333.4C5175.1-2577.4,4793.2-2581.6,4645.5-2632.3z"/><path d="M6671.3-2632.3c-137.2-48.6-280.7-181.5-352.4-329.2c-101.3-208.9-120.3-329.2-130.8-837.8l-10.5-481.1h848.3h848.3l-10.5,481.1c-10.6,510.7-29.6,628.9-130.8,839.9c-73.9,151.9-230,293.3-371.4,333.4C7201-2577.4,6819-2581.6,6671.3-2632.3z"/><path d="M8697.2-2632.3c-137.2-48.6-280.7-181.5-352.4-329.2c-101.3-208.9-120.3-329.2-130.8-837.8l-10.6-481.1h848.3H9900l-10.6,481.1c-10.5,510.7-29.6,628.9-130.8,839.9c-73.9,151.9-230,293.3-371.4,333.4C9226.8-2577.4,8844.9-2581.6,8697.2-2632.3z"/></g></g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
<metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata>
<g><g><path d="M837.3,816.4c26.2,120.4-104.5,146.5-162.1,130.8c-57.6-15.7-175-18.3-175-18.3s-117.8,2.6-175.3,18.3c-57.6,15.8-188.4-10.4-162.3-130.8C188.7,696.1,303.9,701.3,335.4,539c31.5-162.3,164.9-151.8,164.9-151.8S633.4,376.7,664.9,539C696.2,701.3,811.2,696,837.3,816.4z M621,376.6c70.9,20.5,149.1-35.5,174.9-124.9c25.8-89.4-10.7-178.4-81.5-198.8c-70.9-20.5-149.1,35.5-174.9,124.9C513.7,267.1,550.2,356.2,621,376.6z M914.7,344.1c-68.2-27.9-152,19.4-187.2,105.6c-35.2,86.2-8.4,178.6,59.9,206.4c68.2,27.8,152-19.4,187.2-105.6C1009.7,464.2,982.9,371.9,914.7,344.1z M378.9,376.6c70.9-20.5,107.3-109.5,81.5-198.8C434.6,88.4,356.2,32.5,285.5,52.9C214.7,73.4,178.2,162.4,204,251.8C229.8,341.1,308,397.1,378.9,376.6z M212.7,656c68.2-27.9,95-120.3,59.9-206.4c-35.2-86.1-119-133.4-187.2-105.6c-68.2,27.9-95,120.3-59.9,206.4C60.6,636.6,144.4,683.9,212.7,656z"/></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
viewBox="0 0 100 100"
version="1.1"
id="svg857"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
sodipodi:docname="type_tv-show.svg">
<defs
id="defs851" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="7.9195959"
inkscape:cx="43.300441"
inkscape:cy="51.246657"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:window-width="1918"
inkscape:window-height="1038"
inkscape:window-x="0"
inkscape:window-y="20"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid5105" />
</sodipodi:namedview>
<metadata
id="metadata854">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-270.54167)">
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#00001d;stroke-width:6.53200006;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect5107"
width="80"
height="55.000015"
x="10"
y="285.54166"
ry="5.0000134"
rx="5" />
<path
style="fill:none;stroke:#000000;stroke-width:7.70200014;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 24.873731,353.44586 h 50"
id="path5109"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 40,300.54167 v 20 l 20,-10 z"
id="path5111"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -40,24 +40,28 @@ def add(_app, _name_api):
"type": "int",
"modifiable": False,
"can_be_null": False,
"visible": True,
},
{
"name": "type",
"type": "string",
"modifiable": False,
"can_be_null": False,
},
{
"name": "name",
"type": "str",
"modifiable": True,
"can_be_null": False,
"visible": True,
},
{
"name": "description",
"type": "str",
"modifiable": True,
"can_be_null": False,
"visible": True,
}
]
data_global_elements.get_interface(_name_api).set_data_model(dataModelBdd)
data_global_elements.get_interface(_name_api).set_add_where(" AND type='serie' ")
class DataModel:
name = str
@ -82,7 +86,9 @@ def add(_app, _name_api):
@doc.consumes(DataModel, location='body')#, required=True)
@doc.response_success(status=201, description='If successful created')
async def create(request):
return response.json(data_global_elements.get_interface(_name_api).post(request.json))
data = request.json
data["type"] = 'serie'
return response.json(data_global_elements.get_interface(_name_api).post(data))
@elem_blueprint.post('/' + _name_api + "/find", strict_slashes=True)
@doc.summary("Create new resource if the name does not already exist")
@ -129,22 +135,18 @@ def add(_app, _name_api):
@doc.description("Add a cover data ID to the group.")
@doc.consumes(DataModel, location='body')#, required=True)
@doc.response_success(status=201, description='If successful added')
async def create(request, id):
async def create_cover(request, id):
for type_key in ["data_id"]:
if type_key not in request.json.keys():
raise ServerError("Bad Request: Missing Key '" + type_key + "'", status_code=400)
# TODO: check if it is a number...
data = {}
data["node_id"] = id
data["data_id"] = request.json["data_id"]
value = data_global_elements.get_interface(_name_api).get(id)
if value == None:
raise ServerError("No data found", status_code=404)
if "covers" not in value.keys():
value["covers"] = [];
for elem in value["covers"]:
if request.json["data_id"] == elem:
return response.json(elem)
value["covers"].append(request.json["data_id"]);
data_global_elements.get_interface(_name_api).set(id, value)
data_global_elements.get_interface(data_global_elements.API_COVER).post(data)
value = data_global_elements.get_interface(_name_api).get(id)
return response.json(value)
_app.blueprint(elem_blueprint)

View File

@ -64,6 +64,7 @@ def add(_app, _name_api):
},
]
data_global_elements.get_interface(_name_api).set_data_model(dataModelBdd)
data_global_elements.get_interface(_name_api).set_add_where(" AND type='saison' ")
class DataModel:
number = int
@ -83,7 +84,9 @@ def add(_app, _name_api):
@doc.consumes(DataModel, location='body')#, required=True)
@doc.response_success(status=201, description='If successful created')
async def create(request):
return response.json(data_global_elements.get_interface(_name_api).post(request.json))
data = request.json
data["type"] = 'saison'
return response.json(data_global_elements.get_interface(_name_api).post(data))
@elem_blueprint.post('/' + _name_api + "/find", strict_slashes=True)
@doc.summary("find a season existance")
@ -131,22 +134,18 @@ def add(_app, _name_api):
@doc.description("Add a cover data ID to the video.")
@doc.consumes(DataModel, location='body')#, required=True)
@doc.response_success(status=201, description='If successful added')
async def create(request, id):
async def create_cover(request, id):
for type_key in ["data_id"]:
if type_key not in request.json.keys():
raise ServerError("Bad Request: Missing Key '" + type_key + "'", status_code=400)
# TODO: check if it is a number...
data = {}
data["node_id"] = id
data["data_id"] = request.json["data_id"]
value = data_global_elements.get_interface(_name_api).get(id)
if value == None:
raise ServerError("No data found", status_code=404)
if "covers" not in value.keys():
value["covers"] = [];
for elem in value["covers"]:
if request.json["data_id"] == elem:
return response.json(elem)
value["covers"].append(request.json["data_id"]);
data_global_elements.get_interface(_name_api).set(id, value)
data_global_elements.get_interface(data_global_elements.API_COVER).post(data)
value = data_global_elements.get_interface(_name_api).get(id)
return response.json(value)
_app.blueprint(elem_blueprint)

View File

@ -58,6 +58,7 @@ def add(_app, _name_api):
},
]
data_global_elements.get_interface(_name_api).set_data_model(dataModelBdd)
data_global_elements.get_interface(_name_api).set_add_where(" AND type='type' ")
class DataModel:
name = str
@ -76,7 +77,9 @@ def add(_app, _name_api):
@doc.consumes(DataModel, location='body')#, required=True)
@doc.response_success(status=201, description='If successful created')
async def create(request):
return response.json(data_global_elements.get_interface(_name_api).post(request.json))
data = request.json
data["type"] = 'type'
return response.json(data_global_elements.get_interface(_name_api).post(data))
@elem_blueprint.get('/' + _name_api + '/<id:int>', strict_slashes=True)
@doc.summary("Show resources")
@ -106,4 +109,23 @@ def add(_app, _name_api):
return response.json({})
raise ServerError("No data found", status_code=404)
@elem_blueprint.post('/' + _name_api + "/<id:int>/add_cover", strict_slashes=True)
@doc.summary("Add cover on video")
@doc.description("Add a cover data ID to the video.")
@doc.consumes(DataModel, location='body')#, required=True)
@doc.response_success(status=201, description='If successful added')
async def create_cover(request, id):
for type_key in ["data_id"]:
if type_key not in request.json.keys():
raise ServerError("Bad Request: Missing Key '" + type_key + "'", status_code=400)
data = {}
data["node_id"] = id
data["data_id"] = request.json["data_id"]
value = data_global_elements.get_interface(_name_api).get(id)
if value == None:
raise ServerError("No data found", status_code=404)
data_global_elements.get_interface(data_global_elements.API_COVER).post(data)
value = data_global_elements.get_interface(_name_api).get(id)
return response.json(value)
_app.blueprint(elem_blueprint)

View File

@ -56,6 +56,7 @@ def add(_app, _name_api):
},
]
data_global_elements.get_interface(_name_api).set_data_model(dataModelBdd)
data_global_elements.get_interface(_name_api).set_add_where(" AND type='univers' ")
class DataModel:
name = str
@ -74,7 +75,9 @@ def add(_app, _name_api):
@doc.consumes(DataModel, location='body')#, required=True)
@doc.response_success(status=201, description='If successful created')
async def create(request):
return response.json(data_global_elements.get_interface(_name_api).post(request.json))
data = request.json
data["type"] = 'univers'
return response.json(data_global_elements.get_interface(_name_api).post(data))
@elem_blueprint.get('/' + _name_api + '/<id:int>', strict_slashes=True)
@doc.summary("Show resources")
@ -109,22 +112,18 @@ def add(_app, _name_api):
@doc.description("Add a cover data ID to the univers.")
@doc.consumes(DataModel, location='body')#, required=True)
@doc.response_success(status=201, description='If successful added')
async def create(request, id):
async def create_cover(request, id):
for type_key in ["data_id"]:
if type_key not in request.json.keys():
raise ServerError("Bad Request: Missing Key '" + type_key + "'", status_code=400)
# TODO: check if it is a number...
data = {}
data["node_id"] = id
data["data_id"] = request.json["data_id"]
value = data_global_elements.get_interface(_name_api).get(id)
if value == None:
raise ServerError("No data found", status_code=404)
if "covers" not in value.keys():
value["covers"] = [];
for elem in value["covers"]:
if request.json["data_id"] == elem:
return response.json(elem)
value["covers"].append(request.json["data_id"]);
data_global_elements.get_interface(_name_api).set(id, value)
data_global_elements.get_interface(data_global_elements.API_COVER).post(data)
value = data_global_elements.get_interface(_name_api).get(id)
return response.json(value)
_app.blueprint(elem_blueprint)

View File

@ -153,6 +153,7 @@ def add(_app, _name_api):
},
]
data_global_elements.get_interface(_name_api).set_data_model(dataModelBdd)
data_global_elements.get_interface(_name_api).set_add_where(" AND type='media' ")
class DataModel:
type_id = int
@ -182,22 +183,16 @@ def add(_app, _name_api):
@doc.consumes(DataModel, location='body')#, required=True)
@doc.response_success(status=201, description='If successful created')
async def create(request):
for type_key in ["data_id","type_id","name"]:
if type_key not in request.json.keys():
data = request.json
for type_key in ["data_id","name"]:
if type_key not in data.keys():
raise ServerError("Bad Request: Missing Key '" + type_key + "'", status_code=400)
for type_key in ["create_date"]:
if type_key in request.json.keys():
if type_key in data.keys():
raise ServerError("Forbidden: Must not be set Key '" + type_key + "'", status_code=403)
for type_key in ["saison_id","episode","date","time","univers_id","group_id","description"]:
if type_key not in request.json.keys():
request.json[type_key] = None
request.json["create_date"] = datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z'
#Find if already exist
list_elem = data_global_elements.get_interface(_name_api).find(["group_id", "data_id"], request.json);
for elem in list_elem:
return response.json(elem)
return response.json(data_global_elements.get_interface(_name_api).post(request.json))
data["type"] = 'media'
return response.json(data_global_elements.get_interface(_name_api).post(data))
@elem_blueprint.get('/' + _name_api + '/<id:int>', strict_slashes=True)
@doc.summary("Show resources")
@ -235,22 +230,19 @@ def add(_app, _name_api):
@doc.description("Add a cover data ID to the video.")
@doc.consumes(DataModel, location='body')#, required=True)
@doc.response_success(status=201, description='If successful added')
async def create(request, id):
async def create_cover(request, id):
for type_key in ["data_id"]:
if type_key not in request.json.keys():
raise ServerError("Bad Request: Missing Key '" + type_key + "'", status_code=400)
# TODO: check if it is a number...
data = {}
data["node_id"] = id
data["data_id"] = request.json["data_id"]
value = data_global_elements.get_interface(_name_api).get(id)
if value == None:
raise ServerError("No data found", status_code=404)
if "covers" not in value.keys():
value["covers"] = [];
data_global_elements.get_interface(data_global_elements.API_COVER).post(data)
value = data_global_elements.get_interface(_name_api).get(id)
for elem in value["covers"]:
if request.json["data_id"] == elem:
return response.json(elem)
value["covers"].append(request.json["data_id"]);
data_global_elements.get_interface(_name_api).set(id, value)
return response.json(value)
_app.blueprint(elem_blueprint)

View File

@ -66,62 +66,17 @@ if "REST_PORT" not in app.config.keys():
app.blueprint(openapi_blueprint)
app.blueprint(swagger_blueprint)
default_values_type = [
{
"id": 0,
"name": "Documentary",
"description": "Documentary (annimals, space, earth...)"
},{
"id": 1,
"name": "Movie",
"description": "Movie with real humans (film)"
},{
"id": 2,
"name": "Annimation",
"description": "Annimation movies (film)"
},{
"id": 3,
"name": "Short Films",
"description": "Small movies (less 2 minutes)"
},{
"id": 4,
"name": "tv show",
"description": "Tv show form old peoples"
}, {
"id": 5,
"name": "Anniation tv show",
"description": "Tv show form young peoples"
}, {
"id": 6,
"name": "Theater",
"description": "recorder theater pices"
}, {
"id": 7,
"name": "One man show",
"description": "Recorded stand up"
}, {
"id": 8,
"name": "Concert",
"description": "Recorded concert"
}, {
"id": 9,
"name": "Opera",
"description": "Recorded Opera"
}
]
def add_interface(_name, _base_name):
interface = data_interface.DataInterface(_name, _base_name)
def add_interface(_name, _base_name, _name_view):
interface = data_interface.DataInterface(_name, _base_name, _name_view)
data_global_elements.add_interface(_name, interface)
add_interface(data_global_elements.API_DATA, data_global_elements.API_DATA)
add_interface(data_global_elements.API_TYPE, data_global_elements.API_TYPE)
add_interface(data_global_elements.API_UNIVERS, data_global_elements.API_UNIVERS)
add_interface(data_global_elements.API_GROUP, "grp")
add_interface(data_global_elements.API_SAISON, data_global_elements.API_SAISON)
add_interface(data_global_elements.API_VIDEO, data_global_elements.API_VIDEO)
add_interface(data_global_elements.API_DATA, data_global_elements.API_DATA, "data")
add_interface(data_global_elements.API_TYPE, "node", "view_type")
add_interface(data_global_elements.API_UNIVERS, "node", "view_univers")
add_interface(data_global_elements.API_GROUP, "node", "view_serie")
add_interface(data_global_elements.API_SAISON, "node", "view_saison")
add_interface(data_global_elements.API_VIDEO, "media", "view_video")
add_interface(data_global_elements.API_COVER, data_global_elements.API_COVER, data_global_elements.API_COVER)
import api.root as api_root
api_root.add(app)

View File

@ -60,4 +60,5 @@ API_GROUP = "group"
API_SAISON = "saison"
API_VIDEO = "video"
API_DATA = "data"
API_COVER = "cover_link"

View File

@ -63,13 +63,15 @@ def is_float(s, authorise):
## @breif Generic interface to access to the BDD (no BDD, direct file IO)
##
class DataInterface():
def __init__(self, _name, _base_name):
def __init__(self, _name, _base_name, _name_view):
self.model = None
self.name = _name
self.name_view = _name_view
self.extract_base = "*"
self.base_name = _base_name
self.connection = db.connect_bdd();
self.need_save = False
self.where_expand = "";
#self.conn = self.connection.cursor()
def __del__(self):
@ -77,13 +79,16 @@ class DataInterface():
def set_data_model(self, _data_model):
self.model = _data_model
"""
self.extract_base = ""
for elem in self.model:
if elem["visible"] == True:
if self.extract_base != "":
self.extract_base += ","
self.extract_base += elem["name"]
"""
def set_add_where(self, _expand):
self.where_expand = _expand
##
## @brief Mark the current BDD to store all in File system (sync)
##
@ -103,22 +108,15 @@ class DataInterface():
def gets(self, filter=None):
debug.info("gets " + self.name)
cursor = self.connection.cursor(cursor_factory=RealDictCursor)
cursor.execute('SELECT ' + self.extract_base + ' FROM ' + self.base_name + ' WHERE deleted = false')
cursor.execute('SELECT * FROM ' + self.name_view + '')
results = cursor.fetchall()
#debug.info("gets data = " + json.dumps(results, indent=4))
if filter == None:
return results
debug.warning("BDD does not suppor filter now ...");
self.connection.commit()
return results
def gets_where(self, select, filter=None, order_by=None):
debug.info("gets " + self.name)
"""
tmp_list = self.get_sub_list(self.bdd, select)
tmp_list = self.order_by(tmp_list, order_by)
return self.filter_object_values(tmp_list, filter);
"""
def get(self, _id):
if type(_id) != int:
debug.warning("get wrong input type...")
@ -128,8 +126,9 @@ class DataInterface():
#results = cursor.fetchall()
#debug.info("display data = " + json.dumps(results, indent=4))
req = (_id,)
cursor.execute('SELECT ' + self.extract_base + ' FROM ' + self.base_name + ' WHERE deleted=false AND id=%s', req)
cursor.execute('SELECT * FROM ' + self.name_view + ' WHERE id=%s', req)
results = cursor.fetchone()
self.connection.commit()
#debug.info("get specific data = " + json.dumps(results))
return results;
@ -137,8 +136,9 @@ class DataInterface():
debug.info("delete " + self.name + ": " + str(_id))
cursor = self.connection.cursor()
req = (_id,)
cursor.execute('UPDATE ' + self.base_name + ' SET deleted=true WHERE id=%s', req)
cursor.execute('UPDATE ' + self.base_name + ' SET deleted=true WHERE id=%s' + self.where_expand, req)
self.mark_to_store();
self.connection.commit()
return True
def is_value_modifiable_and_good_type(self, _key, _value):
@ -168,6 +168,7 @@ class DataInterface():
# The key does not exist ...
debug.warning("The KEY: '" + str(_key) + "' Is not in the list of availlable keys");
raise ServerError("FORBIDDEN The KEY: '" + str(_key) + "' Is not in the list of availlable keys", status_code=403)
return False
def put(self, _id, _value):
debug.info("put in " + self.name + ": " + str(_id))
@ -186,22 +187,40 @@ class DataInterface():
request += " , "
list_data.append(_value[elem])
request += " " + elem + " = %s"
request += " WHERE id = %s "
request += " WHERE id = %s " + self.where_expand
list_data.append(_id)
debug.info("Request executed : '" + request + "'")
cursor.execute(request, list_data)
self.mark_to_store();
return True
return self.get(iddd);
def post(self, _value):
debug.info("post " + self.name)
"""
if self.check_with_model(_value) == False:
raise ServerError("Corelation with BDD error", status_code=404)
self.bdd.append(_value)
"""
cursor = self.connection.cursor()
request = 'INSERT INTO ' + self.base_name
list_data = []
first = True;
aaa = ""
bbb = ""
for elem in _value.keys():
if elem == "id":
continue
if self.is_value_modifiable_and_good_type(elem, _value[elem]) == False:
return;
if aaa != "":
aaa += " , "
if bbb != "":
bbb += " , "
aaa += elem
bbb += "%s"
list_data.append(_value[elem])
request += " ( " + aaa + ") VALUES ( " + bbb + ") RETURNING id"
debug.info("Request executed : '" + request + "'")
cursor.execute(request, list_data)
id_of_new_row = cursor.fetchone()[0]
self.mark_to_store();
return _value
return self.get(id_of_new_row);

View File

@ -24,11 +24,7 @@ debug.info("create the table:")
c = connection.cursor()
c.execute('''
DROP TABLE IF EXISTS video;
DROP TABLE IF EXISTS univers;
DROP TABLE IF EXISTS saison;
DROP TABLE IF EXISTS type;
DROP TABLE IF EXISTS grp;
DROP TABLE IF EXISTS media;
DROP TABLE IF EXISTS cover_link;
DROP TABLE IF EXISTS node;
DROP TABLE IF EXISTS data;
@ -37,6 +33,11 @@ DROP SEQUENCE IF EXISTS kar_id_sequence;
''');
connection.commit()
c.execute('''
CREATE TYPE node_type AS ENUM ('type', 'univers', 'serie', 'saison', 'media');
CREATE TYPE age_type AS ENUM ('-', '5', '9', '12', '14', '16', '18');
''')
connection.commit()
# Create table
c.execute('''
@ -91,7 +92,6 @@ BEGIN
IF _id IS NULL THEN
RETURN 1;
END IF;
eee = 'select 1 FROM ' || quote_ident(_table) || ' WHERE id = ' || _id;
EXECUTE 'select 1 FROM ' || quote_ident(_table) || ' WHERE id = ' || _id INTO vvv;
IF vvv = 1 THEN
RETURN 1;
@ -103,6 +103,26 @@ $$ LANGUAGE plpgsql;
''')
connection.commit()
c.execute("""
CREATE OR REPLACE FUNCTION check_node_exist(_type character, _id INTEGER)
RETURNS BOOLEAN AS $$
DECLARE vvv int;
DECLARE eee text;
BEGIN
IF _id IS NULL THEN
RETURN 1;
END IF;
EXECUTE 'select 1 FROM node WHERE type = ''' || quote_ident(_type) || ''' AND id = ' || _id INTO vvv;
IF vvv = 1 THEN
RETURN 1;
ELSE
RETURN 0;
END IF;
END;
$$ LANGUAGE plpgsql;
""")
connection.commit()
# Create table
c.execute('''
CREATE TABLE object (
@ -149,11 +169,15 @@ EXECUTE PROCEDURE trigger_set_timestamp();
''')
connection.commit()
# Create table
c.execute('''
CREATE TABLE node (
type node_type NOT NULL,
name TEXT NOT NULL,
description TEXT
description TEXT,
parent_id INTEGER CHECK(check_exist('node', parent_id))
) INHERITS (object);
COMMENT ON TABLE node IS 'Node is a basic element of what must be hierarchie apears.';
COMMENT ON COLUMN node.name IS 'Name of the Node.';
@ -187,96 +211,159 @@ connection.commit()
# Create table
c.execute('''
CREATE TABLE grp () INHERITS (node);
COMMENT ON TABLE grp IS 'Group of the video.';
''')
connection.commit()
c.execute('''
CREATE TRIGGER set_timestamp_grp
BEFORE UPDATE ON grp
FOR EACH ROW
EXECUTE PROCEDURE trigger_set_timestamp();
''')
connection.commit()
# Create table
c.execute('''
CREATE TABLE saison (
group_id INTEGER CHECK(check_exist('grp', group_id))
) INHERITS (node);
COMMENT ON TABLE saison IS 'Saison of the video.';
''')
connection.commit()
c.execute('''
CREATE TRIGGER set_timestamps_saison
BEFORE UPDATE ON saison
FOR EACH ROW
EXECUTE PROCEDURE trigger_set_timestamp();
''')
connection.commit()
# Create table
c.execute('''
CREATE TABLE type () INHERITS (node);
COMMENT ON TABLE type IS 'Type of the video.';
''')
connection.commit()
c.execute('''
CREATE TRIGGER set_timestamp_type
BEFORE UPDATE ON type
FOR EACH ROW
EXECUTE PROCEDURE trigger_set_timestamp();
''')
connection.commit()
# Create table
c.execute('''
CREATE TABLE univers () INHERITS (node);
COMMENT ON TABLE univers IS 'Univers of the video.';
''')
connection.commit()
c.execute('''
CREATE TRIGGER set_timestamp_univers
BEFORE UPDATE ON univers
FOR EACH ROW
EXECUTE PROCEDURE trigger_set_timestamp();
''')
connection.commit()
# Create table
c.execute('''
CREATE TABLE video (
CREATE TABLE media (
data_id INTEGER CHECK(check_exist('data', data_id)),
type_id INTEGER CHECK(check_exist('type', type_id)),
univers_id INTEGER CHECK(check_exist('univers', univers_id)),
group_id INTEGER CHECK(check_exist('grp', group_id)),
saison_id INTEGER CHECK(check_exist('saison', saison_id)),
type_id INTEGER CHECK(check_node_exist('type', type_id)),
univers_id INTEGER CHECK(check_node_exist('univers', univers_id)),
serie_id INTEGER CHECK(check_node_exist('serie', serie_id)),
saison_id INTEGER CHECK(check_node_exist('saison', saison_id)),
episode INTEGER CHECK(episode >=0),
date INTEGER CHECK(date > 1850),
time INTEGER CHECK(time >= 0),
age_limit INTEGER CHECK(age_limit >= 0)
age_limit age_type NOT NULL DEFAULT '-'
) INHERITS (node);
COMMENT ON TABLE video IS 'Video Media that is visible.';
COMMENT ON COLUMN video.episode IS 'Number of the episode in the saison sequence.';
COMMENT ON COLUMN video.date IS 'Simple date in years of the creation of the media.';
COMMENT ON COLUMN video.time IS 'Time in second of the media';
COMMENT ON COLUMN video.age_limit IS 'Limitation of the age to show the display';
COMMENT ON TABLE media IS 'Media Media that is visible.';
COMMENT ON COLUMN media.episode IS 'Number of the episode in the saison sequence.';
COMMENT ON COLUMN media.date IS 'Simple date in years of the creation of the media.';
COMMENT ON COLUMN media.time IS 'Time in second of the media';
COMMENT ON COLUMN media.age_limit IS 'Limitation of the age to show the display ("-" for no limitation)';
''')
# Save (commit) the changes
connection.commit()
c.execute('''
CREATE TRIGGER set_timestamp_video
BEFORE UPDATE ON video
CREATE TRIGGER set_timestamp_media
BEFORE UPDATE ON media
FOR EACH ROW
EXECUTE PROCEDURE trigger_set_timestamp();
''')
connection.commit()
c.execute('''
CREATE VIEW view_type AS
SELECT id, name, description,
array(
SELECT data_id
FROM cover_link
WHERE cover_link.node_id = node.id
) AS covers
FROM node
WHERE deleted = false AND type = 'type'
ORDER BY name;
CREATE VIEW view_univers AS
SELECT id, name, description,
array(
SELECT data_id
FROM cover_link
WHERE cover_link.node_id = node.id
) AS covers
FROM node
WHERE deleted = false AND type = 'univers'
ORDER BY name;
CREATE VIEW view_serie AS
SELECT id, name, description,
array(
SELECT data_id
FROM cover_link
WHERE cover_link.node_id = node.id
) AS covers
FROM node
WHERE deleted = false AND type = 'serie'
ORDER BY name;
CREATE VIEW view_saison AS
SELECT id, name, description, parent_id,
array(
SELECT data_id
FROM cover_link
WHERE cover_link.node_id = node.id
) AS covers
FROM node
WHERE deleted = false AND type = 'saison'
ORDER BY name;
CREATE VIEW view_video AS
SELECT id, name, description, data_id, type_id, univers_id, serie_id, saison_id, episode, date, time, age_limit,
array(
SELECT data_id
FROM cover_link
WHERE cover_link.node_id = media.id
) AS covers
FROM media
WHERE deleted = false AND type = 'media'
ORDER BY name;
''')
connection.commit()
"""
default_values_type = [
{
"id": 0,
"name": "Documentary",
"description": "Documentary (annimals, space, earth...)",
"image": "type_documentary.svg"
},{
"id": 1,
"name": "Movie",
"description": "Movie with real humans (film)",
"image": "type_film.svg"
},{
"id": 2,
"name": "Annimation",
"description": "Annimation movies (film)",
"image": "type_annimation.svg"
},{
"id": 3,
"name": "Short films",
"description": "Small movies (less 2 minutes)",
"image": "type_film-short.svg"
},{
"id": 4,
"name": "TV show",
"description": "Tv show form old peoples",
"image": "type_tv-show.svg"
}, {
"id": 5,
"name": "Anniation tv show",
"description": "Tv show form young peoples",
"image": "type_tv-show-annimation.svg"
}, {
"id": 6,
"name": "Theater",
"description": "recorder theater pices",
"image": "type_theater.svg"
}, {
"id": 7,
"name": "One man show",
"description": "Recorded stand up",
"image": "type_one-man-show.svg"
}, {
"id": 8,
"name": "Concert",
"description": "Recorded concert",
"image": "type_concert.svg"
}, {
"id": 9,
"name": "Opera",
"description": "Recorded Opera",
"image": "type_opera.svg"
}
]
for elem in default_values_type:
print("add type: " + elem["name"]);
request_insert = (elem["name"], elem["description"])
c.execute('INSERT INTO node (type, name, description) VALUES (\'type\', %s, %s) RETURNING id', request_insert)
elem["id"] = c.fetchone()[0]
connection.commit()
"""
# We can also close the connection if we are done with it.
# Just be sure any changes have been committed or they will be lost.
connection.close()
#exit(0);
print(" =================================================== Send DATA ");
import transfert_data
@ -293,7 +380,7 @@ saison_mapping = transfert_saison.transfert_db(data_mapping, type_mapping, group
#print(" =================================================== Send UNIVERS ");
#import transfert_univers
#univers_mapping = transfert_univers.transfert_db(data_mapping, type_mapping, group_mapping)
print(" =================================================== Send VIDEO ");
print(" =================================================== Send Medias ");
import transfert_video
video_mapping = transfert_video.transfert_db(data_mapping, type_mapping, group_mapping, saison_mapping)

View File

@ -57,7 +57,8 @@ def transfert_db():
debug.info("create the table:")
c = connection.cursor()
file_object = open("data_transfer.txt", "w")
file_object2 = open("data_transfer2.txt", "w")
debug.info("insert elements: ")
iii = 0;
for elem in my_old_bdd:
@ -76,9 +77,14 @@ def transfert_db():
id_of_new_row = c.fetchone()[0]
debug.info("data transform: " + str(id) + " => " + str(id_of_new_row))
out[str(id)] = id_of_new_row
file_move("media/" + str(id) + "/video", "media2/" + str(id_of_new_row) + "/data")
file_move("media/" + str(id) + "/meta.json", "media2/" + str(id_of_new_row) + "/meta.json")
file_object.write("mv \"media2/" + str(id_of_new_row) + "/data\" \"media/" + str(id) + "/video\"\n")
file_object.write("mv \"media2/" + str(id_of_new_row) + "/meta.json\" \"media/" + str(id) + "/meta.json\"\n\n")
file_object2.write("mv \"media/" + str(id) + "/video\" \"media2/" + str(id_of_new_row) + "/data\"\n")
file_object2.write("mv \"media/" + str(id) + "/meta.json\" \"media2/" + str(id_of_new_row) + "/meta.json\"\n\n")
#file_move("media/" + str(id) + "/video", "media2/" + str(id_of_new_row) + "/data")
#file_move("media/" + str(id) + "/meta.json", "media2/" + str(id_of_new_row) + "/meta.json")
file_object.close()
file_object2.close()
# Save (commit) the changes
connection.commit()

View File

@ -65,7 +65,7 @@ def transfert_db(data_mapping, type_mapping):
if covers == None:
covers = [];
request_insert = (name, description)
c.execute('INSERT INTO grp (name, description) VALUES (%s,%s) RETURNING id', request_insert)
c.execute('INSERT INTO node (type, name, description) VALUES (\'serie\', %s,%s) RETURNING id', request_insert)
id_of_new_row = c.fetchone()[0]
debug.info("data transform: " + str(id) + " => " + str(id_of_new_row))
out[str(id)] = id_of_new_row

View File

@ -63,7 +63,7 @@ def transfert_db(data_mapping, type_mapping, group_mapping):
if covers == None:
covers = [];
request_insert = (name, description, group_mapping[str(group_id)])
c.execute('INSERT INTO saison (name, description, group_id) VALUES (%s,%s,%s) RETURNING id', request_insert)
c.execute('INSERT INTO node (type, name, description, parent_id) VALUES (\'saison\', %s,%s,%s) RETURNING id', request_insert)
id_of_new_row = c.fetchone()[0]
debug.info("data transform: " + str(id) + " => " + str(id_of_new_row))
out[str(id)] = id_of_new_row

View File

@ -59,7 +59,7 @@ def transfert_db(data_mapping):
if covers == None:
covers = [];
request_insert = (name, description)
c.execute('INSERT INTO type (name, description) VALUES (%s,%s) RETURNING id', request_insert)
c.execute('INSERT INTO node (type, name, description) VALUES (\'type\', %s, %s) RETURNING id', request_insert)
id_of_new_row = c.fetchone()[0]
debug.info("data transform: " + str(id) + " => " + str(id_of_new_row))
out[str(id)] = id_of_new_row

View File

@ -59,7 +59,7 @@ def transfert_db():
if covers == None:
covers = [];
request_insert = (name, description)
c.execute('INSERT INTO univers (name, description) VALUES (%s,%s) RETURNING id', request_insert)
c.execute('INSERT INTO node (type, name, description) VALUES (\'univers\', %s,%s) RETURNING id', request_insert)
id_of_new_row = c.fetchone()[0]
debug.info("data transform: " + str(id) + " => " + str(id_of_new_row))
out[str(id)] = id_of_new_row

View File

@ -103,7 +103,7 @@ def transfert_db(data_mapping, type_mapping, group_mapping, saison_mapping):
else:
time = elem["time"]
request_insert = (time_create, name, description, data_mapping[str(data_id)], type_mapping[str(type_id)], group_mapping[str(group_id)], saison_mapping[str(saison_id)], force_number(date), force_number(episode), time)
c.execute('INSERT INTO video (create_date, name, description, data_id, type_id, group_id, saison_id, date, episode, time) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) RETURNING id', request_insert)
c.execute('INSERT INTO media (type, create_date, name, description, data_id, type_id, serie_id, saison_id, date, episode, time) VALUES (\'media\',%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) RETURNING id', request_insert)
id_of_new_row = c.fetchone()[0]
debug.info("data transform: " + str(id) + " => " + str(id_of_new_row))

View File

@ -68,7 +68,7 @@ export class ElementVideoComponent implements OnInit {
} else {
self.episode_display = response.episode + " - ";
}
self.group_id = response.group_id;
self.group_id = response.serie_id;
self.saison_id = response.saison_id;
self.data_id = response.data_id;
self.time = response.time;

View File

@ -48,7 +48,7 @@ export class SaisonComponent implements OnInit {
this.saisonService.get(this.id_saison)
.then(function(response) {
self.name = response.number;
self.group_id = response.group_id;
self.group_id = response.parent_id;
self.description = response.description;
if (response.covers == undefined || response.covers == null || response.covers.length == 0) {
self.cover = null;

View File

@ -58,7 +58,7 @@ export class VideoComponent implements OnInit {
self.name = response.name;
self.description = response.description;
self.episode = response.episode;
self.group_id = response.group_id;
self.group_id = response.serie_id;
self.saison_id = response.saison_id;
self.data_id = response.data_id;
self.time = response.time;

View File

@ -66,7 +66,7 @@ export class GroupService {
return new Promise((resolve, reject) => {
self.bdd.getVideo()
.then(function(response) {
let data = response.gets_where([["==", "group_id", _id], ["==", "saison_id", null]], ["id"], ["episode", "name"])
let data = response.gets_where([["==", "serie_id", _id], ["==", "saison_id", null]], ["id"], ["episode", "name"])
resolve(data);
}).catch(function(response) {
reject(response);
@ -82,7 +82,7 @@ export class GroupService {
return new Promise((resolve, reject) => {
self.bdd.getSaison()
.then(function(response) {
let data = response.gets_where([["==", "group_id", _id]], ["id"], ["number"])
let data = response.gets_where([["==", "parent_id", _id]], ["id"], ["number"])
if (_select.length == 0) {
resolve(data);
return;

View File

@ -74,7 +74,7 @@ export class TypeService {
return new Promise((resolve, reject) => {
self.bdd.getVideo()
.then(function(response) {
let data = response.gets_where([["==", "type_id", _id], ["==", "group_id", null], ["==", "univers_id", null]], ["id"], ["name"]);
let data = response.gets_where([["==", "type_id", _id], ["==", "serie_id", null], ["==", "univers_id", null]], ["id"], ["name"]);
resolve(data);
}).catch(function(response) {
reject(response);
@ -90,7 +90,7 @@ export class TypeService {
return new Promise((resolve, reject) => {
self.bdd.getVideo()
.then(function(response) {
let data = response.gets_where([["==", "type_id", _id], ["!=", "group_id", null], ["==", "univers_id", null]], ["group_id"], ["name"]);
let data = response.gets_where([["==", "type_id", _id], ["!=", "serie_id", null], ["==", "univers_id", null]], ["serie_id"], ["name"]);
if (_select.length == 0) {
resolve(data);
return;
@ -122,7 +122,7 @@ export class TypeService {
return new Promise((resolve, reject) => {
self.bdd.getVideo()
.then(function(response) {
let data = response.data.gets_where([["==", "type_id", _id], ["==", "group_id", null], ["==", "univers_id", null]], ["univers_id"], ["name"]);
let data = response.data.gets_where([["==", "type_id", _id], ["==", "serie_id", null], ["==", "univers_id", null]], ["univers_id"], ["name"]);
if (_select.length == 0) {
resolve(data);
return;