Skip to content

Commit fec354d

Browse files
authored
Merge pull request #214 from QuanMPhm/213/config_consolidate
Consolidate configurations into a `config.py` file
2 parents 725e1c8 + 72eb6bb commit fec354d

28 files changed

+380
-470
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
*.csv
22
!process_report/tests/e2e/test_data/*.csv
3+
!process_report/tests/e2e/test_data/test_invoices/*.csv
34
__pycache__/
45
*.py[cod]

process_report/invoices/NERC_total_invoice.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ class NERCTotalInvoice(invoice.Invoice):
1212
- NewPICreditProcessor
1313
"""
1414

15+
name: str = "NERC"
1516
export_columns_list = [
1617
invoice.INVOICE_DATE_FIELD,
1718
invoice.PROJECT_FIELD,
Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
from dataclasses import dataclass
22

3-
import pandas
4-
import pyarrow
5-
63
from process_report.invoices import invoice
74

85

@@ -14,11 +11,7 @@ class BillableInvoice(invoice.Invoice):
1411
- NewPICreditProcessor
1512
"""
1613

17-
PI_S3_FILEPATH = "PIs/PI.csv"
18-
19-
old_pi_filepath: str
20-
updated_old_pi_df: pandas.DataFrame
21-
14+
name: str = "billable"
2215
export_columns_list = [
2316
invoice.INVOICE_DATE_FIELD,
2417
invoice.PROJECT_FIELD,
@@ -46,20 +39,3 @@ def _prepare_export(self):
4639
self.export_data = self.data[
4740
self.data[invoice.IS_BILLABLE_FIELD] & ~self.data[invoice.MISSING_PI_FIELD]
4841
]
49-
self.updated_old_pi_df = self.updated_old_pi_df.astype(
50-
{
51-
invoice.PI_INITIAL_CREDITS: pandas.ArrowDtype(
52-
pyarrow.decimal128(21, 2)
53-
),
54-
invoice.PI_1ST_USED: pandas.ArrowDtype(pyarrow.decimal128(21, 2)),
55-
invoice.PI_2ND_USED: pandas.ArrowDtype(pyarrow.decimal128(21, 2)),
56-
},
57-
)
58-
59-
def export(self):
60-
super().export()
61-
self.updated_old_pi_df.to_csv(self.old_pi_filepath, index=False)
62-
63-
def export_s3(self, s3_bucket):
64-
super().export_s3(s3_bucket)
65-
s3_bucket.upload_file(self.old_pi_filepath, self.PI_S3_FILEPATH)

process_report/invoices/bu_internal_invoice.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ class BUInternalInvoice(invoice.Invoice):
1111
- NewPICreditProcessor
1212
"""
1313

14+
name: str = "BU_Internal"
1415
export_columns_list = [
1516
invoice.INVOICE_DATE_FIELD,
1617
invoice.PI_FIELD,

process_report/invoices/invoice.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ class Invoice:
6464
export_columns_list = list()
6565
exported_columns_map = dict()
6666

67-
name: str
6867
invoice_month: str
6968
data: pandas.DataFrame
69+
name: str = ""
7070
export_data = None
7171

7272
def process(self):

process_report/invoices/lenovo_invoice.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ class LenovoInvoice(invoice.Invoice):
1212
"BM GPUH100",
1313
]
1414

15+
name: str = "Lenovo"
1516
export_columns_list = [
1617
invoice.INVOICE_DATE_FIELD,
1718
invoice.PROJECT_FIELD,

process_report/invoices/nonbillable_invoice.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55

66
@dataclass
77
class NonbillableInvoice(invoice.Invoice):
8-
nonbillable_pis: list[str]
9-
nonbillable_projects: list[str]
10-
8+
name: str = "nonbillable"
119
export_columns_list = [
1210
invoice.INVOICE_DATE_FIELD,
1311
invoice.PROJECT_FIELD,

process_report/invoices/ocp_test_invoice.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
@dataclass
77
class OcpTestInvoice(invoice.Invoice):
8+
name: str = "OCP_TEST"
89
export_columns_list = [
910
invoice.INVOICE_DATE_FIELD,
1011
invoice.PROJECT_FIELD,

process_report/invoices/pi_specific_invoice.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ class PIInvoice(invoice.Invoice):
4343
invoice.BALANCE_FIELD,
4444
]
4545

46+
name: str = "pi_invoices"
47+
4648
export_columns_list = [
4749
invoice.INVOICE_DATE_FIELD,
4850
invoice.PROJECT_FIELD,

process_report/invoices/prepay_credits_snapshot.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,25 @@
1-
from dataclasses import dataclass
1+
from dataclasses import dataclass, field
22

33
import pandas
44

5+
from process_report.loader import loader
6+
from process_report.settings import invoice_settings
57
from process_report import util
68
from process_report.invoices import invoice
79

810

911
@dataclass
1012
class PrepayCreditsSnapshot(invoice.Invoice):
11-
prepay_credits: pandas.DataFrame
12-
prepay_contacts: pandas.DataFrame
13-
13+
prepay_credits: pandas.DataFrame = field(
14+
default_factory=lambda: loader.load_dataframe(
15+
invoice_settings.prepay_credits_filepath
16+
)
17+
)
18+
prepay_contacts: pandas.DataFrame = field(
19+
default_factory=lambda: loader.load_dataframe(
20+
invoice_settings.prepay_contacts_filepath
21+
)
22+
)
1423
export_columns_list = [
1524
invoice.PREPAY_MONTH_FIELD,
1625
invoice.PREPAY_GROUP_NAME_FIELD,

0 commit comments

Comments
 (0)