From 287bccc4984e36ab859f32fd5881540b2a9827c3 Mon Sep 17 00:00:00 2001 From: Taka Date: Thu, 6 Sep 2018 09:31:37 +0000 Subject: [PATCH] Added the French vehicles. --- .../data/default-template-pack/ob_vehicles.j2 | 2 +- .../webapp/data/vehicles/french.json | 291 ++++++++++++++++++ vasl_templates/webapp/static/snippets.js | 12 +- .../webapp/templates/vo-report.html | 7 +- .../vo-reports/vehicles/french/1940.txt | 54 ++++ .../vo-reports/vehicles/french/1941.txt | 54 ++++ .../vo-reports/vehicles/french/1942.txt | 54 ++++ .../vo-reports/vehicles/french/1943.txt | 54 ++++ .../vo-reports/vehicles/french/1944.txt | 54 ++++ .../vo-reports/vehicles/french/1945.txt | 54 ++++ .../webapp/tests/test_vo_reports.py | 2 +- 11 files changed, 633 insertions(+), 5 deletions(-) create mode 100644 vasl_templates/webapp/data/vehicles/french.json create mode 100644 vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1940.txt create mode 100644 vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1941.txt create mode 100644 vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1942.txt create mode 100644 vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1943.txt create mode 100644 vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1944.txt create mode 100644 vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1945.txt diff --git a/vasl_templates/webapp/data/default-template-pack/ob_vehicles.j2 b/vasl_templates/webapp/data/default-template-pack/ob_vehicles.j2 index b01c729..36a36c6 100644 --- a/vasl_templates/webapp/data/default-template-pack/ob_vehicles.j2 +++ b/vasl_templates/webapp/data/default-template-pack/ob_vehicles.j2 @@ -33,7 +33,7 @@ td { margin: 0 ; padding: 0 ; } {%if veh.no_radio%}
{{veh.no_radio}}
{%endif%} - {%if veh.no_if%}
no IF
{%endif%} + {%if veh.no_if%}
{{veh.no_if}}
{%endif%} {%for cap in veh.capabilities%}
{{cap}}
{%endfor%} {%if veh.crew_survival%}
{{veh.crew_survival}}
{%endif%} {%endfor%} diff --git a/vasl_templates/webapp/data/vehicles/french.json b/vasl_templates/webapp/data/vehicles/french.json new file mode 100644 index 0000000..37e3241 --- /dev/null +++ b/vasl_templates/webapp/data/vehicles/french.json @@ -0,0 +1,291 @@ +[ + +{ "name": "FT-17M", + "no_radio": "\u00ae", + "CS#": 2, + "note_number": "1\u2020", + "notes": [ "C" ] +}, +{ "name": "FT-17C", + "no_radio": "\u00ae", + "CS#": 2, + "capabilities2": { "AP": 9 }, + "note_number": "1\u2020", + "notes": [ "C" ] +}, +{ "name": "FT-17 75BS", + "no_radio": "\u00ae", + "CS#": "3:brewup", + "no_if": true, + "note_number": "1\u2020", + "notes": [ "C" ] +}, +{ "name": "AMR 33", + "no_radio": "\u00ae", + "CS#": 2, + "note_number": "2\u2020", + "notes": [ "E" ] +}, +{ "name": "AMR 35", + "no_radio": "\u00ae", + "CS#": 2, + "note_number": "3\u2020", + "notes": [ "E" ] +}, +{ "name": "AMR 35(L)", + "no_radio": "\u00ae", + "CS#": 2, + "note_number": "3\u2020", + "notes": [ "E" ] +}, +{ "name": "R35", + "no_radio": "\u00ae", + "CS#": 2, + "capabilities2": { "AP": 10 }, + "note_number": "4\u2020", + "notes": [ "A\u20201", "C" ] +}, +{ "name": "H35", + "no_radio": "\u00ae", + "CS#": 2, + "capabilities2": { "AP": 10 }, + "note_number": "5\u2020", + "notes": [ "A\u20201", "C", "E" ] +}, +{ "name": "FCM 36", + "no_radio": "\u00ae", + "CS#": 2, + "capabilities2": { "AP": 10 }, + "note_number": "6\u2020", + "notes": [ "C", "E", "I\u20201" ] +}, +{ "name": "H39", + "no_radio": "\u00ae", + "CS#": 2, + "capabilities2": { "AP": 10 }, + "note_number": "7\u2020", + "notes": [ "A\u20201", "C", "F" ] +}, +{ "name": "H39(L)", + "no_radio": "\u00ae", + "CS#": 2, + "capabilities2": { "AP": 10 }, + "note_number": "8\u2020", + "notes": [ "A\u20201", "C", "E", "F" ] +}, +{ "name": "H35(L)", + "no_radio": "\u00ae", + "CS#": 2, + "capabilities2": { "AP": 10 }, + "note_number": "8\u2020", + "notes": [ "A\u20201", "C", "E" ] +}, +{ "name": "R35(L)", + "no_radio": "\u00ae", + "CS#": 2, + "capabilities2": { "AP": 10 }, + "note_number": "8\u2020", + "notes": [ "A\u20201", "C", "E", "F" ] +}, +{ "name": "R40", + "no_radio": "\u00ae", + "CS#": 2, + "capabilities2": { "AP": 10 }, + "note_number": "9", + "notes": [ "A\u20201", "C", "E", "I\u2020" ] +}, +{ "name": "D1", + "no_radio": "\u00ae9\u20201", + "CS#": 3, + "note_number": "10\u2020", + "notes": [ "B\u20203", "C", "I\u20202", "R\u20201" ] +}, +{ "name": "D2", + "no_radio": "\u00ae9\u20201", + "CS#": 3, + "note_number": "11\u2020", + "notes": [ "B\u20203", "C", "E", "I\u20202", "R\u20201" ] +}, +{ "name": "D2(L)", + "no_radio": "\u00ae9\u20201", + "CS#": 3, + "note_number": "11\u2020", + "notes": [ "A\u20204", "B\u20203", "C", "E", "I\u20202", "R\u20201" ] +}, +{ "name": "S35", + "no_radio": "\u00ae9\u20201", + "CS#": 4, + "note_number": "12\u2020", + "notes": [ "A\u20203", "C", "F", "I\u20202", "R\u20201" ] +}, +{ "name": "B1-bis", + "no_radio": "\u00ae9\u20201", + "CS#": "5:brewup", + "no_if": "75\u2020", + "capabilities": [ "AP975\u2020" ], + "note_number": "13\u2020", + "notes": [ "A\u20204", "B\u20203", "C", "E", "F", "I\u20202", "R\u20201" ] +}, +{ "name": "Valentine V(b)", + "CS#": 4, + "capabilities2": { "sM": 8 }, + "note_number": "14\u2020", + "notes": [ "F" ] +}, +{ "name": "AM Dodge(a)", + "CS#": "6\u2020", + "capabilities2": { "AP": 10 }, + "note_number": "15\u2020", + "notes": [ "F" ] +}, +{ "name": "AMD 20 cv TOE", + "no_radio": "\u00ae9\u20201", + "CS#": 4, + "capabilities2": { "AP": 9 }, + "note_number": "16\u2020", + "notes": [ "D\u20202", "R\u20201" ] +}, +{ "name": "AMD 50 AM", + "no_radio": "\u00ae", + "CS#": 4, + "capabilities2": { "AP": 9 }, + "note_number": "17\u2020", + "notes": [ "D\u20201" ] +}, +{ "name": "AMD 80 AM", + "no_radio": "\u00ae", + "CS#": 4, + "note_number": "17\u2020", + "notes": [ "D\u20201" ] +}, +{ "name": "AMD 35", + "no_radio": "\u00ae", + "CS#": 4, + "note_number": "18\u2020", + "notes": [ "E" ] +}, +{ "name": "Laffly W15T CC", + "CS#": 3, + "note_number": "19\u2020", + "notes": [ "E", "J\u20201" ] +}, +{ "name": "Ac de 75 Conus(b)", + "CS#": 5, + "capabilities2": { "s": 8 }, + "note_number": "20\u2020", + "notes": [ "F", "M\u20201" ] +}, +{ "name": "Ac de 75 mle 97", + "CS#": 4, + "capabilities2": { "s": 8 }, + "note_number": "20\u2020", + "notes": [ "M\u20201" ] +}, +{ "name": "Camion de Mitr. CA", + "CS#": 4, + "note_number": "21\u2020" +}, +{ "name": "Camion de 13.2 CAJ", + "CS#": 4, + "note_number": "21\u2020", + "notes": [ "AA\u20201" ] +}, +{ "name": "Camion de 20 CA", + "CS#": 4, + "note_number": "21\u2020", + "notes": [ "AA\u20201" ] +}, +{ "name": "Ac de 25 CA", + "CS#": 4, + "note_number": "21\u2020", + "notes": [ "F", "AA\u20201" ] +}, +{ "name": "Ac de 40 CA(a)", + "CS#": 4, + "note_number": "22", + "notes": [ "E", "F", "M\u2020", "AA\u20201" ] +}, +{ "name": "Ac de 75 mle 13/34", + "CS#": 7, + "note_number": "23\u2020", + "notes": [ "D\u20201", "F", "AA\u20202" ] +}, +{ "name": "AMC 29", + "no_radio": "\u00ae", + "CS#": 3, + "capabilities2": { "AP": 9 }, + "note_number": "24\u2020" +}, +{ "name": "C-K P17", + "cs#": 4, + "note_number": "25\u2020" +}, +{ "name": "C-K P19", + "cs#": 5, + "note_number": "25\u2020", + "notes": [ "H\u20201" ] +}, +{ "name": "SOMUA MCG", + "cs#": 4, + "note_number": "26\u2020" +}, +{ "name": "Unic P107", + "cs#": 5, + "note_number": "27\u2020", + "notes": [ "L\u20201" ] +}, +{ "name": "Renault UE", + "cs#": "2\u20201", + "note_number": "28\u2020", + "notes": [ "G\u20201", "K" ] +}, +{ "name": "Lorraine 38L", + "cs#": "3/2\u2020", + "note_number": "29\u2020", + "notes": [ "E", "H\u2020" ] +}, +{ "name": "Lorraine 37L 44", + "CS#": 3, + "note_number": "30\u2020", + "notes": [ "E", "K" ] +}, +{ "name": "Carrier AC(b)", + "CS#": 3, + "note_number": "31\u2020", + "notes": [ "F", "M\u20201" ] +}, +{ "name": "Latil TAR H2", + "cs#": 5, + "note_number": "32\u2020", + "notes": [ "J\u20201" ] +}, +{ "name": "Laffly S15T", + "cs#": 5, + "note_number": "33\u2020", + "notes": [ "J\u20201", "L\u20202" ] +}, +{ "name": "Laffly S20TL", + "cs#": 5, + "note_number": "34\u2020", + "notes": [ "E", "J\u20201" ] +}, +{ "name": "Laffly V15T", + "cs#": 5, + "note_number": "35", + "notes": [ "E", "J\u2020" ] +}, +{ "name": "Peugeot 202", + "cs#": "2\u20201", + "note_number": "36\u2020", + "notes": [ "G\u20201" ] +}, +{ "name": "Citro\u00ebn 23", + "cs#": 5, + "note_number": "36\u2020" +}, +{ "name": "Renault AGR2", + "cs#": 7, + "note_number": "36\u2020" +} + +] diff --git a/vasl_templates/webapp/static/snippets.js b/vasl_templates/webapp/static/snippets.js index 84db2a4..11541cc 100644 --- a/vasl_templates/webapp/static/snippets.js +++ b/vasl_templates/webapp/static/snippets.js @@ -219,8 +219,16 @@ function unload_snippet_params( params, check_date_capabilities ) } ; if ( entry.no_radio ) obj.no_radio = entry.no_radio ; - if ( entry.no_if ) - obj.no_if = entry.no_if ; + if ( entry.no_if ) { + obj.no_if = "no IF" ; + if ( typeof(entry.no_if) === "string" ) { // nb: only for the French B1-bis :-/ + var no_if = entry.no_if ; + if ( no_if.substring(no_if.length-1) == "\u2020" ) + obj.no_if += ""+no_if.substring(0,no_if.length-1)+"\u2020" ; + else + obj.no_if += ""+no_if+"" ; + } + } // NOTE: It would be nice to have a Jinja2 filter that inserted the raw capabilities or selected // the correct one for the scenario date e.g. // {% for c in veh.capabilities %} {{c|selcap}} {%endif%}} diff --git a/vasl_templates/webapp/templates/vo-report.html b/vasl_templates/webapp/templates/vo-report.html index 9ba2663..ff032ee 100644 --- a/vasl_templates/webapp/templates/vo-report.html +++ b/vasl_templates/webapp/templates/vo-report.html @@ -71,7 +71,12 @@ function load_vo_listings( objs ) buf.push( "", fmtval(obj.name) ) ; if ( "{{VO_TYPE}}" === "vehicles" ) { buf.push( "", fmtval(obj.no_radio) ) ; - buf.push( "", fmtval( obj.no_if ? "" : "✓" ) ) ; + var has_if = "✓" ; + if ( typeof(obj.no_if) === "string" ) // nb: only for the French B1-bis :-/ + has_if = "(" + obj.no_if + ")" ; + else if ( obj.no_if ) + has_if = null ; + buf.push( "", fmtval(has_if) ) ; buf.push( "", fmtval(make_crew_survival(obj)) ) ; } var capabilities = make_capabilities( obj, theater, year, month, true, true ) ; diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1940.txt new file mode 100644 index 0000000..8e6ef35 --- /dev/null +++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1940.txt @@ -0,0 +1,54 @@ +=== vehicles/french/1940 === + +Name Radio IF Crew survival Capabilities (effective) # Notes +------------------ --------------- ----- ------------------------------------ -------------- ------------- --- ----------------------------------------------------------------- +FT-17M ® yes CS 2 n/a n/a 1† C +FT-17C ® yes CS 2 AP9 AP9 1† C +FT-17 75BS ® n/a CS 3 (brew up) n/a n/a 1† C +AMR 33 ® yes CS 2 n/a n/a 2† E +AMR 35 ® yes CS 2 n/a n/a 3† E +AMR 35(L) ® yes CS 2 n/a n/a 3† E +R35 ® yes CS 2 AP10 AP10 4† A†1 C +H35 ® yes CS 2 AP10 AP10 5† A†1 C E +FCM 36 ® yes CS 2 AP10 AP10 6† C E I†1 +H39 ® yes CS 2 AP10 AP10 7† A†1 C F +H39(L) ® yes CS 2 AP10 AP10 8† A†1 C E F +H35(L) ® yes CS 2 AP10 AP10 8† A†1 C E +R35(L) ® yes CS 2 AP10 AP10 8† A†1 C E F +R40 ® yes CS 2 AP10 AP10 9 A†1 C E I† +D1 ®9†1 yes CS 3 n/a n/a 10† B†3 C I†2 R†1 +D2 ®9†1 yes CS 3 n/a n/a 11† B†3 C E I†2 R†1 +D2(L) ®9†1 yes CS 3 n/a n/a 11† A†4 B†3 C E I†2 R†1 +S35 ®9†1 yes CS 4 n/a n/a 12† A†3 C F I†2 R†1 +B1-bis ®9†1 (75†) CS 5 (brew up) AP9[75]† AP9[75]† 13† A†4 B†3 C E F I†2 R†1 +Valentine V(b) n/a yes CS 4 sM8 sM8 14† F +AM Dodge(a) n/a yes CS 6† AP10 AP10 15† F +AMD 20 cv TOE ®9†1 yes CS 4 AP9 AP9 16† D†2 R†1 +AMD 50 AM ® yes CS 4 AP9 AP9 17† D†1 +AMD 80 AM ® yes CS 4 n/a n/a 17† D†1 +AMD 35 ® yes CS 4 n/a n/a 18† E +Laffly W15T CC n/a yes CS 3 n/a n/a 19† E J†1 +Ac de 75 Conus(b) n/a yes CS 5 s8 s8 20† F M†1 +Ac de 75 mle 97 n/a yes CS 4 s8 s8 20† M†1 +Camion de Mitr. CA n/a yes CS 4 n/a n/a 21† n/a +Camion de 13.2 CAJ n/a yes CS 4 n/a n/a 21† AA†1 +Camion de 20 CA n/a yes CS 4 n/a n/a 21† AA†1 +Ac de 25 CA n/a yes CS 4 n/a n/a 21† F AA†1 +Ac de 40 CA(a) n/a yes CS 4 n/a n/a 22 E F M† AA†1 +Ac de 75 mle 13/34 n/a yes CS 7 n/a n/a 23† D†1 F AA†2 +AMC 29 ® yes CS 3 AP9 AP9 24† n/a +C-K P17 n/a yes cs 4 n/a n/a 25† n/a +C-K P19 n/a yes cs 5 n/a n/a 25† H†1 +SOMUA MCG n/a yes cs 4 n/a n/a 26† n/a +Unic P107 n/a yes cs 5 n/a n/a 27† L†1 +Renault UE n/a yes cs 2†1 n/a n/a 28† G†1 K +Lorraine 38L n/a yes cs 3/2† n/a n/a 29† E H† +Lorraine 37L 44 n/a yes CS 3 n/a n/a 30† E K +Carrier AC(b) n/a yes CS 3 n/a n/a 31† F M†1 +Latil TAR H2 n/a yes cs 5 n/a n/a 32† J†1 +Laffly S15T n/a yes cs 5 n/a n/a 33† J†1 L†2 +Laffly S20TL n/a yes cs 5 n/a n/a 34† E J†1 +Laffly V15T n/a yes cs 5 n/a n/a 35 E J† +Peugeot 202 n/a yes cs 2†1 n/a n/a 36† G†1 +Citroën 23 n/a yes cs 5 n/a n/a 36† n/a +Renault AGR2 n/a yes cs 7 n/a n/a 36† n/a diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1941.txt new file mode 100644 index 0000000..1804bd0 --- /dev/null +++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1941.txt @@ -0,0 +1,54 @@ +=== vehicles/french/1941 === + +Name Radio IF Crew survival Capabilities (effective) # Notes +------------------ --------------- ----- ------------------------------------ -------------- ------------- --- ----------------------------------------------------------------- +FT-17M ® yes CS 2 n/a n/a 1† C +FT-17C ® yes CS 2 AP9 AP9 1† C +FT-17 75BS ® n/a CS 3 (brew up) n/a n/a 1† C +AMR 33 ® yes CS 2 n/a n/a 2† E +AMR 35 ® yes CS 2 n/a n/a 3† E +AMR 35(L) ® yes CS 2 n/a n/a 3† E +R35 ® yes CS 2 AP10 AP10 4† A†1 C +H35 ® yes CS 2 AP10 AP10 5† A†1 C E +FCM 36 ® yes CS 2 AP10 AP10 6† C E I†1 +H39 ® yes CS 2 AP10 AP10 7† A†1 C F +H39(L) ® yes CS 2 AP10 AP10 8† A†1 C E F +H35(L) ® yes CS 2 AP10 AP10 8† A†1 C E +R35(L) ® yes CS 2 AP10 AP10 8† A†1 C E F +R40 ® yes CS 2 AP10 AP10 9 A†1 C E I† +D1 ®9†1 yes CS 3 n/a n/a 10† B†3 C I†2 R†1 +D2 ®9†1 yes CS 3 n/a n/a 11† B†3 C E I†2 R†1 +D2(L) ®9†1 yes CS 3 n/a n/a 11† A†4 B†3 C E I†2 R†1 +S35 ®9†1 yes CS 4 n/a n/a 12† A†3 C F I†2 R†1 +B1-bis ®9†1 (75†) CS 5 (brew up) AP9[75]† AP9[75]† 13† A†4 B†3 C E F I†2 R†1 +Valentine V(b) n/a yes CS 4 sM8 sM8 14† F +AM Dodge(a) n/a yes CS 6† AP10 AP10 15† F +AMD 20 cv TOE ®9†1 yes CS 4 AP9 AP9 16† D†2 R†1 +AMD 50 AM ® yes CS 4 AP9 AP9 17† D†1 +AMD 80 AM ® yes CS 4 n/a n/a 17† D†1 +AMD 35 ® yes CS 4 n/a n/a 18† E +Laffly W15T CC n/a yes CS 3 n/a n/a 19† E J†1 +Ac de 75 Conus(b) n/a yes CS 5 s8 s8 20† F M†1 +Ac de 75 mle 97 n/a yes CS 4 s8 s8 20† M†1 +Camion de Mitr. CA n/a yes CS 4 n/a n/a 21† n/a +Camion de 13.2 CAJ n/a yes CS 4 n/a n/a 21† AA†1 +Camion de 20 CA n/a yes CS 4 n/a n/a 21† AA†1 +Ac de 25 CA n/a yes CS 4 n/a n/a 21† F AA†1 +Ac de 40 CA(a) n/a yes CS 4 n/a n/a 22 E F M† AA†1 +Ac de 75 mle 13/34 n/a yes CS 7 n/a n/a 23† D†1 F AA†2 +AMC 29 ® yes CS 3 AP9 AP9 24† n/a +C-K P17 n/a yes cs 4 n/a n/a 25† n/a +C-K P19 n/a yes cs 5 n/a n/a 25† H†1 +SOMUA MCG n/a yes cs 4 n/a n/a 26† n/a +Unic P107 n/a yes cs 5 n/a n/a 27† L†1 +Renault UE n/a yes cs 2†1 n/a n/a 28† G†1 K +Lorraine 38L n/a yes cs 3/2† n/a n/a 29† E H† +Lorraine 37L 44 n/a yes CS 3 n/a n/a 30† E K +Carrier AC(b) n/a yes CS 3 n/a n/a 31† F M†1 +Latil TAR H2 n/a yes cs 5 n/a n/a 32† J†1 +Laffly S15T n/a yes cs 5 n/a n/a 33† J†1 L†2 +Laffly S20TL n/a yes cs 5 n/a n/a 34† E J†1 +Laffly V15T n/a yes cs 5 n/a n/a 35 E J† +Peugeot 202 n/a yes cs 2†1 n/a n/a 36† G†1 +Citroën 23 n/a yes cs 5 n/a n/a 36† n/a +Renault AGR2 n/a yes cs 7 n/a n/a 36† n/a diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1942.txt new file mode 100644 index 0000000..dc9d6a9 --- /dev/null +++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1942.txt @@ -0,0 +1,54 @@ +=== vehicles/french/1942 === + +Name Radio IF Crew survival Capabilities (effective) # Notes +------------------ --------------- ----- ------------------------------------ -------------- ------------- --- ----------------------------------------------------------------- +FT-17M ® yes CS 2 n/a n/a 1† C +FT-17C ® yes CS 2 AP9 AP9 1† C +FT-17 75BS ® n/a CS 3 (brew up) n/a n/a 1† C +AMR 33 ® yes CS 2 n/a n/a 2† E +AMR 35 ® yes CS 2 n/a n/a 3† E +AMR 35(L) ® yes CS 2 n/a n/a 3† E +R35 ® yes CS 2 AP10 AP10 4† A†1 C +H35 ® yes CS 2 AP10 AP10 5† A†1 C E +FCM 36 ® yes CS 2 AP10 AP10 6† C E I†1 +H39 ® yes CS 2 AP10 AP10 7† A†1 C F +H39(L) ® yes CS 2 AP10 AP10 8† A†1 C E F +H35(L) ® yes CS 2 AP10 AP10 8† A†1 C E +R35(L) ® yes CS 2 AP10 AP10 8† A†1 C E F +R40 ® yes CS 2 AP10 AP10 9 A†1 C E I† +D1 ®9†1 yes CS 3 n/a n/a 10† B†3 C I†2 R†1 +D2 ®9†1 yes CS 3 n/a n/a 11† B†3 C E I†2 R†1 +D2(L) ®9†1 yes CS 3 n/a n/a 11† A†4 B†3 C E I†2 R†1 +S35 ®9†1 yes CS 4 n/a n/a 12† A†3 C F I†2 R†1 +B1-bis ®9†1 (75†) CS 5 (brew up) AP9[75]† AP9[75]† 13† A†4 B†3 C E F I†2 R†1 +Valentine V(b) n/a yes CS 4 sM8 sM8 14† F +AM Dodge(a) n/a yes CS 6† AP10 AP10 15† F +AMD 20 cv TOE ®9†1 yes CS 4 AP9 AP9 16† D†2 R†1 +AMD 50 AM ® yes CS 4 AP9 AP9 17† D†1 +AMD 80 AM ® yes CS 4 n/a n/a 17† D†1 +AMD 35 ® yes CS 4 n/a n/a 18† E +Laffly W15T CC n/a yes CS 3 n/a n/a 19† E J†1 +Ac de 75 Conus(b) n/a yes CS 5 s8 s8 20† F M†1 +Ac de 75 mle 97 n/a yes CS 4 s8 s8 20† M†1 +Camion de Mitr. CA n/a yes CS 4 n/a n/a 21† n/a +Camion de 13.2 CAJ n/a yes CS 4 n/a n/a 21† AA†1 +Camion de 20 CA n/a yes CS 4 n/a n/a 21† AA†1 +Ac de 25 CA n/a yes CS 4 n/a n/a 21† F AA†1 +Ac de 40 CA(a) n/a yes CS 4 n/a n/a 22 E F M† AA†1 +Ac de 75 mle 13/34 n/a yes CS 7 n/a n/a 23† D†1 F AA†2 +AMC 29 ® yes CS 3 AP9 AP9 24† n/a +C-K P17 n/a yes cs 4 n/a n/a 25† n/a +C-K P19 n/a yes cs 5 n/a n/a 25† H†1 +SOMUA MCG n/a yes cs 4 n/a n/a 26† n/a +Unic P107 n/a yes cs 5 n/a n/a 27† L†1 +Renault UE n/a yes cs 2†1 n/a n/a 28† G†1 K +Lorraine 38L n/a yes cs 3/2† n/a n/a 29† E H† +Lorraine 37L 44 n/a yes CS 3 n/a n/a 30† E K +Carrier AC(b) n/a yes CS 3 n/a n/a 31† F M†1 +Latil TAR H2 n/a yes cs 5 n/a n/a 32† J†1 +Laffly S15T n/a yes cs 5 n/a n/a 33† J†1 L†2 +Laffly S20TL n/a yes cs 5 n/a n/a 34† E J†1 +Laffly V15T n/a yes cs 5 n/a n/a 35 E J† +Peugeot 202 n/a yes cs 2†1 n/a n/a 36† G†1 +Citroën 23 n/a yes cs 5 n/a n/a 36† n/a +Renault AGR2 n/a yes cs 7 n/a n/a 36† n/a diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1943.txt new file mode 100644 index 0000000..b5bc8f4 --- /dev/null +++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1943.txt @@ -0,0 +1,54 @@ +=== vehicles/french/1943 === + +Name Radio IF Crew survival Capabilities (effective) # Notes +------------------ --------------- ----- ------------------------------------ -------------- ------------- --- ----------------------------------------------------------------- +FT-17M ® yes CS 2 n/a n/a 1† C +FT-17C ® yes CS 2 AP9 AP9 1† C +FT-17 75BS ® n/a CS 3 (brew up) n/a n/a 1† C +AMR 33 ® yes CS 2 n/a n/a 2† E +AMR 35 ® yes CS 2 n/a n/a 3† E +AMR 35(L) ® yes CS 2 n/a n/a 3† E +R35 ® yes CS 2 AP10 AP10 4† A†1 C +H35 ® yes CS 2 AP10 AP10 5† A†1 C E +FCM 36 ® yes CS 2 AP10 AP10 6† C E I†1 +H39 ® yes CS 2 AP10 AP10 7† A†1 C F +H39(L) ® yes CS 2 AP10 AP10 8† A†1 C E F +H35(L) ® yes CS 2 AP10 AP10 8† A†1 C E +R35(L) ® yes CS 2 AP10 AP10 8† A†1 C E F +R40 ® yes CS 2 AP10 AP10 9 A†1 C E I† +D1 ®9†1 yes CS 3 n/a n/a 10† B†3 C I†2 R†1 +D2 ®9†1 yes CS 3 n/a n/a 11† B†3 C E I†2 R†1 +D2(L) ®9†1 yes CS 3 n/a n/a 11† A†4 B†3 C E I†2 R†1 +S35 ®9†1 yes CS 4 n/a n/a 12† A†3 C F I†2 R†1 +B1-bis ®9†1 (75†) CS 5 (brew up) AP9[75]† AP9[75]† 13† A†4 B†3 C E F I†2 R†1 +Valentine V(b) n/a yes CS 4 sM8 sM8 14† F +AM Dodge(a) n/a yes CS 6† AP10 AP10 15† F +AMD 20 cv TOE ®9†1 yes CS 4 AP9 AP9 16† D†2 R†1 +AMD 50 AM ® yes CS 4 AP9 AP9 17† D†1 +AMD 80 AM ® yes CS 4 n/a n/a 17† D†1 +AMD 35 ® yes CS 4 n/a n/a 18† E +Laffly W15T CC n/a yes CS 3 n/a n/a 19† E J†1 +Ac de 75 Conus(b) n/a yes CS 5 s8 s8 20† F M†1 +Ac de 75 mle 97 n/a yes CS 4 s8 s8 20† M†1 +Camion de Mitr. CA n/a yes CS 4 n/a n/a 21† n/a +Camion de 13.2 CAJ n/a yes CS 4 n/a n/a 21† AA†1 +Camion de 20 CA n/a yes CS 4 n/a n/a 21† AA†1 +Ac de 25 CA n/a yes CS 4 n/a n/a 21† F AA†1 +Ac de 40 CA(a) n/a yes CS 4 n/a n/a 22 E F M† AA†1 +Ac de 75 mle 13/34 n/a yes CS 7 n/a n/a 23† D†1 F AA†2 +AMC 29 ® yes CS 3 AP9 AP9 24† n/a +C-K P17 n/a yes cs 4 n/a n/a 25† n/a +C-K P19 n/a yes cs 5 n/a n/a 25† H†1 +SOMUA MCG n/a yes cs 4 n/a n/a 26† n/a +Unic P107 n/a yes cs 5 n/a n/a 27† L†1 +Renault UE n/a yes cs 2†1 n/a n/a 28† G†1 K +Lorraine 38L n/a yes cs 3/2† n/a n/a 29† E H† +Lorraine 37L 44 n/a yes CS 3 n/a n/a 30† E K +Carrier AC(b) n/a yes CS 3 n/a n/a 31† F M†1 +Latil TAR H2 n/a yes cs 5 n/a n/a 32† J†1 +Laffly S15T n/a yes cs 5 n/a n/a 33† J†1 L†2 +Laffly S20TL n/a yes cs 5 n/a n/a 34† E J†1 +Laffly V15T n/a yes cs 5 n/a n/a 35 E J† +Peugeot 202 n/a yes cs 2†1 n/a n/a 36† G†1 +Citroën 23 n/a yes cs 5 n/a n/a 36† n/a +Renault AGR2 n/a yes cs 7 n/a n/a 36† n/a diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1944.txt new file mode 100644 index 0000000..afdd239 --- /dev/null +++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1944.txt @@ -0,0 +1,54 @@ +=== vehicles/french/1944 === + +Name Radio IF Crew survival Capabilities (effective) # Notes +------------------ --------------- ----- ------------------------------------ -------------- ------------- --- ----------------------------------------------------------------- +FT-17M ® yes CS 2 n/a n/a 1† C +FT-17C ® yes CS 2 AP9 AP9 1† C +FT-17 75BS ® n/a CS 3 (brew up) n/a n/a 1† C +AMR 33 ® yes CS 2 n/a n/a 2† E +AMR 35 ® yes CS 2 n/a n/a 3† E +AMR 35(L) ® yes CS 2 n/a n/a 3† E +R35 ® yes CS 2 AP10 AP10 4† A†1 C +H35 ® yes CS 2 AP10 AP10 5† A†1 C E +FCM 36 ® yes CS 2 AP10 AP10 6† C E I†1 +H39 ® yes CS 2 AP10 AP10 7† A†1 C F +H39(L) ® yes CS 2 AP10 AP10 8† A†1 C E F +H35(L) ® yes CS 2 AP10 AP10 8† A†1 C E +R35(L) ® yes CS 2 AP10 AP10 8† A†1 C E F +R40 ® yes CS 2 AP10 AP10 9 A†1 C E I† +D1 ®9†1 yes CS 3 n/a n/a 10† B†3 C I†2 R†1 +D2 ®9†1 yes CS 3 n/a n/a 11† B†3 C E I†2 R†1 +D2(L) ®9†1 yes CS 3 n/a n/a 11† A†4 B†3 C E I†2 R†1 +S35 ®9†1 yes CS 4 n/a n/a 12† A†3 C F I†2 R†1 +B1-bis ®9†1 (75†) CS 5 (brew up) AP9[75]† AP9[75]† 13† A†4 B†3 C E F I†2 R†1 +Valentine V(b) n/a yes CS 4 sM8 sM8 14† F +AM Dodge(a) n/a yes CS 6† AP10 AP10 15† F +AMD 20 cv TOE ®9†1 yes CS 4 AP9 AP9 16† D†2 R†1 +AMD 50 AM ® yes CS 4 AP9 AP9 17† D†1 +AMD 80 AM ® yes CS 4 n/a n/a 17† D†1 +AMD 35 ® yes CS 4 n/a n/a 18† E +Laffly W15T CC n/a yes CS 3 n/a n/a 19† E J†1 +Ac de 75 Conus(b) n/a yes CS 5 s8 s8 20† F M†1 +Ac de 75 mle 97 n/a yes CS 4 s8 s8 20† M†1 +Camion de Mitr. CA n/a yes CS 4 n/a n/a 21† n/a +Camion de 13.2 CAJ n/a yes CS 4 n/a n/a 21† AA†1 +Camion de 20 CA n/a yes CS 4 n/a n/a 21† AA†1 +Ac de 25 CA n/a yes CS 4 n/a n/a 21† F AA†1 +Ac de 40 CA(a) n/a yes CS 4 n/a n/a 22 E F M† AA†1 +Ac de 75 mle 13/34 n/a yes CS 7 n/a n/a 23† D†1 F AA†2 +AMC 29 ® yes CS 3 AP9 AP9 24† n/a +C-K P17 n/a yes cs 4 n/a n/a 25† n/a +C-K P19 n/a yes cs 5 n/a n/a 25† H†1 +SOMUA MCG n/a yes cs 4 n/a n/a 26† n/a +Unic P107 n/a yes cs 5 n/a n/a 27† L†1 +Renault UE n/a yes cs 2†1 n/a n/a 28† G†1 K +Lorraine 38L n/a yes cs 3/2† n/a n/a 29† E H† +Lorraine 37L 44 n/a yes CS 3 n/a n/a 30† E K +Carrier AC(b) n/a yes CS 3 n/a n/a 31† F M†1 +Latil TAR H2 n/a yes cs 5 n/a n/a 32† J†1 +Laffly S15T n/a yes cs 5 n/a n/a 33† J†1 L†2 +Laffly S20TL n/a yes cs 5 n/a n/a 34† E J†1 +Laffly V15T n/a yes cs 5 n/a n/a 35 E J† +Peugeot 202 n/a yes cs 2†1 n/a n/a 36† G†1 +Citroën 23 n/a yes cs 5 n/a n/a 36† n/a +Renault AGR2 n/a yes cs 7 n/a n/a 36† n/a diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1945.txt new file mode 100644 index 0000000..33d96e1 --- /dev/null +++ b/vasl_templates/webapp/tests/fixtures/vo-reports/vehicles/french/1945.txt @@ -0,0 +1,54 @@ +=== vehicles/french/1945 === + +Name Radio IF Crew survival Capabilities (effective) # Notes +------------------ --------------- ----- ------------------------------------ -------------- ------------- --- ----------------------------------------------------------------- +FT-17M ® yes CS 2 n/a n/a 1† C +FT-17C ® yes CS 2 AP9 AP9 1† C +FT-17 75BS ® n/a CS 3 (brew up) n/a n/a 1† C +AMR 33 ® yes CS 2 n/a n/a 2† E +AMR 35 ® yes CS 2 n/a n/a 3† E +AMR 35(L) ® yes CS 2 n/a n/a 3† E +R35 ® yes CS 2 AP10 AP10 4† A†1 C +H35 ® yes CS 2 AP10 AP10 5† A†1 C E +FCM 36 ® yes CS 2 AP10 AP10 6† C E I†1 +H39 ® yes CS 2 AP10 AP10 7† A†1 C F +H39(L) ® yes CS 2 AP10 AP10 8† A†1 C E F +H35(L) ® yes CS 2 AP10 AP10 8† A†1 C E +R35(L) ® yes CS 2 AP10 AP10 8† A†1 C E F +R40 ® yes CS 2 AP10 AP10 9 A†1 C E I† +D1 ®9†1 yes CS 3 n/a n/a 10† B†3 C I†2 R†1 +D2 ®9†1 yes CS 3 n/a n/a 11† B†3 C E I†2 R†1 +D2(L) ®9†1 yes CS 3 n/a n/a 11† A†4 B†3 C E I†2 R†1 +S35 ®9†1 yes CS 4 n/a n/a 12† A†3 C F I†2 R†1 +B1-bis ®9†1 (75†) CS 5 (brew up) AP9[75]† AP9[75]† 13† A†4 B†3 C E F I†2 R†1 +Valentine V(b) n/a yes CS 4 sM8 sM8 14† F +AM Dodge(a) n/a yes CS 6† AP10 AP10 15† F +AMD 20 cv TOE ®9†1 yes CS 4 AP9 AP9 16† D†2 R†1 +AMD 50 AM ® yes CS 4 AP9 AP9 17† D†1 +AMD 80 AM ® yes CS 4 n/a n/a 17† D†1 +AMD 35 ® yes CS 4 n/a n/a 18† E +Laffly W15T CC n/a yes CS 3 n/a n/a 19† E J†1 +Ac de 75 Conus(b) n/a yes CS 5 s8 s8 20† F M†1 +Ac de 75 mle 97 n/a yes CS 4 s8 s8 20† M†1 +Camion de Mitr. CA n/a yes CS 4 n/a n/a 21† n/a +Camion de 13.2 CAJ n/a yes CS 4 n/a n/a 21† AA†1 +Camion de 20 CA n/a yes CS 4 n/a n/a 21† AA†1 +Ac de 25 CA n/a yes CS 4 n/a n/a 21† F AA†1 +Ac de 40 CA(a) n/a yes CS 4 n/a n/a 22 E F M† AA†1 +Ac de 75 mle 13/34 n/a yes CS 7 n/a n/a 23† D†1 F AA†2 +AMC 29 ® yes CS 3 AP9 AP9 24† n/a +C-K P17 n/a yes cs 4 n/a n/a 25† n/a +C-K P19 n/a yes cs 5 n/a n/a 25† H†1 +SOMUA MCG n/a yes cs 4 n/a n/a 26† n/a +Unic P107 n/a yes cs 5 n/a n/a 27† L†1 +Renault UE n/a yes cs 2†1 n/a n/a 28† G†1 K +Lorraine 38L n/a yes cs 3/2† n/a n/a 29† E H† +Lorraine 37L 44 n/a yes CS 3 n/a n/a 30† E K +Carrier AC(b) n/a yes CS 3 n/a n/a 31† F M†1 +Latil TAR H2 n/a yes cs 5 n/a n/a 32† J†1 +Laffly S15T n/a yes cs 5 n/a n/a 33† J†1 L†2 +Laffly S20TL n/a yes cs 5 n/a n/a 34† E J†1 +Laffly V15T n/a yes cs 5 n/a n/a 35 E J† +Peugeot 202 n/a yes cs 2†1 n/a n/a 36† G†1 +Citroën 23 n/a yes cs 5 n/a n/a 36† n/a +Renault AGR2 n/a yes cs 7 n/a n/a 36† n/a diff --git a/vasl_templates/webapp/tests/test_vo_reports.py b/vasl_templates/webapp/tests/test_vo_reports.py index 2497efa..611c3b5 100644 --- a/vasl_templates/webapp/tests/test_vo_reports.py +++ b/vasl_templates/webapp/tests/test_vo_reports.py @@ -36,7 +36,7 @@ def test_vo_reports( webapp, webdriver ): ) # check each vehicle/ordnance report - for nat in ["german","russian","american","british","italian","japanese","chinese"]: + for nat in ["german","russian","american","british","italian","japanese","chinese","french"]: for vo_type in ["vehicles","ordnance"]: for year in range(1940,1945+1):