From 641a7244392a25d7605b262c82c43813cef9e798 Mon Sep 17 00:00:00 2001 From: Taka Date: Sun, 2 Sep 2018 12:37:28 +0000 Subject: [PATCH] Added the British ordnance. --- .../webapp/data/ordnance/british.json | 144 ++++++++++++++++++ vasl_templates/webapp/static/snippets.js | 19 ++- .../vo-reports/ordnance/british/1940.txt | 29 ++++ .../vo-reports/ordnance/british/1941.txt | 29 ++++ .../vo-reports/ordnance/british/1942.txt | 29 ++++ .../vo-reports/ordnance/british/1943.txt | 29 ++++ .../vo-reports/ordnance/british/1944.txt | 29 ++++ .../vo-reports/ordnance/british/1945.txt | 29 ++++ .../webapp/tests/test_capabilities.py | 41 ++++- 9 files changed, 369 insertions(+), 9 deletions(-) create mode 100644 vasl_templates/webapp/data/ordnance/british.json create mode 100644 vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1940.txt create mode 100644 vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1941.txt create mode 100644 vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1942.txt create mode 100644 vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1943.txt create mode 100644 vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1944.txt create mode 100644 vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1945.txt diff --git a/vasl_templates/webapp/data/ordnance/british.json b/vasl_templates/webapp/data/ordnance/british.json new file mode 100644 index 0000000..5816cd5 --- /dev/null +++ b/vasl_templates/webapp/data/ordnance/british.json @@ -0,0 +1,144 @@ +[ + +{ "name": "OML 2-in. Mortar", + "capabilities": [ "4PP" ], + "capabilities2": { "s": 7, "IR": [ [null,"2+"], "\u2020" ] }, + "note_number": "1", + "notes": [ "A\u2020", "N", "P" ] +}, +{ "name": "OML 2-in. Airborne Mortar", + "capabilities": [ "IR" ], + "capabilities2": { "s": 7 }, + "capabilities_other": [ "3PP" ], + "note_number": "1" +}, +{ "name": "OML 3-in. Mortar", + "capabilities": [ "NT", "QSU" ], + "capabilities2": { "WP": 7, "s": [ [8,"1+"], "\u2020" ], "IR": [ [null,"2+"], "\u20201" ] }, + "note_number": "2\u2020", + "notes": [ "A\u20201", "D", "N", "P" ] +}, +{ "name": "OSB 4.2-in. Mortar", + "capabilities": [ "NT" ], + "capabilities2": { "s": 8, "WP": 7 }, + "capabilities_other": [ "Towed\u2020" ], + "note_number": "3\u2020", + "notes": [ "N", "P" ] +}, +{ "name": "OQF 25mm Hotchkiss", + "capabilities": [ "NT", "QSU" ], + "note_number": "4\u2020", + "notes": [ "B", "N" ] +}, +{ "name": "OQF 2-Pounder", + "capabilities": [ "T" ], + "capabilities2": { "LF": [ "NT", "40\u20201", "2 ROF", "B11" ] }, + "note_number": "5\u2020", + "notes": [ "B", "C\u20201", "N", "P" ] +}, +{ "name": "OQF 6-Pounder 7-cwt", + "capabilities": [ "NT", "QSU" ], + "capabilities2": { "HE": [ [7,"F3"], [8,"4+"], "\u2020" ], "D": [ [6,"J4E"], [7,5], "\u2020" ] }, + "note_number": "6\u2020", + "notes": [ "B", "N", "P" ] +}, +{ "name": "OQF 17/25-Pounder", + "capabilities": [ "NT" ], + "note_number": "7", + "notes": [ "N" ] +}, +{ "name": "OQF 17-Pounder", + "capabilities": [ "NT" ], + "capabilities2": { "HE": [ [8,"J4+"], "\u2020" ], "D": [ [5,"S4"], [6,5], "\u2020" ] }, + "note_number": "8\u2020" +}, +{ "name": "OQF M1A1 75mm Pack How.", + "capabilities": [ "NT", "QSU" ], + "capabilities2": { "H": 6, "WP": 7 }, + "note_number": "9\u2020", + "notes": [ "D", "P" ] +}, +{ "name": "Canon de 75 mle 1897", + "capabilities": [ "NT", "QSU" ], + "capabilities2": { "s": 8 }, + "note_number": "10\u2020", + "notes": [ "B", "N" ] +}, +{ "name": "OQF 18-Pounder", + "capabilities": [ "NT", "QSU" ], + "capabilities2": { "s": 8, "WP": 7 }, + "note_number": "11\u2020", + "notes": [ "N", "P" ] +}, +{ "name": "OQF 25-Pounder Short", + "capabilities": [ "NT", "QSU" ], + "capabilities2": { "s": 8 }, + "note_number": "12", + "notes": [ "D", "P" ] +}, +{ "name": "OQF 25-Pounder Gun-How.", + "capabilities2": { "LF": [ "NT", "0 ROF" ], "s": 8 }, + "capabilities_other": [ "ST" ], + "note_number": "13\u2020", + "notes": [ "N", "P" ] +}, +{ "name": "OQF 3.7-in. Howitzer", + "capabilities": [ "NT", "QSU" ], + "capabilities2": { "s": 8, "WP": 7, "H": [ [6,"3+P"], "\u2020" ] }, + "note_number": "14\u2020", + "notes": [ "D", "N", "P" ] +}, +{ "name": "OQF 4.5-in. Howitzer", + "capabilities": [ "NT" ], + "capabilities2": { "s": 8, "WP": 7 }, + "note_number": "15\u2020", + "notes": [ "N", "P" ] +}, +{ "name": "OBL 4.5-in. Gun", + "capabilities": [ "NT" ], + "note_number": "16\u2020", + "notes": [ "N" ] +}, +{ "name": "OBL 5.5-in. Gun-Howitzer", + "capabilities": [ "NT" ], + "note_number": "16\u2020", + "notes": [ "N", "P" ] +}, +{ "name": "OBL 6-in. Howitzer", + "capabilities": [ "NT" ], + "note_number": "17\u2020", + "notes": [ "N", "P" ] +}, +{ "name": "OBL 7.2-in. Howitzer Mk I", + "capabilities": [ "NT", "no IF" ], + "capabilities_other": [ "Acq. NA\u2020" ], + "note_number": "18\u2020", + "notes": [ "N", "P" ] +}, +{ "name": "OBL 7.2-in. Howitzer Mk VI", + "capabilities": [ "NT", "RFNM", "no IF" ], + "note_number": "19\u2020", + "notes": [ "P" ] +}, +{ "name": "OQF 20mm AA", + "capabilities": [ "T" ], + "note_number": "20" +}, +{ "name": "OQF 40mm AA", + "capabilities": [ "T" ], + "capabilities2": { "LF": [ "40\u20201", "2 ROF" ] }, + "note_number": "21\u2020", + "notes": [ "C\u20201", "N", "P" ] +}, +{ "name": "OQF 3-in. 20-cwt AA", + "capabilities": [ "T" ], + "note_number": "22\u2020", + "notes": [ "E", "P" ] +}, +{ "name": "OQF 3.7-in. AA", + "capabilities": [ "T" ], + "note_number": "23\u2020", + "notes": [ "E", "N", "P" ] +} + +] diff --git a/vasl_templates/webapp/static/snippets.js b/vasl_templates/webapp/static/snippets.js index c695820..b3dc7f5 100644 --- a/vasl_templates/webapp/static/snippets.js +++ b/vasl_templates/webapp/static/snippets.js @@ -287,7 +287,7 @@ function make_capabilities( entry, scenario_theater, scenario_year, scenario_mon capabilities.push( "LF [" + entry.capabilities2[key].join(", ") + "]" ) ; continue ; } - if ( $.inArray( key, ["HE","AP","A","D","C","s","sM","sD","sN","WP"] ) === -1 ) { + if ( $.inArray( key, ["HE","AP","A","D","C","H","s","sM","sD","sN","WP","IR"] ) === -1 ) { unexpected_caps.push( key ) ; continue ; } @@ -350,7 +350,8 @@ function make_raw_capability( name, capability ) if ( typeof(capability[i]) === "string" ) buf.push( capability[i] ) ; else { - buf.push( escapeHTML( capability[i][0] ) ) ; + if ( capability[i][0] ) + buf.push( escapeHTML( capability[i][0] ) ) ; if ( capability[i][1] ) buf.push( "", escapeHTML( capability[i][1] ), "" ) ; } @@ -360,25 +361,25 @@ function make_raw_capability( name, capability ) function select_capability_by_date( capabilities, scenario_theater, scenario_year, scenario_month ) { - var MONTH_NAMES = { F:2, J:6, A:8 } ; + var MONTH_NAMES = { F:2, J:6, A:8, S:9 } ; // initialize capabilities = capabilities.slice() ; var ref = has_ref( capabilities ) ; - var val = null ; + var val = "???" ; for ( var i=0 ; i < capabilities.length ; ++i ) { // check for a ETO/PTO-only flag var cap = capabilities[i][1].toString() ; if ( cap.substring( cap.length-1 ) === "E" ) { if ( scenario_theater != "ETO" ) - return null ; + continue ; cap = cap.substring( 0, cap.length-1 ) ; } if ( cap.substring( cap.length-1 ) === "P" ) { if ( scenario_theater != "PTO" ) - return null ; + continue ; cap = cap.substring( 0, cap.length-1 ) ; } // remove any trailing "+" (FIXME! What does it even mean? Doesn't make sense :-/) @@ -403,8 +404,10 @@ function select_capability_by_date( capabilities, scenario_theater, scenario_yea val = capabilities[i][0] ; } } - if ( ! val ) - return val ; + if ( val === "???" ) + return null ; + if ( val === null ) + val = "" ; // nb: this can happen for IR return ref ? val+ref : val ; } diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1940.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1940.txt new file mode 100644 index 0000000..2e6e232 --- /dev/null +++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1940.txt @@ -0,0 +1,29 @@ +=== ordnance/british/1940 === + +Name Capabilities (effective) # Notes +-------------------------- --------------------------------- ----------------------------- --- -------------------- +OML 2-in. Mortar 4PP IR[2+]† s7 4PP s7 1 A† N P +OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a +OML 3-in. Mortar NT QSU IR[2+]†[1] WP7 s8[1+]† NT QSU WP7 2† A†1 D N P +OSB 4.2-in. Mortar NT WP7 s8 Towed† NT WP7 s8 Towed† 3† N P +OQF 25mm Hotchkiss NT QSU NT QSU 4† B N +OQF 2-Pounder T LF [NT, 40†[1], 2 ROF, B11] T LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P +OQF 6-Pounder 7-cwt NT QSU D6[J4E]7[5]† HE7[F3]8[4+]† NT QSU 6† B N P +OQF 17/25-Pounder NT NT 7 N +OQF 17-Pounder NT D5[S4]6[5]† HE8[J4+]† NT 8† n/a +OQF M1A1 75mm Pack How. NT QSU H6 WP7 NT QSU H6 WP7 9† D P +Canon de 75 mle 1897 NT QSU s8 NT QSU s8 10† B N +OQF 18-Pounder NT QSU WP7 s8 NT QSU WP7 s8 11† N P +OQF 25-Pounder Short NT QSU s8 NT QSU s8 12 D P +OQF 25-Pounder Gun-How. LF [NT, 0 ROF] s8 ST LF [NT, 0 ROF] s8 ST 13† N P +OQF 3.7-in. Howitzer NT QSU H6[3+P]† WP7 s8 NT QSU WP7 s8 14† D N P +OQF 4.5-in. Howitzer NT WP7 s8 NT WP7 s8 15† N P +OBL 4.5-in. Gun NT NT 16† N +OBL 5.5-in. Gun-Howitzer NT NT 16† N P +OBL 6-in. Howitzer NT NT 17† N P +OBL 7.2-in. Howitzer Mk I NT no IF Acq. NA† NT no IF Acq. NA† 18† N P +OBL 7.2-in. Howitzer Mk VI NT RFNM no IF NT RFNM no IF 19† P +OQF 20mm AA T T 20 n/a +OQF 40mm AA T LF [40†[1], 2 ROF] T LF [40†[1], 2 ROF] 21† C†1 N P +OQF 3-in. 20-cwt AA T T 22† E P +OQF 3.7-in. AA T T 23† E N P diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1941.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1941.txt new file mode 100644 index 0000000..efb4143 --- /dev/null +++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1941.txt @@ -0,0 +1,29 @@ +=== ordnance/british/1941 === + +Name Capabilities (effective) # Notes +-------------------------- --------------------------------- ----------------------------- --- -------------------- +OML 2-in. Mortar 4PP IR[2+]† s7 4PP s7 1 A† N P +OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a +OML 3-in. Mortar NT QSU IR[2+]†[1] WP7 s8[1+]† NT QSU WP7 s8† 2† A†1 D N P +OSB 4.2-in. Mortar NT WP7 s8 Towed† NT WP7 s8 Towed† 3† N P +OQF 25mm Hotchkiss NT QSU NT QSU 4† B N +OQF 2-Pounder T LF [NT, 40†[1], 2 ROF, B11] T LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P +OQF 6-Pounder 7-cwt NT QSU D6[J4E]7[5]† HE7[F3]8[4+]† NT QSU 6† B N P +OQF 17/25-Pounder NT NT 7 N +OQF 17-Pounder NT D5[S4]6[5]† HE8[J4+]† NT 8† n/a +OQF M1A1 75mm Pack How. NT QSU H6 WP7 NT QSU H6 WP7 9† D P +Canon de 75 mle 1897 NT QSU s8 NT QSU s8 10† B N +OQF 18-Pounder NT QSU WP7 s8 NT QSU WP7 s8 11† N P +OQF 25-Pounder Short NT QSU s8 NT QSU s8 12 D P +OQF 25-Pounder Gun-How. LF [NT, 0 ROF] s8 ST LF [NT, 0 ROF] s8 ST 13† N P +OQF 3.7-in. Howitzer NT QSU H6[3+P]† WP7 s8 NT QSU WP7 s8 14† D N P +OQF 4.5-in. Howitzer NT WP7 s8 NT WP7 s8 15† N P +OBL 4.5-in. Gun NT NT 16† N +OBL 5.5-in. Gun-Howitzer NT NT 16† N P +OBL 6-in. Howitzer NT NT 17† N P +OBL 7.2-in. Howitzer Mk I NT no IF Acq. NA† NT no IF Acq. NA† 18† N P +OBL 7.2-in. Howitzer Mk VI NT RFNM no IF NT RFNM no IF 19† P +OQF 20mm AA T T 20 n/a +OQF 40mm AA T LF [40†[1], 2 ROF] T LF [40†[1], 2 ROF] 21† C†1 N P +OQF 3-in. 20-cwt AA T T 22† E P +OQF 3.7-in. AA T T 23† E N P diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1942.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1942.txt new file mode 100644 index 0000000..ef0ab1f --- /dev/null +++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1942.txt @@ -0,0 +1,29 @@ +=== ordnance/british/1942 === + +Name Capabilities (effective) # Notes +-------------------------- --------------------------------- ----------------------------- --- -------------------- +OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P +OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a +OML 3-in. Mortar NT QSU IR[2+]†[1] WP7 s8[1+]† NT QSU IR†[1] WP7 s8† 2† A†1 D N P +OSB 4.2-in. Mortar NT WP7 s8 Towed† NT WP7 s8 Towed† 3† N P +OQF 25mm Hotchkiss NT QSU NT QSU 4† B N +OQF 2-Pounder T LF [NT, 40†[1], 2 ROF, B11] T LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P +OQF 6-Pounder 7-cwt NT QSU D6[J4E]7[5]† HE7[F3]8[4+]† NT QSU 6† B N P +OQF 17/25-Pounder NT NT 7 N +OQF 17-Pounder NT D5[S4]6[5]† HE8[J4+]† NT 8† n/a +OQF M1A1 75mm Pack How. NT QSU H6 WP7 NT QSU H6 WP7 9† D P +Canon de 75 mle 1897 NT QSU s8 NT QSU s8 10† B N +OQF 18-Pounder NT QSU WP7 s8 NT QSU WP7 s8 11† N P +OQF 25-Pounder Short NT QSU s8 NT QSU s8 12 D P +OQF 25-Pounder Gun-How. LF [NT, 0 ROF] s8 ST LF [NT, 0 ROF] s8 ST 13† N P +OQF 3.7-in. Howitzer NT QSU H6[3+P]† WP7 s8 NT QSU WP7 s8 14† D N P +OQF 4.5-in. Howitzer NT WP7 s8 NT WP7 s8 15† N P +OBL 4.5-in. Gun NT NT 16† N +OBL 5.5-in. Gun-Howitzer NT NT 16† N P +OBL 6-in. Howitzer NT NT 17† N P +OBL 7.2-in. Howitzer Mk I NT no IF Acq. NA† NT no IF Acq. NA† 18† N P +OBL 7.2-in. Howitzer Mk VI NT RFNM no IF NT RFNM no IF 19† P +OQF 20mm AA T T 20 n/a +OQF 40mm AA T LF [40†[1], 2 ROF] T LF [40†[1], 2 ROF] 21† C†1 N P +OQF 3-in. 20-cwt AA T T 22† E P +OQF 3.7-in. AA T T 23† E N P diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1943.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1943.txt new file mode 100644 index 0000000..a6670f3 --- /dev/null +++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1943.txt @@ -0,0 +1,29 @@ +=== ordnance/british/1943 === + +Name Capabilities (effective) # Notes +-------------------------- --------------------------------- ----------------------------- --- -------------------- +OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P +OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a +OML 3-in. Mortar NT QSU IR[2+]†[1] WP7 s8[1+]† NT QSU IR†[1] WP7 s8† 2† A†1 D N P +OSB 4.2-in. Mortar NT WP7 s8 Towed† NT WP7 s8 Towed† 3† N P +OQF 25mm Hotchkiss NT QSU NT QSU 4† B N +OQF 2-Pounder T LF [NT, 40†[1], 2 ROF, B11] T LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P +OQF 6-Pounder 7-cwt NT QSU D6[J4E]7[5]† HE7[F3]8[4+]† NT QSU 6† B N P +OQF 17/25-Pounder NT NT 7 N +OQF 17-Pounder NT D5[S4]6[5]† HE8[J4+]† NT 8† n/a +OQF M1A1 75mm Pack How. NT QSU H6 WP7 NT QSU H6 WP7 9† D P +Canon de 75 mle 1897 NT QSU s8 NT QSU s8 10† B N +OQF 18-Pounder NT QSU WP7 s8 NT QSU WP7 s8 11† N P +OQF 25-Pounder Short NT QSU s8 NT QSU s8 12 D P +OQF 25-Pounder Gun-How. LF [NT, 0 ROF] s8 ST LF [NT, 0 ROF] s8 ST 13† N P +OQF 3.7-in. Howitzer NT QSU H6[3+P]† WP7 s8 NT QSU WP7 s8 14† D N P +OQF 4.5-in. Howitzer NT WP7 s8 NT WP7 s8 15† N P +OBL 4.5-in. Gun NT NT 16† N +OBL 5.5-in. Gun-Howitzer NT NT 16† N P +OBL 6-in. Howitzer NT NT 17† N P +OBL 7.2-in. Howitzer Mk I NT no IF Acq. NA† NT no IF Acq. NA† 18† N P +OBL 7.2-in. Howitzer Mk VI NT RFNM no IF NT RFNM no IF 19† P +OQF 20mm AA T T 20 n/a +OQF 40mm AA T LF [40†[1], 2 ROF] T LF [40†[1], 2 ROF] 21† C†1 N P +OQF 3-in. 20-cwt AA T T 22† E P +OQF 3.7-in. AA T T 23† E N P diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1944.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1944.txt new file mode 100644 index 0000000..269224d --- /dev/null +++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1944.txt @@ -0,0 +1,29 @@ +=== ordnance/british/1944 === + +Name Capabilities (effective) # Notes +-------------------------- --------------------------------- ----------------------------- --- -------------------- +OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P +OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a +OML 3-in. Mortar NT QSU IR[2+]†[1] WP7 s8[1+]† NT QSU IR†[1] WP7 s8† 2† A†1 D N P +OSB 4.2-in. Mortar NT WP7 s8 Towed† NT WP7 s8 Towed† 3† N P +OQF 25mm Hotchkiss NT QSU NT QSU 4† B N +OQF 2-Pounder T LF [NT, 40†[1], 2 ROF, B11] T LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P +OQF 6-Pounder 7-cwt NT QSU D6[J4E]7[5]† HE7[F3]8[4+]† NT QSU HE8† 6† B N P +OQF 17/25-Pounder NT NT 7 N +OQF 17-Pounder NT D5[S4]6[5]† HE8[J4+]† NT 8† n/a +OQF M1A1 75mm Pack How. NT QSU H6 WP7 NT QSU H6 WP7 9† D P +Canon de 75 mle 1897 NT QSU s8 NT QSU s8 10† B N +OQF 18-Pounder NT QSU WP7 s8 NT QSU WP7 s8 11† N P +OQF 25-Pounder Short NT QSU s8 NT QSU s8 12 D P +OQF 25-Pounder Gun-How. LF [NT, 0 ROF] s8 ST LF [NT, 0 ROF] s8 ST 13† N P +OQF 3.7-in. Howitzer NT QSU H6[3+P]† WP7 s8 NT QSU WP7 s8 14† D N P +OQF 4.5-in. Howitzer NT WP7 s8 NT WP7 s8 15† N P +OBL 4.5-in. Gun NT NT 16† N +OBL 5.5-in. Gun-Howitzer NT NT 16† N P +OBL 6-in. Howitzer NT NT 17† N P +OBL 7.2-in. Howitzer Mk I NT no IF Acq. NA† NT no IF Acq. NA† 18† N P +OBL 7.2-in. Howitzer Mk VI NT RFNM no IF NT RFNM no IF 19† P +OQF 20mm AA T T 20 n/a +OQF 40mm AA T LF [40†[1], 2 ROF] T LF [40†[1], 2 ROF] 21† C†1 N P +OQF 3-in. 20-cwt AA T T 22† E P +OQF 3.7-in. AA T T 23† E N P diff --git a/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1945.txt b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1945.txt new file mode 100644 index 0000000..97c530c --- /dev/null +++ b/vasl_templates/webapp/tests/fixtures/vo-reports/ordnance/british/1945.txt @@ -0,0 +1,29 @@ +=== ordnance/british/1945 === + +Name Capabilities (effective) # Notes +-------------------------- --------------------------------- ----------------------------- --- -------------------- +OML 2-in. Mortar 4PP IR[2+]† s7 4PP IR† s7 1 A† N P +OML 2-in. Airborne Mortar IR s7 3PP IR s7 3PP 1 n/a +OML 3-in. Mortar NT QSU IR[2+]†[1] WP7 s8[1+]† NT QSU IR†[1] WP7 s8† 2† A†1 D N P +OSB 4.2-in. Mortar NT WP7 s8 Towed† NT WP7 s8 Towed† 3† N P +OQF 25mm Hotchkiss NT QSU NT QSU 4† B N +OQF 2-Pounder T LF [NT, 40†[1], 2 ROF, B11] T LF [NT, 40†[1], 2 ROF, B11] 5† B C†1 N P +OQF 6-Pounder 7-cwt NT QSU D6[J4E]7[5]† HE7[F3]8[4+]† NT QSU D7† HE8† 6† B N P +OQF 17/25-Pounder NT NT 7 N +OQF 17-Pounder NT D5[S4]6[5]† HE8[J4+]† NT D6† HE8† 8† n/a +OQF M1A1 75mm Pack How. NT QSU H6 WP7 NT QSU H6 WP7 9† D P +Canon de 75 mle 1897 NT QSU s8 NT QSU s8 10† B N +OQF 18-Pounder NT QSU WP7 s8 NT QSU WP7 s8 11† N P +OQF 25-Pounder Short NT QSU s8 NT QSU s8 12 D P +OQF 25-Pounder Gun-How. LF [NT, 0 ROF] s8 ST LF [NT, 0 ROF] s8 ST 13† N P +OQF 3.7-in. Howitzer NT QSU H6[3+P]† WP7 s8 NT QSU WP7 s8 14† D N P +OQF 4.5-in. Howitzer NT WP7 s8 NT WP7 s8 15† N P +OBL 4.5-in. Gun NT NT 16† N +OBL 5.5-in. Gun-Howitzer NT NT 16† N P +OBL 6-in. Howitzer NT NT 17† N P +OBL 7.2-in. Howitzer Mk I NT no IF Acq. NA† NT no IF Acq. NA† 18† N P +OBL 7.2-in. Howitzer Mk VI NT RFNM no IF NT RFNM no IF 19† P +OQF 20mm AA T T 20 n/a +OQF 40mm AA T LF [40†[1], 2 ROF] T LF [40†[1], 2 ROF] 21† C†1 N P +OQF 3-in. 20-cwt AA T T 22† E P +OQF 3.7-in. AA T T 23† E N P diff --git a/vasl_templates/webapp/tests/test_capabilities.py b/vasl_templates/webapp/tests/test_capabilities.py index 305dd75..f78de92 100644 --- a/vasl_templates/webapp/tests/test_capabilities.py +++ b/vasl_templates/webapp/tests/test_capabilities.py @@ -40,8 +40,9 @@ def test_month_capabilities( webapp, webdriver ): _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1943", "NT QSU" ) _check_capabilities( webdriver, webapp, *ordnance, "ETO", "05/1944", "NT QSU" ) _check_capabilities( webdriver, webapp, *ordnance, "ETO", "06/1944", "NT QSU D4\u2020 HE7\u2020" ) + _check_capabilities( webdriver, webapp, *ordnance, "PTO", "06/1944", "NT QSU" ) _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1945", "NT QSU D4\u2020 HE7\u2020" ) - _check_capabilities( webdriver, webapp, *ordnance, "PTO", "01/1945", "NT QSU" ) + _check_capabilities( webdriver, webapp, *ordnance, "PTO", "01/1945", "NT QSU HE7\u2020" ) # M3: C7(A2+)†2 vehicle = [ "american", "vehicles", "M3" ] @@ -90,6 +91,37 @@ def test_month_capabilities( webapp, webdriver ): _check_capabilities( webdriver, webapp, *vehicle, "ETO", "01/1944", "C4\u20201 H9 WP9" ) _check_capabilities( webdriver, webapp, *vehicle, "ETO", "01/1945", "C4\u20201 H9 WP9" ) + # OML 2-in. Mortar: IR(2)+† + ordnance = [ "british", "ordnance", "OML 2-in. Mortar" ] + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1941", "4PP s7" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1942", "4PP IR\u2020 s7" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1943", "4PP IR\u2020 s7" ) + + # OML 3-in. Mortar: IR(2)+†1 + ordnance = [ "british", "ordnance", "OML 3-in. Mortar" ] + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1941", "NT QSU WP7 s8\u2020" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1942", "NT QSU IR\u20201 WP7 s8\u2020" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1943", "NT QSU IR\u20201 WP7 s8\u2020" ) + + # OQF 6-Pounder 7-cwt: D6(J4E)7(5)† HE7(F3)8(4+)† + ordnance = [ "british", "ordnance", "OQF 6-Pounder 7-cwt" ] + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1942", "NT QSU" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1943", "NT QSU" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "02/1943", "NT QSU HE7\u2020" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "05/1944", "NT QSU HE8\u2020" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "06/1944", "NT QSU D6\u2020 HE8\u2020" ) + _check_capabilities( webdriver, webapp, *ordnance, "PTO", "06/1944", "NT QSU HE8\u2020" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1945", "NT QSU D7\u2020 HE8\u2020" ) + _check_capabilities( webdriver, webapp, *ordnance, "PTO", "01/1945", "NT QSU D7\u2020 HE8\u2020" ) + + # OQF 17-Pounder: D5(S4)6(5)† HE8(J4+)† + ordnance = [ "british", "ordnance", "OQF 17-Pounder" ] + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "12/1943", "NT" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "05/1944", "NT" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "06/1944", "NT HE8\u2020" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "09/1944", "NT D5\u2020 HE8\u2020" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1945", "NT D6\u2020 HE8\u2020" ) + # --------------------------------------------------------------------- @pytest.mark.skipif( @@ -157,6 +189,13 @@ def test_scenario_theater( webapp, webdriver ): _check_capabilities( webdriver, webapp, *vehicle, "PTO", "01/1940", "C7\u20203 H8 WP9" ) _check_capabilities( webdriver, webapp, *vehicle, "ETO", "01/1940", "H8 WP9" ) + # OQF 3.7-in. Howitzer: H6(3+P)† + ordnance = [ "british", "ordnance", "OQF 3.7-in. Howitzer" ] + _check_capabilities( webdriver, webapp, *ordnance, "PTO", "12/1942", "NT QSU WP7 s8" ) + _check_capabilities( webdriver, webapp, *ordnance, "PTO", "01/1943", "NT QSU H6\u2020 WP7 s8" ) + _check_capabilities( webdriver, webapp, *ordnance, "PTO", "01/1944", "NT QSU H6\u2020 WP7 s8" ) + _check_capabilities( webdriver, webapp, *ordnance, "ETO", "01/1944", "NT QSU WP7 s8" ) + # --------------------------------------------------------------------- def _check_capabilities( webdriver, webapp,