neurostats-API 1.0.0rc4__tar.gz → 1.0.0rc5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/PKG-INFO +2 -2
  2. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/README.md +1 -1
  3. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/__init__.py +1 -1
  4. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/fetchers/tech.py +2 -2
  5. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/balance_sheet/us.py +17 -9
  6. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/base.py +1 -1
  7. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/daily_chip/twse_chip.py +1 -1
  8. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/month_revenue/twse.py +6 -1
  9. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/profit_lose/us.py +1 -0
  10. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/tej/finance_statement.py +1 -1
  11. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/value/twse.py +1 -1
  12. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API.egg-info/PKG-INFO +2 -2
  13. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/setup.py +1 -1
  14. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/MANIFEST.in +0 -0
  15. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/__init__.py +0 -0
  16. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db/__init__.py +0 -0
  17. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db/base.py +0 -0
  18. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db/tej.py +0 -0
  19. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db/twse.py +0 -0
  20. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db/us.py +0 -0
  21. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/__init__.py +0 -0
  22. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/base.py +0 -0
  23. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/daily/__init__.py +0 -0
  24. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/daily/base.py +0 -0
  25. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/daily/tej_chip.py +0 -0
  26. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/daily/tej_tech.py +0 -0
  27. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/daily/twse_chip.py +0 -0
  28. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/daily/value.py +0 -0
  29. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/daily/yf.py +0 -0
  30. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/month_revenue/__init__.py +0 -0
  31. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/month_revenue/base.py +0 -0
  32. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/month_revenue/twse.py +0 -0
  33. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/seasonal/__init__.py +0 -0
  34. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/seasonal/balance_sheet.py +0 -0
  35. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/seasonal/base.py +0 -0
  36. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/seasonal/cashflow.py +0 -0
  37. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/seasonal/profit_lose.py +0 -0
  38. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/db_extractors/seasonal/tej.py +0 -0
  39. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/factory/__init__.py +0 -0
  40. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/factory/extractor_factory.py +0 -0
  41. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/factory/transformer_factory.py +0 -0
  42. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/fetchers/__init__.py +0 -0
  43. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/fetchers/balance_sheet.py +0 -0
  44. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/fetchers/base.py +0 -0
  45. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/fetchers/cash_flow.py +0 -0
  46. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/fetchers/finance_overview.py +0 -0
  47. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/fetchers/month_revenue.py +0 -0
  48. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/fetchers/profit_lose.py +0 -0
  49. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/fetchers/tej.py +0 -0
  50. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/fetchers/twse_institution.py +0 -0
  51. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/fetchers/twse_margin.py +0 -0
  52. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/async_mode/fetchers/value.py +0 -0
  53. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/cli.py +0 -0
  54. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/config/company_list/ticker_index_industry_map.json +0 -0
  55. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/config/company_list/tw.json +0 -0
  56. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/config/company_list/us.json +0 -0
  57. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/config/company_list/us_TradingView_list.json +0 -0
  58. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/config/tej_db/tej_db_index.yaml +0 -0
  59. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/config/tej_db/tej_db_percent_index.yaml +0 -0
  60. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/config/tej_db/tej_db_skip_index.yaml +0 -0
  61. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/config/tej_db/tej_db_thousand_index.yaml +0 -0
  62. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/config/twse/balance_sheet.yaml +0 -0
  63. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/config/twse/cash_flow_percentage.yaml +0 -0
  64. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/config/twse/finance_overview_dict.yaml +0 -0
  65. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/config/twse/profit_lose.yaml +0 -0
  66. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/config/twse/seasonal_data_field_dict.txt +0 -0
  67. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/fetchers/__init__.py +0 -0
  68. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/fetchers/balance_sheet.py +0 -0
  69. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/fetchers/base.py +0 -0
  70. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/fetchers/cash_flow.py +0 -0
  71. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/fetchers/finance_overview.py +0 -0
  72. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/fetchers/institution.py +0 -0
  73. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/fetchers/margin_trading.py +0 -0
  74. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/fetchers/month_revenue.py +0 -0
  75. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/fetchers/profit_lose.py +0 -0
  76. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/fetchers/tech.py +0 -0
  77. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/fetchers/tej_finance_report.py +0 -0
  78. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/fetchers/value_invest.py +0 -0
  79. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/main.py +0 -0
  80. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/__init__.py +0 -0
  81. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/balance_sheet/__init__.py +0 -0
  82. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/balance_sheet/base.py +0 -0
  83. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/balance_sheet/twse.py +0 -0
  84. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/cash_flow/__init__.py +0 -0
  85. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/cash_flow/base.py +0 -0
  86. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/cash_flow/twse.py +0 -0
  87. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/cash_flow/us.py +0 -0
  88. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/daily_chip/__init__.py +0 -0
  89. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/daily_chip/base.py +0 -0
  90. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/daily_chip/tej.py +0 -0
  91. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/daily_chip/utils/__init__.py +0 -0
  92. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/daily_chip/utils/institution.py +0 -0
  93. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/daily_chip/utils/margin_trading.py +0 -0
  94. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/daily_chip/utils/security_lending.py +0 -0
  95. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/daily_tech/__init__.py +0 -0
  96. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/daily_tech/base.py +0 -0
  97. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/daily_tech/tech.py +0 -0
  98. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/daily_tech/utils/__init__.py +0 -0
  99. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/daily_tech/utils/processor.py +0 -0
  100. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/finance_overview/__init__.py +0 -0
  101. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/finance_overview/agent_overview.py +0 -0
  102. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/finance_overview/base.py +0 -0
  103. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/finance_overview/stats_overview.py +0 -0
  104. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/month_revenue/__init__.py +0 -0
  105. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/month_revenue/base.py +0 -0
  106. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/profit_lose/__init__.py +0 -0
  107. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/profit_lose/base.py +0 -0
  108. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/profit_lose/twse.py +0 -0
  109. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/tej/__init__.py +0 -0
  110. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/tej/base.py +0 -0
  111. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/value/__init__.py +0 -0
  112. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/value/base.py +0 -0
  113. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/transformers/value/tej.py +0 -0
  114. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/utils/__init__.py +0 -0
  115. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/utils/calculate_value.py +0 -0
  116. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/utils/data_process.py +0 -0
  117. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/utils/datetime.py +0 -0
  118. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/utils/db_client.py +0 -0
  119. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/utils/exception.py +0 -0
  120. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API/utils/logger.py +0 -0
  121. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API.egg-info/SOURCES.txt +0 -0
  122. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API.egg-info/dependency_links.txt +0 -0
  123. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API.egg-info/requires.txt +0 -0
  124. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/neurostats_API.egg-info/top_level.txt +0 -0
  125. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/setup.cfg +0 -0
  126. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/test/test_async_fetcher.py +0 -0
  127. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/test/test_fetchers.py +0 -0
  128. {neurostats_api-1.0.0rc4 → neurostats_api-1.0.0rc5}/test/test_tej.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: neurostats_API
