-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcampaigns_parser.py
More file actions
53 lines (47 loc) · 1.71 KB
/
campaigns_parser.py
File metadata and controls
53 lines (47 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
"""This file has the campaign_parser, which is a macro for parsing an entire campaign
Imports From:
campaign.py
campaign_data.py
language_info.py
mission.py
missions_parser.py
summary.py
vessel_inventory.py
Functions:
campaign_parser()
"""
from awards import Awards
from campaign import Campaign
from campaign_data import CampaignData
from mission import Mission
from missions_parser import mission_parser
from vessel_inventory import VesselInventory
from language_info import LangaugeInfo
from summary import Summary
from waypoints import Waypoints
# This file will run each parser and collect the data
# Data is returned as one monolitic Campaign object
def campaign_parser(campaign_directory: str, current_language: str) -> Campaign:
"""Parse the individual parts of a campaign and return a completed campaign object
Parameters:
campaign_directory: str | A filepath to the campaign to be parsed
current_language: str | A two-letter language code for the language files to check
Returns:
Campaign | Campaign object made with the parsed data
"""
awards: Awards = Awards(campaign_directory)
mission_list: list[Mission] = mission_parser(campaign_directory)
campaign_data: CampaignData = CampaignData(campaign_directory)
vessel_inventory: VesselInventory = VesselInventory(campaign_directory)
language_info: LangaugeInfo = LangaugeInfo(campaign_directory, current_language)
summary: Summary = Summary(campaign_directory)
waypoints: Waypoints = Waypoints(campaign_directory)
return Campaign(
awards,
mission_list,
campaign_data,
vessel_inventory,
language_info,
summary,
waypoints,
)