Hello i have coded this program to make class diagram in python but when I am trying to load my Laravel directory and look into php files to generate their class diagram but getting this error even i have put utf-8. Any help will be appreciated.
Code:
import os
import re
import tempfile
import webbrowser
# Define the path to the Laravel project
project_path = 'C:/xampp/htdocs/Laravel-8-project'
# Find all the PHP class files in the project
def find_class_files(dir):
results = []
for file in os.listdir(dir):
file_path = os.path.join(dir, file)
if os.path.isdir(file_path):
results.extend(find_class_files(file_path))
elif os.path.splitext(file)[1] == '.php':
results.append(file_path)
return results
# Parse the class names and dependencies from the class files
def parse_classes(class_files):
classes = []
for file in class_files:
with open(file, 'r', encoding='utf-8') as f:
contents = f.read()
class_name = get_class_name(contents)
if class_name:
dependencies = get_dependencies(contents)
classes.append({
'name': class_name,
'dependencies': dependencies,
})
return classes
# Extract the class name from a PHP class file
# Extract the dependencies from a PHP class file
# Generate an HTML class diagram from a list of classes
# Display an HTML class diagram in the browser
# Find all the PHP class files in the Laravel project
class_files = find_class_files(project_path)
# Parse the class names and dependencies from the class files
classes = parse_classes(class_files)
# Generate the HTML for the class diagram
html = generate_class_diagram(classes)
# Display the class diagram in the browser
display_class_diagram(html)
I am getting this error message i dont know whats happening here.
Traceback (most recent call last):
File "C:\Users\inaqi\Desktop\cd.py", line 77, in <module>
classes = parse_classes(class_files)
File "C:\Users\inaqi\Desktop\cd.py", line 25, in parse_classes
contents = f.read()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2544.0_x64__qbz5n2kfra8p0\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self. Errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 105: invalid continuation byte