4141
4242
4343def update_sections (filename ):
44- with open (filename , 'r' ) as vmaware_read :
44+ with open (filename , 'r' , encoding = 'utf-8' , errors = 'ignore' ) as vmaware_read :
4545 header_content = vmaware_read .readlines ()
4646
4747 enum = "enum enum_flags"
@@ -112,7 +112,7 @@ def update_sections(filename):
112112 for i , new_line in enumerate (banner ):
113113 header_content [section_line + i ] = new_line + '\n '
114114
115- with open (filename , 'w' ) as file :
115+ with open (filename , 'w' , encoding = 'utf-8' , errors = 'ignore' ) as file :
116116 file .writelines (header_content )
117117
118118
@@ -126,7 +126,7 @@ def update_date(filename):
126126 date_arg = arg
127127 break
128128
129- with open (filename , 'r' ) as file :
129+ with open (filename , 'r' , encoding = 'utf-8' , errors = 'ignore' ) as file :
130130 header_content = file .readlines ()
131131
132132 banner_line = " * ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ "
@@ -143,7 +143,6 @@ def find_pattern(base_str):
143143 print (f"Version number not found for { red } { bold } { base_str } { ansi_exit } , aborting" )
144144 sys .exit (1 )
145145
146-
147146 header_version = find_pattern (header_content [index ])
148147 arg_version = find_pattern (date_arg ) if date_arg else header_version
149148 new_date = datetime .now ().strftime ("%B %Y" )
@@ -157,13 +156,11 @@ def find_pattern(base_str):
157156
158157 header_content [index ] = new_content + '\n '
159158
160- with open (filename , 'w' ) as file :
159+ with open (filename , 'w' , encoding = 'utf-8' , errors = 'ignore' ) as file :
161160 file .writelines (header_content )
162161
163162
164-
165-
166- with open (vmaware_file , 'r' ) as file :
163+ with open (vmaware_file , 'r' , encoding = 'utf-8' , errors = 'ignore' ) as file :
167164 file_content = file .readlines ()
168165
169166
@@ -207,6 +204,7 @@ def __init__(self, enum_name="", line=0, platform_emojis="", score=0, descriptio
207204 self .notes = notes
208205 self .code_link = code_link
209206
207+
210208class array_dict (dict ):
211209 def __getitem__ (self , key ):
212210 return self .get (key )
@@ -218,6 +216,7 @@ def init_as_list(self, key):
218216
219217technique = array_dict ()
220218
219+
221220def fetch_lib_info (enum_list ):
222221 for enum in enum_list :
223222 technique .init_as_list (enum )
@@ -231,13 +230,11 @@ def fetch_lib_info(enum_list):
231230 technique [enum ].line = i + 1
232231 break
233232
234-
235233 # generate the code implementation link
236234 link = "[link](https://github.com/kernelwernel/VMAware/tree/main/src/vmaware.hpp#L"
237235 for enum in enum_list :
238236 technique [enum ].code_link = link + str (technique [enum ].line ) + ")"
239237
240-
241238 # fetch scores
242239 start = "// START OF TECHNIQUE TABLE"
243240 end = "// END OF TECHNIQUE TABLE"
@@ -253,7 +250,6 @@ def fetch_lib_info(enum_list):
253250 end_ptr = index
254251 break # Stop after first end marker
255252
256-
257253 if start_ptr == - 1 or end_ptr == - 1 :
258254 print ("Error: Start or end marker not found" )
259255 else :
@@ -265,7 +261,6 @@ def fetch_lib_info(enum_list):
265261 if match :
266262 technique [enum ].score = int (match .group (1 ))
267263
268-
269264 # fetch more stuff
270265 for enum in enum_list :
271266 start_line = end_line = technique [enum ].line
@@ -322,7 +317,6 @@ def fetch_lib_info(enum_list):
322317 technique [enum ].notes = line .split ("@note" , 1 )[- 1 ]
323318
324319
325-
326320def update_docs (enum_list ):
327321 technique_array = []
328322
@@ -340,7 +334,7 @@ def update_docs(enum_list):
340334
341335 technique_array .append ("| " + " | " .join (str (item ).strip () for item in order ) + " |" )
342336
343- with open (vmaware_docs , 'r' ) as file :
337+ with open (vmaware_docs , 'r' , encoding = 'utf-8' , errors = 'ignore' ) as file :
344338 docs_content = file .readlines ()
345339
346340 docs_start = "<!-- START OF TECHNIQUE DOCUMENTATION -->"
@@ -367,7 +361,7 @@ def update_docs(enum_list):
367361
368362 docs_content [start_ptr :end_ptr - 1 ] = [line + '\n ' for line in technique_array ]
369363
370- with open (vmaware_docs , 'w' , newline = '\n ' ) as f :
364+ with open (vmaware_docs , 'w' , encoding = 'utf-8' , errors = 'ignore' , newline = '\n ' ) as f :
371365 f .writelines (docs_content )
372366
373367
0 commit comments