3
- Version: 1.0.0rc4
3
+ Version: 1.0.0rc5
4
4
  Summary: The service of NeuroStats website
5
5
  Home-page: https://github.com/NeurowattStats/NeuroStats_API.git
6
6
  Author: JasonWang@Neurowatt
@@ -71,7 +71,7 @@ pip install neurostats-API
71
71
  ```Python
72
72
  >>> import neurostats_API
73
73
  >>> print(neurostats_API.__version__)
74
- 1.0.0rc4
74
+ 1.0.0rc5
75
75
  ```
76
76
 
77
77
  ### 下載舊版
@@ -54,7 +54,7 @@ pip install neurostats-API
54
54
  ```Python
55
55
  >>> import neurostats_API
56
56
  >>> print(neurostats_API.__version__)
57
- 1.0.0rc4
57
+ 1.0.0rc5
58
58
  ```
59
59
 
60
60
  ### 下載舊版
@@ -1,4 +1,4 @@
1
- __version__='1.0.0rc4'
1
+ __version__='1.0.0rc5'
2
2
 
3
3
  from .fetchers import (
4
4
  AgentFinanceOverviewFetcher,
@@ -157,7 +157,7 @@ class AsyncTechFetcher(AsyncBaseFetcher):
157
157
  start_date, end_date
158
158
  )
159
159
 
160
- if (len(fetched_data) > 0):
160
+ if (fetched_data):
161
161
  df = pd.DataFrame(fetched_data)
162
162
  return df
163
163
  else:
@@ -171,7 +171,7 @@ class AsyncTechFetcher(AsyncBaseFetcher):
171
171
  start_date, end_date
172
172
  )
173
173
 
174
- if (len(fetched_data) > 0):
174
+ if (fetched_data):
175
175
  df = pd.DataFrame(fetched_data)
