41
41
42
42
43
43
def update_sections (filename ):
44
- with open (filename , 'r' ) as vmaware_read :
44
+ with open (filename , 'r' , encoding = 'utf-8' , errors = 'ignore' ) as vmaware_read :
45
45
header_content = vmaware_read .readlines ()
46
46
47
47
enum = "enum enum_flags"
@@ -112,7 +112,7 @@ def update_sections(filename):
112
112
for i , new_line in enumerate (banner ):
113
113
header_content [section_line + i ] = new_line + '\n '
114
114
115
- with open (filename , 'w' ) as file :
115
+ with open (filename , 'w' , encoding = 'utf-8' , errors = 'ignore' ) as file :
116
116
file .writelines (header_content )
117
117
118
118
@@ -126,7 +126,7 @@ def update_date(filename):
126
126
date_arg = arg
127
127
break
128
128
129
- with open (filename , 'r' ) as file :
129
+ with open (filename , 'r' , encoding = 'utf-8' , errors = 'ignore' ) as file :
130
130
header_content = file .readlines ()
131
131
132
132
banner_line = " * ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ "
@@ -143,7 +143,6 @@ def find_pattern(base_str):
143
143
print (f"Version number not found for { red } { bold } { base_str } { ansi_exit } , aborting" )
144
144
sys .exit (1 )
145
145
146
-
147
146
header_version = find_pattern (header_content [index ])
148
147
arg_version = find_pattern (date_arg ) if date_arg else header_version
149
148
new_date = datetime .now ().strftime ("%B %Y" )
@@ -157,13 +156,11 @@ def find_pattern(base_str):
157
156
158
157
header_content [index ] = new_content + '\n '
159
158
160
- with open (filename , 'w' ) as file :
159
+ with open (filename , 'w' , encoding = 'utf-8' , errors = 'ignore' ) as file :
161
160
file .writelines (header_content )
162
161
163
162
164
-
165
-
166
- with open (vmaware_file , 'r' ) as file :
163
+ with open (vmaware_file , 'r' , encoding = 'utf-8' , errors = 'ignore' ) as file :
167
164
file_content = file .readlines ()
168
165
169
166
@@ -207,6 +204,7 @@ def __init__(self, enum_name="", line=0, platform_emojis="", score=0, descriptio
207
204
self .notes = notes
208
205
self .code_link = code_link
209
206
207
+
210
208
class array_dict (dict ):
211
209
def __getitem__ (self , key ):
212
210
return self .get (key )
@@ -218,6 +216,7 @@ def init_as_list(self, key):
218
216
219
217
technique = array_dict ()
220
218
219
+
221
220
def fetch_lib_info (enum_list ):
222
221
for enum in enum_list :
223
222
technique .init_as_list (enum )
@@ -231,13 +230,11 @@ def fetch_lib_info(enum_list):
231
230
technique [enum ].line = i + 1
232
231
break
233
232
234
-
235
233
# generate the code implementation link
236
234
link = "[link](https://github.com/kernelwernel/VMAware/tree/main/src/vmaware.hpp#L"
237
235
for enum in enum_list :
238
236
technique [enum ].code_link = link + str (technique [enum ].line ) + ")"
239
237
240
-
241
238
# fetch scores
242
239
start = "// START OF TECHNIQUE TABLE"
243
240
end = "// END OF TECHNIQUE TABLE"
@@ -253,7 +250,6 @@ def fetch_lib_info(enum_list):
253
250
end_ptr = index
254
251
break # Stop after first end marker
255
252
256
-
257
253
if start_ptr == - 1 or end_ptr == - 1 :
258
254
print ("Error: Start or end marker not found" )
259
255
else :
@@ -265,7 +261,6 @@ def fetch_lib_info(enum_list):
265
261
if match :
266
262
technique [enum ].score = int (match .group (1 ))
267
263
268
-
269
264
# fetch more stuff
270
265
for enum in enum_list :
271
266
start_line = end_line = technique [enum ].line
@@ -322,7 +317,6 @@ def fetch_lib_info(enum_list):
322
317
technique [enum ].notes = line .split ("@note" , 1 )[- 1 ]
323
318
324
319
325
-
326
320
def update_docs (enum_list ):
327
321
technique_array = []
328
322
@@ -340,7 +334,7 @@ def update_docs(enum_list):
340
334
341
335
technique_array .append ("| " + " | " .join (str (item ).strip () for item in order ) + " |" )
342
336
343
- with open (vmaware_docs , 'r' ) as file :
337
+ with open (vmaware_docs , 'r' , encoding = 'utf-8' , errors = 'ignore' ) as file :
344
338
docs_content = file .readlines ()
345
339
346
340
docs_start = "<!-- START OF TECHNIQUE DOCUMENTATION -->"
@@ -367,7 +361,7 @@ def update_docs(enum_list):
367
361
368
362
docs_content [start_ptr :end_ptr - 1 ] = [line + '\n ' for line in technique_array ]
369
363
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 :
371
365
f .writelines (docs_content )
372
366
373
367
0 commit comments