pam-python 0.1.5__tar.gz → 0.1.7__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.
- {pam_python-0.1.5 → pam_python-0.1.7}/PKG-INFO +1 -1
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/cli.py +8 -6
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/task_manager.py +36 -5
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/templates/service/service.test.tmpl +1 -1
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/templates/service/service_class.tmpl +2 -2
- {pam_python-0.1.5 → pam_python-0.1.7}/pam_python.egg-info/PKG-INFO +1 -1
- {pam_python-0.1.5 → pam_python-0.1.7}/setup.py +1 -1
- {pam_python-0.1.5 → pam_python-0.1.7}/LICENSE.txt +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/README.md +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/__init__.py +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/api.py +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/interface_task_manager.py +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/models/__init__.py +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/models/request_command.py +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/server.py +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/service.py +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/temp_file_utils.py +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/templates/buildcmd/pamb +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/templates/buildcmd/pamb-base.sh +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/templates/docker/Dockerfile +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/templates/init/dockerignore.tmpl +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/templates/init/gitignore.tmpl +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/templates/init/main.tmpl +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/templates/init/pylintrc.tmpl +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/templates/service/functions.tmpl +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/templates/service/service.yaml +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/tester_task.py +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam/utils.py +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam_python.egg-info/SOURCES.txt +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam_python.egg-info/dependency_links.txt +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam_python.egg-info/entry_points.txt +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam_python.egg-info/requires.txt +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/pam_python.egg-info/top_level.txt +0 -0
- {pam_python-0.1.5 → pam_python-0.1.7}/setup.cfg +0 -0
|
@@ -78,11 +78,11 @@ def cpy(src, dest):
|
|
|
78
78
|
src_file = os.path.join(template_dir, src)
|
|
79
79
|
shutil.copy(src_file, dest)
|
|
80
80
|
|
|
81
|
-
def replace_template_content(service_name, file_name):
|
|
81
|
+
def replace_template_content(service_name, class_name, file_name):
|
|
82
82
|
file_path = os.path.join(service_name, file_name)
|
|
83
83
|
with open(file_path, 'r+', encoding='utf-8') as file:
|
|
84
84
|
filedata = file.read()
|
|
85
|
-
updated_data = filedata.replace('#CLASS_NAME#',
|
|
85
|
+
updated_data = filedata.replace('#CLASS_NAME#', class_name)
|
|
86
86
|
updated_data = updated_data.replace('#MODULE_NAME#', service_name)
|
|
87
87
|
file.seek(0) # Move the file pointer to the beginning of the file
|
|
88
88
|
file.write(updated_data)
|
|
@@ -99,14 +99,16 @@ def create_service(name):
|
|
|
99
99
|
|
|
100
100
|
os.mkdir(name)
|
|
101
101
|
open(os.path.join(name, "__init__.py"), 'a', encoding='utf-8').close()
|
|
102
|
-
|
|
102
|
+
|
|
103
|
+
cpy("service/service_class.tmpl", os.path.join(name, to_pascal_case(name)+"Svc.py") )
|
|
104
|
+
|
|
103
105
|
cpy("service/service.yaml", os.path.join(name, "service.yaml") )
|
|
104
106
|
cpy("service/functions.tmpl", os.path.join(name, "functions.py") )
|
|
105
107
|
cpy("service/service.test.tmpl", os.path.join(name, name+".test.py") )
|
|
106
108
|
|
|
107
|
-
replace_template_content(name, name+"
|
|
108
|
-
replace_template_content(name, "service.yaml")
|
|
109
|
-
replace_template_content(name, name+".test.py")
|
|
109
|
+
replace_template_content(name, to_pascal_case(name)+"Svc", to_pascal_case(name)+"Svc.py")
|
|
110
|
+
replace_template_content(name, to_pascal_case(name)+"Svc", "service.yaml")
|
|
111
|
+
replace_template_content(name, to_pascal_case(name)+"Svc", name+".test.py")
|
|
110
112
|
|
|
111
113
|
print(f"Service {name} created.")
|
|
112
114
|
print(f"Run `pam test {name}` to run tests for the service.")
|
|
@@ -129,31 +129,62 @@ class TaskManager(ITaskManager):
|
|
|
129
129
|
def service_request_data(self, service: Service, page):
|
|
130
130
|
"""
|
|
131
131
|
Makes an asynchronous request for data from a service.
|
|
132
|
+
Logs the response without blocking the main thread.
|
|
132
133
|
"""
|
|
133
134
|
endpoint = service.request.data_api
|
|
134
135
|
token = service.request.token
|
|
135
136
|
json_data = {"page": page, "token": token}
|
|
136
137
|
|
|
138
|
+
def handle_response(response):
|
|
139
|
+
"""Logs the response from the API."""
|
|
140
|
+
log(f"Response from {endpoint}: {response}")
|
|
141
|
+
|
|
142
|
+
def api_call_wrapper():
|
|
143
|
+
"""Wrapper for the API call to handle response."""
|
|
144
|
+
response = self.api.http_post(endpoint, json_data)
|
|
145
|
+
handle_response(response)
|
|
146
|
+
|
|
137
147
|
log(f"Requesting Data from: {endpoint}, page: {page}, token={token}")
|
|
138
|
-
http_thread = threading.Thread(target=
|
|
148
|
+
http_thread = threading.Thread(target=api_call_wrapper)
|
|
139
149
|
http_thread.start()
|
|
140
150
|
|
|
151
|
+
|
|
141
152
|
def service_upload_result(self, service: Service, file_path):
|
|
142
153
|
"""
|
|
143
|
-
Uploads a result file asynchronously.
|
|
154
|
+
Uploads a result file asynchronously and logs the response.
|
|
144
155
|
"""
|
|
145
156
|
endpoint = service.request.response_api
|
|
157
|
+
|
|
158
|
+
def handle_upload_response(response):
|
|
159
|
+
"""Logs the response after the upload completes."""
|
|
160
|
+
log(f"Response from upload to {endpoint}: {response}")
|
|
161
|
+
|
|
162
|
+
def upload_wrapper():
|
|
163
|
+
"""Wrapper for the upload to handle response logging."""
|
|
164
|
+
response = self.api.http_upload(endpoint, file_path)
|
|
165
|
+
handle_upload_response(response)
|
|
166
|
+
|
|
146
167
|
log(f"Uploading Result to: {endpoint}")
|
|
147
|
-
http_thread = threading.Thread(target=
|
|
168
|
+
http_thread = threading.Thread(target=upload_wrapper)
|
|
148
169
|
http_thread.start()
|
|
149
170
|
|
|
150
171
|
def service_upload_report(self, service: Service, file_path):
|
|
151
172
|
"""
|
|
152
|
-
Uploads a report file asynchronously.
|
|
173
|
+
Uploads a report file asynchronously and logs the response.
|
|
153
174
|
"""
|
|
154
175
|
endpoint = service.request.response_api
|
|
176
|
+
|
|
177
|
+
def handle_report_response(response):
|
|
178
|
+
"""Logs the response after the report upload completes."""
|
|
179
|
+
log(f"Response from report upload to {endpoint}: {response}")
|
|
180
|
+
|
|
181
|
+
def upload_wrapper():
|
|
182
|
+
"""Wrapper for the report upload to handle response logging."""
|
|
183
|
+
response = self.api.http_upload(endpoint, file_path)
|
|
184
|
+
handle_report_response(response)
|
|
185
|
+
|
|
155
186
|
log(f"Uploading Report to: {endpoint}")
|
|
156
|
-
http_thread = threading.Thread(target=
|
|
187
|
+
http_thread = threading.Thread(target=upload_wrapper)
|
|
157
188
|
http_thread.start()
|
|
158
189
|
|
|
159
190
|
def service_exit(self, service: Service):
|
|
@@ -9,7 +9,7 @@ from pam.tester_task import TesterTask
|
|
|
9
9
|
from pam.models.request_command import RequestCommand
|
|
10
10
|
from pam.temp_file_utils import TempfileUtils
|
|
11
11
|
#pylint: disable=import-error
|
|
12
|
-
from #
|
|
12
|
+
from #CLASS_NAME# import #CLASS_NAME#
|
|
13
13
|
|
|
14
14
|
def __create_mock_csv(page):
|
|
15
15
|
fake = Faker()
|
|
@@ -2,9 +2,9 @@ from pam.service import Service
|
|
|
2
2
|
from pam.models.request_command import RequestCommand
|
|
3
3
|
from pam.utils import log
|
|
4
4
|
#pylint: disable=import-error
|
|
5
|
-
from functions import create_report, load_csv_file
|
|
5
|
+
from .functions import create_report, load_csv_file
|
|
6
6
|
|
|
7
|
-
class #CLASS_NAME#
|
|
7
|
+
class #CLASS_NAME#(Service):
|
|
8
8
|
|
|
9
9
|
#pylint: disable=useless-parent-delegation
|
|
10
10
|
def __init__(self, task_manager, req):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|