adding network analysis & report runner tool
parent
ae1b70f937
commit
e56080746b
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
||||||
|
<mxfile host="Electron" modified="2024-09-16T03:17:23.872Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.8.10 Chrome/106.0.5249.199 Electron/21.3.5 Safari/537.36" etag="qQv4MmXaQ8_rBpMyblA3" version="20.8.10" type="device"><diagram name="Page-1" id="yFzOF-C69mD7tV00qD4u">7Vldc9o4FP01PC7jL2HyWEKy2U66ySydafsobNloIyxGlgPeX79XtvwhixSywNKZ9gnpWrqW7rnn6siM/Nv17neBN6tPPCZs5DnxbuTPR57neuEEfpSlrC3IuakNqaCxHtQZFvQfoo2OthY0JrkxUHLOJN2YxohnGYmkYcNC8K05LOHMfOsGp8QyLCLMbOsXGstVbZ16YWd/IDRdNW92J3p/a9wM1jvJVzjm257Jvxv5t4JzWbfWu1vCVPCauNTz7t942i5MkEweM4GXiRO6qfM6C+6fvszQR/kgftNeXjEr9IYfPz+P17FesiybOMDqN6qZcQk/s+2KSrLY4EjZtgA92FZyzaDnQnOJo5dU8CKLnwrJaEa0Pcbi5QlmUanSwRk7CIy5MmTpZw5O5jcOWBKeyYV+d7NCIiTZvbl1tw0oZCLhayJFCUP0hOBGY6CTcKq72x6i2rTqg9lAh3USpa3nLs7Q0KF+R9gnVnxJDGmnu1zIFU95htldZ51V4STKqwpRN+aRV4FT4f2bSFlqDuFCchMUksUfFCPUGwDw2nJPWfM8l1jIwYjK1huTQPOWMy6qVfvJNCJRVI0T/IX0niynKEBqofVO1fbeC54gDEv6as7bB4We+swpeGxB96cm6K6HTBewtZRIPatPnIEj5BxwlPNCRMRyVGVGu5//niyexdFROJN4yYg7CudWJgFNpAm8CU7GFR0NJLUJM5pm0GUkUR4U5ShUwg/avKZxzN4iv5mdZ+AscpAZddcm7WQPaf1LcdbfBwNdwwHwU8EQXBkG98bG4QrFtDqi6oeuMyyeGsh+8XTMAhwxnOc0smrwsdUStlsVne8ESuNWV7nvBXR6Yvk9CU5kofkXwSA/nE8gFUAvZSNvwhQNlgJaqWr9kXNYGVGrqfy/YkFVNcytPOhQdg9rlnPojIlJFi+0ydKKij5bgkuxJbyK0NhR+bXJeWh/q7Qe0r35rvdoXtrc+B/FCeAqyq+tPoJOb62q2y226jWrPZ6mB+nnX0T8oEEmuigYN1ex9+qfyUA97/N1YQk0tapErX/Gm/ICB28EIBJx2tF77iuMPxSh15ZDrl25azH082ASDjG5ujaaHNZGzUU+KgQrZwIu6qo8HToczZM0YXTzoNsMLwl75jmVlCs8RL3PFqfHwfMWr2Nl7lBpxVSQSDvL1Ol0nrO7Paubs3sPmMjdg+bFPhI04P1SugeUrjs98qw9+UvDaey0T7F7msWtjoU48YiCslWmiGcJTaHxcfH054+nbH10bWXrBb/YcRQ7jlai3qlS9DQ87U/RdzsSFdVFLyUZERAmlVtsAzrAc5KiOgTyKgchBWum9JjzgzEm8I9kDLoYY+wvWItiaV6gHZoZd28HVwUKNh2rqF87pkE4NqOKGhnajypCZ6lD0O3+nalvMt1/XP7dvw==</diagram></mxfile>
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
<mxfile host="Electron" modified="2024-09-23T05:53:07.038Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.8.10 Chrome/106.0.5249.199 Electron/21.3.5 Safari/537.36" etag="JbFQBF7RfiK3TEgqQN6C" version="20.8.10" type="device" pages="2"><diagram name="Page-1" id="yFzOF-C69mD7tV00qD4u">7Vldc9o4FP01PJbxt8ljCUnTTrrJLJ1p+yhs2WgjJEaWA+yv3ytb/pAFIdtA6Uz7kkhXsizdc8+9R2bkX6+2HwRaLz/zFNOR56TbkT8beV7ohPBXGXa1IXCi2pALktYmtzPMyb9YGx1tLUmKC2Oi5JxKsjaNCWcMJ9KwISH4xpyWcWq+dY1ybBnmCaK29StJ5bK2Try4s99hki+bN7vRVT2yQs1kfZJiiVK+6Zn8m5F/LTiXdWu1vcZU+a7xS/3c7YHRdmMCM/maB/guc2I3d56nwe3D12n4Sd6Jd3qVZ0RLfeD7L4/jVaq3LHeNH2D3a9VkXMK/6WZJJJ6vUaJsG0AebEu5otBzoblAyVMueMnSh1JSwrC2p0g8PcBTRKpwcMYQHf60UAaWf+GwyOzKAUvGmZzrd+85Z7NpLCTe9kz63B8wX2EpdjBFjwZXGgMdhBPd3fQQ1aZlH8wGOqSDKG9X7vwMDe3q/+H2yPIvTiHsdJcLueQ5Z4jedNZp5U6sVlUu6ubc88pxyr3/YCl3mkOolNwEBbP0vWKEegMAXltuCW3GC4mEHMyobL05GTSvOeWi2rWfTRKcJNU8wZ9wb2QxCYNQbfQgfOrEL4InMEWSPJtE3AeFfvSRE3hFC7o/MUF3vdBcAo6WY6mf6hNnsFDoHFmo4KVIsLVQFRnteX48WDyLo6N4KtGCYncUz6xIAk5IE3gTHMYVHQ0ktQlRkjPoUpypFRS/CGTC99q8ImlKD5HfjM4TcLatHI3XXZu00R7S+ufirL8PBrKCAvBbwRBcGAb3ysbhAsm0KlH1oOsMk6cGsp88HTMBJxQVBUmsHHwQsTrHvOAXDVOd1F7y3+TU6fdNcIYWmn9jBPLD+QxSAfQSG3kRVTRYCGjlqvWx4LAzrHZTrf+MBFHZsLDioEPZPa5ZTqEzIpMsXmyTpRUVfbYE52JLfBGhsSXyWxPz0P5eab1Q92bb3tBsZ3PjJ4oTgFrsvrX6CDq9vaput9mq1+z2YKwcpZ//c8RPOIhENwzGcfRj+icaqOd9a51ZAk2sLFHrn/F6d4bCmwCqWLyt9J76CuMPReil5ZBrZ+5aDP0+mMRDTC6ujaLj2qi5yCeloLupgIu6ylfHiqNZSTNK1ne6TdEC00deEEm4wkPU52xxuh+Mt3i9VuYOlVZKBE70YkxVp9PU7rZWN7V7D5ihuwfNs30kaMD7o3T3K9ijtfb0Xxrexk67it0SlrY6FvzEEwLKVpkSzjKSQ+PT/OGvX0/Z+uGlla0X/GHHS0F/nB0nl6Jvw9P+FH2zxUlZXfRyzLAAN6nYomvQAZ6TlVURKKoYhBCsmdJjzi/GmMB/JWPCszHG/oI1LxfmBdohzLh7O6hKUOCHVHn90j4N4rHp1bCRoX2vhuFJ8hB0u19n6ptM9xOXf/Mf</diagram><diagram id="sqeBL1SsM9KBoUDKj55f" name="Page-2">7VrZcqM4FP0aPzbFErbH2DjdU52pZDqpTte8TAkQWBOBGCEndn/9XIHAZnHsrsLj6SWVsuFoQbrnHule4Zm1yDbvOSpWv7MY05mpx5uZFcxM0/ct+JTAtgZs26+BlJO4howd8EC+YgXqCl2TGJedioIxKkjRBSOW5zgSHQxxzl671RJGu08tUIoHwEOE6BB9IrFY1ahnujv8Aybpqnmy4aj5ZaiprGZSrlDMXvcgazmzFpwxUV9lmwWm0naNXep2NwdK24FxnItTGrz7488b+uT4C/3xY/BlvTbY+0/vVC8viK7VhG8f77UsVkMW28YOMPpCXuZMwNf8dUUEfihQJLFXYB6wlcgo3BlwGaLoOeVsncd3a0FJjhUeI/58B62IkO6ga7oNYCmBPH1k0Eng64AkLBcP6tmyWUIoXTDKeDUWK0kSM4pkS8HZM94riZ3QsR0oUdPCXODNQXsZLQvgvZhlWPAtVGkaNMQpz/XU7eueGyhote8BTTOkPC9te96RAxeKn2/gyhxwdV2WWAD0CReMi1+0VaV+l7aWj4vxZg01hvIYJg906bdYCMx/UVftDT3m9P+QueLlr6/6x7t4nV3/8/D0mH6+dsyR1XHmzgUKKTZmbjBgDGYuuqx0zZUzSUvHtgpClKQ53FKcyB6kFQnsQdcKzkgc00NOUJGO5TT0iRRk9Xgwhjw4IzxY56JhuPABDSSDrfenouHqwjQM17GfQQ2m3qfBviwNVz+lGpweC/aFWbAPisH8gVkYiMG9MA3OQRqsH5iGvhjMC7NgjgRKfdPjGPJqdQvJyoqlLEd0uUN7ZtrVuWVVnCrZ+hui5a06JEBrwfpcIi6uZdK/463Cboicz5715WDetj2Mna15hN+YtToCgAekWLwVRbrjZHJMkSAv3YFMzo07oOYz4kQqpDqkKApIBGYygnZQJp21/mxv87BU91T6fcjhKhVVYiFQNQnBCYbeB4Tv6DSOpy+9fCO2sRdfjeUbnhlazkT5hnWCjtrkYl9IzrmE5P8vdDShRrwTNXJRiXjHrd4k49Ga0+2cQ7Itp3PMq7sSSCgpPqhrikJM71lJBGFy/+C1c7X7ym2vvN1fTt2HptjseycpnqkN9TEmjzZEnj4h1wdULYKnw2xtKQECuHXC+UlN1W147EClrFVj2MNVCxuwbrljq5bvuBaaatXyHa1ZqBQz5ompoW1rZ2NmGAIEqFyFDPG4HBIE8olWaoVCZVGf3CdkI8UyLxjJBebLF7BI2Zi9OT3Xq72nXLUL3LFgri+1CMvO39BayIRg2Yi4BCv2FNj20/MCXTc8L6iHXHlhtknlqxEtKyOEtRTnmCOqVdgU7mCOuIOpjQTm9phHnO3obHhos9yAvXIZKehBFTy85RR7rHbYrmRcdmXcI8D0XHtpjskwqf4aD6umbM/hX9d0Hey10DXHkl8zG2ovqgKjgs0e6o+iVRf9mv6Bjt2qNZSPdGL0MNPr1bWDU/x34KnjDt330+d1CDxhMLNGItnjvOC/VRcBKsgELnvljrrsaR575Z3LY0dyyUsnMRFFZUmiXh4zcYxm2N9DkGaMnLh891FaTDhsfXVj4En6/SQhgmG1G0AjsJHXYJDcNKLbV9j5XqcMc9HgbvGlyj5v4PM+uDlMKcQRx6lUwZmpD3eFJMHOgVdYrh/qE53M2P23j/pwVRt9h6V/u9Hhdvfrgaps7ycY1vJf</diagram></mxfile>
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
def image1(tenurekey : int):
|
||||||
|
if not tenurekey:
|
||||||
|
return 'No Tenure Key'
|
||||||
|
else:
|
||||||
|
## go and get dashbaord with tenure key
|
||||||
|
return ""
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
# Example TenureKey for testing
|
||||||
|
image1('2422')
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
def table1(tenurekey : int):
|
||||||
|
if not tenurekey:
|
||||||
|
return 'No Tenure Key'
|
||||||
|
else:
|
||||||
|
## go and get dashbaord with tenure key
|
||||||
|
table = """
|
||||||
|
| Month | Savings |
|
||||||
|
| -------- | ------- |
|
||||||
|
| January | $250 |
|
||||||
|
| February | $80 |
|
||||||
|
| March | $420 |
|
||||||
|
"""
|
||||||
|
return table
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
# Example TenureKey for testing
|
||||||
|
table1('2422')
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 4.7 KiB |
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Hello!
|
||||||
|
|
||||||
|
## Subheading
|
||||||
|
Rad Table -
|
||||||
|
{table1}
|
||||||
|
|
||||||
|
### Smaller heading with image
|
||||||
|
{image1}
|
||||||
|
|
@ -0,0 +1,63 @@
|
||||||
|
import os
|
||||||
|
import importlib.util
|
||||||
|
import re
|
||||||
|
|
||||||
|
def execute_functions_in_folder(folder_path, tenureKey):
|
||||||
|
# List all files in the folder
|
||||||
|
file_list = os.listdir(folder_path)
|
||||||
|
|
||||||
|
# Initialize an empty dictionary to store function names and return values
|
||||||
|
function_results = {}
|
||||||
|
|
||||||
|
# Iterate through each file
|
||||||
|
for file_name in file_list:
|
||||||
|
if file_name.endswith('.py'): # Consider only Python files
|
||||||
|
module_name = file_name[:-3] # Remove the '.py' extension
|
||||||
|
|
||||||
|
# Import the module dynamically
|
||||||
|
file_path = os.path.join(folder_path, file_name)
|
||||||
|
spec = importlib.util.spec_from_file_location(module_name, file_path)
|
||||||
|
module = importlib.util.module_from_spec(spec)
|
||||||
|
spec.loader.exec_module(module)
|
||||||
|
|
||||||
|
# Execute the function with the same name as the file
|
||||||
|
function_name = module_name
|
||||||
|
if hasattr(module, function_name) and callable(getattr(module, function_name)):
|
||||||
|
function = getattr(module, function_name)
|
||||||
|
return_value = function(tenureKey) # Execute the function and get the return value
|
||||||
|
function_results[function_name] = return_value # Add the function name and return value to the dictionary
|
||||||
|
else:
|
||||||
|
print(f"No function named '{function_name}' found in '{module_name}'")
|
||||||
|
|
||||||
|
return function_results
|
||||||
|
|
||||||
|
|
||||||
|
def open_markdown_file(file_path):
|
||||||
|
try:
|
||||||
|
with open(file_path, 'r') as file:
|
||||||
|
markdown_content = file.read()
|
||||||
|
return markdown_content
|
||||||
|
except FileNotFoundError:
|
||||||
|
print(f"Markdown file '{file_path}' not found.")
|
||||||
|
return None
|
||||||
|
except Exception as e:
|
||||||
|
print(f"An error occurred while opening the markdown file: {e}")
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
def substitute_variables_in_markdown(markdown_content, variable_dict):
|
||||||
|
for variable, content in variable_dict.items():
|
||||||
|
# markdown_content = re.sub(r'\{\{' + variable + r'\}\}', str(content), markdown_content)
|
||||||
|
markdown_content.format(**variable_dict)
|
||||||
|
|
||||||
|
return markdown_content
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
variable_dict = execute_functions_in_folder('./modules', '1234')
|
||||||
|
print(variable_dict)
|
||||||
|
markdown_content = open_markdown_file('report.md')
|
||||||
|
if markdown_content:
|
||||||
|
# substituted_content = substitute_variables_in_markdown(markdown_content, variable_dict)
|
||||||
|
# print(substituted_content)
|
||||||
|
print(markdown_content.format(**variable_dict))
|
||||||
209
scratchpad.ipynb
209
scratchpad.ipynb
File diff suppressed because one or more lines are too long
Reference in New Issue