176
176
  df = df.rename(
177
177
  columns={
@@ -1,24 +1,32 @@
1
1
  from .base import BaseBalanceSheetTransformer
2
2
  from neurostats_API.utils import StatsProcessor
3
3
 
4
+
4
5
  class USBalanceSheetTransformer(BaseBalanceSheetTransformer):
5
- def __init__(self, ticker, company_name, zone):
6
+
7
+ def __init__(self, ticker, company_name, zone):
6
8
  super().__init__(ticker, company_name, zone)
7
9
 
8
10
  self.data_df = None
9
-
11
+ self.return_keys = [
12
+ 'balance_sheet',
13
+ 'balance_sheet_YoY'
14
+ ]
15
+
10
16
  def process_transform(self, fetched_data):
11
- return_dict = {
12
- "ticker": self.ticker,
13
- "company_name": self.company_name
14
- }
17
+ if (not fetched_data):
18
+ return self._get_empty_structure()
19
+
20
+ return_dict = {"ticker": self.ticker, "company_name": self.company_name}
15
21
 
16
22
  # QoQ表格
17
23
  self.data_df = self._process_us_format(fetched_data)
18
-
24
+
19
25
  # YoY表格
20
26
  target_season = fetched_data[0]['season']
21
- total_table_YoY = self._slice_target_season(self.data_df.T, target_season)
27
+ total_table_YoY = self._slice_target_season(
28
+ self.data_df.T, target_season
29
+ )
22
30
 
23
31
  return_dict.update(
24
32
  {
@@ -27,4 +35,4 @@ class USBalanceSheetTransformer(BaseBalanceSheetTransformer):
27
35
  }
28
36
  )
29
37
 
30
- return return_dict
38
+ return return_dict
@@ -100,7 +100,7 @@ class BaseTransformer(abc.ABC):
100
100
 
101
101
  return_dict.update(
102
102
  {
103
- key: pd.DataFrame(columns=pd.Index([], name='date'))
103
+ key: pd.DataFrame(columns=pd.Index([], name='index'))
104
104
  for key in self.return_keys
105
105
  }
106
106
  )
@@ -35,7 +35,7 @@ class TWSEChipTransformer(BaseChipTransformer):
35
35
 
36
36
  tech_dict = {data['date']: data for data in tech_data}
37
37
  latest_tech = tech_data[-1]
38
- if (len(fetched_data) < 1):
38
+ if (not fetched_data):
39
39
  return_dict['latest_trading'].update(
40
40
  self._process_latest({}, latest_tech, key)
41
41
  )
@@ -1,4 +1,5 @@
1
1
  from .base import BaseMonthRevenueTransformer
2
+ from datetime import datetime
2
3
  from neurostats_API.utils import StatsProcessor, YoY_Calculator
3
4
  import pandas as pd
4
5
 
@@ -8,6 +9,8 @@ class TWSEMonthlyRevenueTransformer(BaseMonthRevenueTransformer):
8
9
 
9
10
  self.data_df = None
10
11
  def process_transform(self, fetched_data):
12
+ if (not fetched_data):
13
+ return self._get_empty_structure()
11
14
  self.data_df = self._process_data(fetched_data)
12
15
  target_month = fetched_data[0]['month']
13
16
 
@@ -97,10 +100,12 @@ class TWSEMonthlyRevenueTransformer(BaseMonthRevenueTransformer):
97
100
  return df[df['date'] != "0/0"].set_index('date').T
98
101
 
99
102
 
100
- def _get_empty_structure(self, target_year, target_month):
103
+ def _get_empty_structure(self):
101
104
  """
102
105
  Exception 發生時回傳
103
106
  """
107
+ target_date = datetime.today()
108
+ target_year, target_month = target_date.year, target_date.month
104
109
  recent_date = [f"{target_year}/{target_month}"]
105
110
  for _ in range(11):
106
111
  target_year, target_month = (target_year - 1, 12) if target_month == 1 else (target_year, target_month - 1)
@@ -6,6 +6,7 @@ class USProfitLoseTransformer(BaseProfitLoseTransformer):
6
6
  def __init__(self, ticker, company_name, zone):
7
7
  super().__init__(ticker, company_name, zone)
8
8
  self.data_df = None
9
+ self.return_keys = ['profit_lose']
9
10
 
10
11
  def process_transform(self, fetched_data):
11
12
 
@@ -35,7 +35,7 @@ class TEJFinanceStatementTransformer(BaseTEJTransformer):
35
35
  use_cal=True,
36
36
  indexes=None
37
37
  ):
38
- if (len(fetched_data) == 0):
38
+ if (not fetched_data):
39
39
  raise NoDataError(f"No data found in collection: TEJ_finance_statement, ticker={self.ticker}")
40
40
 
41
41
  target_season = fetched_data[-1]['season']
@@ -35,7 +35,7 @@ class TWSEHistoryValueTransformer(TWSEValueTransformer):
35
35
  return return_dict
36
36
 
37
37
  def process_latest(self, daily_data):
38
- if len(daily_data) < 1:
38
+ if (not daily_data):
39
39
  return self._get_empty_structure()
40
40
 
41
41
  daily_data = daily_data[-1]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: neurostats_API
3
- Version: 1.0.0rc4
3
+ Version: 1.0.0rc5
4
4
  Summary: The service of NeuroStats website
5
5
  Home-page: https://github.com/NeurowattStats/NeuroStats_API.git
6
6
  Author: JasonWang@Neurowatt
@@ -71,7 +71,7 @@ pip install neurostats-API
71
71
  ```Python
72
72
  >>> import neurostats_API
73
73
  >>> print(neurostats_API.__version__)
74
- 1.0.0rc4
74
+ 1.0.0rc5
75
75
  ```
76
76
 
77
77
  ### 下載舊版
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='neurostats_API',
5
- version='1.0.0rc4',
5
+ version='1.0.0rc5',
6
6
  long_description=open('README.md', 'r', encoding='utf-8').read(),
7
7
  long_description_content_type='text/markdown',
8
8
  install_requires=[