diff options
Diffstat (limited to 'datamaps/api/api.py')
-rw-r--r-- | datamaps/api/api.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/datamaps/api/api.py b/datamaps/api/api.py index 6cc6f4e..072d95f 100644 --- a/datamaps/api/api.py +++ b/datamaps/api/api.py @@ -13,3 +13,32 @@ def project_data_from_master_api(master_file: str, quarter: int, year: int): """ m = Master(Quarter(quarter, year), master_file) return m + + +def project_data_from_master_month_api(master_file: str, month: int, year: int) -> Master: + """Create a Master object directly without the need to explicitly pass + a Month object. + + Args: + master_file (str): the path to a master file + month (int): an integer representing the month + year (int): an integer representing the year + """ + # we need to work out what Quarter we are dealing with from the month + if month in [1, 2, 3]: + quarter = 4 + elif month in [4, 5, 6]: + quarter = 1 + elif month in [7, 8, 9]: + quarter = 2 + elif month in [10, 11, 12]: + quarter = 3 + else: + pass + # TODO: raise exception here + + # from that, we can work out what quarter year we are dealing with + if quarter == 4: + year = year - 1 + m = Master(Quarter(quarter, year), master_file, month) + return m |