1
+ from datetime import *
2
+ import os
3
+ import sys
4
+
5
+ comment = '// Added for UE4 in {0}(UTC)' .format (datetime .utcnow ())
6
+ include_allow_header = '#include "AllowWindowsPlatformTypes.h"'
7
+ include_hide_header = '#include "HideWindowsPlatformTypes.h"'
8
+
9
+ def Check (_CodeFile ):
10
+ if (os .path .isfile (_CodeFile ) is False ):
11
+ print "Can't find the code file!!!"
12
+ return False
13
+
14
+ code_file = open (_CodeFile , 'r' )
15
+ if (code_file is None ):
16
+ print "Failed to read the code file!!!"
17
+ return False
18
+ code_lines = code_file .readlines ()
19
+ code_file .close ()
20
+
21
+ for line in code_lines [:10 ]:
22
+ if (line .find (include_allow_header ) < 0 and line .find (include_hide_header ) < 0 ):
23
+ continue
24
+ print "Already was regenerated?"
25
+ return False
26
+ return True
27
+
28
+ def Generate (_CodeFile ):
29
+ if (Check (_CodeFile ) is False ):
30
+ print "Failed to check the code file!!!"
31
+ return
32
+
33
+ if (os .path .isfile (_CodeFile ) is False ):
34
+ print "Can't find the code file!!!"
35
+ return
36
+
37
+ code_file = open (_CodeFile , 'r' )
38
+ if (code_file is None ):
39
+ print "Failed to read the code file!!!"
40
+ return
41
+ code_lines = code_file .readlines ()
42
+ code_file .close ()
43
+
44
+ code_file = open (_CodeFile , 'w' )
45
+ if (code_file is None ):
46
+ print "Failed to write the code file!!!"
47
+ return
48
+ meet_first_include = False
49
+ meet_last_include = False
50
+ for line in code_lines :
51
+ if (meet_first_include is False and line [0 :10 ] == "#include \" " ):
52
+ code_file .write ('\n {0} {1}\n \n ' .format (include_allow_header , comment ))
53
+ meet_first_include = True
54
+ code_file .write (line )
55
+ if (meet_last_include is False and line [:len (line ) - 1 ] == "// @@protoc_insertion_point(includes)" ):
56
+ code_file .write ('\n {0} {1}\n \n ' .format (include_hide_header , comment ))
57
+ meet_last_include = True
58
+ code_file .close ()
59
+ if (meet_first_include is False ):
60
+ print "Can't add the allow header!!!"
61
+ if (meet_last_include is False ):
62
+ print "Can't add the hide header!!!"
63
+ if (meet_first_include and meet_last_include ):
64
+ print "Success to regenerate the code for UE4"
65
+
66
+ if len (sys .argv ) <= 1 :
67
+ print "Usage: python regenerateforue4.py `code file`"
68
+ else :
69
+ Generate (sys .argv [1 ])
0 commit comments