Compare commits

..

No commits in common. "main" and "lab" have entirely different histories.
main ... lab

35 changed files with 49 additions and 73853 deletions

View File

@ -0,0 +1,49 @@
import os
import sys
import time
import pyautogui
def open_excel_with_macros(file_path):
# Get the directory of the current script/executable
base_path = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__)))
enable_button_image = os.path.join(base_path, 'enable_content.png')
# Open Excel through the OS start menu or command line
os.startfile(file_path)
time.sleep(5) # Wait for Excel to open
# Custom timeout mechanism to locate the 'Enable Content' button
timeout = 10 # 10 seconds timeout
start_time = time.time()
enable_button = None
while (time.time() - start_time) < timeout:
enable_button = pyautogui.locateCenterOnScreen(enable_button_image, confidence=0.8)
if enable_button:
pyautogui.click(enable_button)
break
time.sleep(1) # Check every 1 second
if not enable_button:
print("Enable Content button not found, continuing...")
# Wait for any macros to finish running or other processing
time.sleep(10) # Adjust time based on expected macro execution time
# Close Excel without saving
pyautogui.hotkey('alt', 'f4')
time.sleep(1)
pyautogui.press('n') # Press 'n' in response to Excel's save prompt
def main():
directory = r'C:\Users\mariu\Desktop\Corpus' # Adjust the path to your files
files = os.listdir(directory)
excel_files = [file for file in files if file.endswith(('.xlsx', '.xlsm'))]
for file in excel_files:
full_path = os.path.join(directory, file)
open_excel_with_macros(full_path)
time.sleep(5) # Adjust as needed between openings
if __name__ == '__main__':
main()

File diff suppressed because one or more lines are too long

View File

@ -1,80 +0,0 @@
import os
import sys
import time
import pyautogui
import win32gui
import win32con
def close_cmd_window():
def enum_windows_callback(hwnd, result):
window_title = win32gui.GetWindowText(hwnd).lower()
if (win32gui.IsWindowVisible(hwnd) and
'cmd.exe' in window_title and
'Anaconda' not in window_title):
win32gui.PostMessage(hwnd, win32con.WM_CLOSE, 0, 0)
win32gui.EnumWindows(enum_windows_callback, None)
def close_excel_without_saving():
pyautogui.hotkey('alt', 'f4')
time.sleep(1)
# Try to locate and click the "Don't Save" button
try:
dont_save_button = pyautogui.locateOnScreen('dont_save_button.png', confidence=0.8)
if dont_save_button:
pyautogui.click(dont_save_button)
print("Clicked 'Don't Save' button")
else:
print("Save dialogue not found, Excel may have closed without prompting")
except pyautogui.ImageNotFoundException:
print("Save dialogue not found, Excel may have closed without prompting")
def open_excel_with_macros(file_path):
# Get the directory of the current script/executable
base_path = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__)))
enable_button_image = os.path.join(base_path, 'enable_content.png')
# Open Excel through the OS start menu or command line
os.startfile(file_path)
time.sleep(5) # Wait for Excel to open
# Custom timeout mechanism to locate the 'Enable Content' button
timeout = 10 # 10 seconds timeout
start_time = time.time()
enable_button = None
while (time.time() - start_time) < timeout:
try:
enable_button = pyautogui.locateCenterOnScreen(enable_button_image, confidence=0.8)
if enable_button:
pyautogui.click(enable_button)
break
except pyautogui.ImageNotFoundException:
pass
time.sleep(1) # Check every 1 second
if not enable_button:
print("Enable Content button not found, continuing...")
# Wait for any macros to finish running or other processing
time.sleep(10) # Adjust time based on expected macro execution time
# Close Excel without saving
close_excel_without_saving()
# Close any cmd.exe windows that might have opened, except Anaconda prompt
close_cmd_window()
def main():
directory = r'C:\Users\student\Desktop\Corpus' # Adjust the path to your files
files = os.listdir(directory)
excel_files = [file for file in files if file.endswith(('.xlsx', '.xlsm'))]
for file in excel_files:
full_path = os.path.join(directory, file)
open_excel_with_macros(full_path)
time.sleep(5) # Adjust as needed between openings
if __name__ == '__main__':
main()

View File

@ -1,5 +0,0 @@
[![DOI](https://zenodo.org/badge/744004649.svg)](https://zenodo.org/doi/10.5281/zenodo.13208293)
# Master Thesis: Development and Evaluation of Software for Forensic Log-Analysis Using Machine Learning and Genetic Programming

View File

@ -6,10 +6,6 @@ if [ -d "/content" ]; then
echo "Installing dependencies" echo "Installing dependencies"
pip install -r "https://raw.githubusercontent.com/norandom/log2ml/main/dependencies/requirements.gpu.txt" pip install -r "https://raw.githubusercontent.com/norandom/log2ml/main/dependencies/requirements.gpu.txt"
# https://docs.rapids.ai/deployment/stable/platforms/colab/
git clone https://github.com/rapidsai/rapidsai-csp-utils.git
python rapidsai-csp-utils/colab/pip-install.py
else else
echo "This does not appear to be a Google Colab environment." echo "This does not appear to be a Google Colab environment."
fi fi

View File

@ -1,13 +0,0 @@
#!/usr/bin/env bash
if [[ "$(uname)" == "Darwin" ]] || [[ "$(uname)" == "Linux" ]]; then
echo "The CPU installation is starting (macOS, Linux)."
echo "Installing dependencies"
pip install -r "https://raw.githubusercontent.com/norandom/log2ml/main/dependencies/requirements.cgpu.txt"
echo "cuML will not be installed."
else
echo "This does not appear to be a CPU environment."
fi

View File

@ -1,29 +0,0 @@
openai==1.13.3
langchain==0.1.10
python-dotenv==1.0.1
tiktoken==0.6.0
langchain_openai==0.0.8
langchain_experimental==0.0.53
langchainhub==0.1.14
ipywidgets
transformers==4.39.0
torch==2.2.1+cpu
torchvision==0.17.1+cpu
torchaudio==2.2.1+cpu
sentence-transformers==2.5.1
faiss_cpu==1.8.0
linformer-pytorch==0.19.3
PyGithub==2.3.0
deap==1.4.1
update_checker==0.18.0
scikit-mdr==0.4.5
skrebate==0.62
xgboost==2.0.3
stopit==1.1.2
tpot==0.12.2
umap-learn==0.5.6
tabulate==0.9.0
onnx==1.16.1
skl2onnx==1.17.0
protobuf==3.20.3
dill==0.3.8

View File

@ -22,8 +22,3 @@ xgboost==2.0.3
stopit==1.1.2 stopit==1.1.2
tpot==0.12.2 tpot==0.12.2
umap-learn==0.5.6 umap-learn==0.5.6
tabulate==0.9.0
onnx==1.16.1
skl2onnx==1.17.0
protobuf==3.20.3
dill==0.3.8

File diff suppressed because one or more lines are too long