@@ -31,6 +31,16 @@ PyMODINIT_FUNC initandroidembed(void) {
31
31
(void ) Py_InitModule ("androidembed" , AndroidEmbedMethods );
32
32
}
33
33
34
+ int file_exists (const char * filename )
35
+ {
36
+ FILE * file ;
37
+ if (file = fopen (filename , "r" )) {
38
+ fclose (file );
39
+ return 1 ;
40
+ }
41
+ return 0 ;
42
+ }
43
+
34
44
int main (int argc , char * * argv ) {
35
45
36
46
char * env_argument = NULL ;
@@ -85,15 +95,31 @@ int main(int argc, char **argv) {
85
95
*/
86
96
LOG ("Run user program, change dir and execute main.py" );
87
97
chdir (env_argument );
88
- fd = fopen ("main.py" , "r" );
98
+
99
+ /* search the initial main.py
100
+ */
101
+ char * main_py = "main.pyo" ;
102
+ if ( file_exists (main_py ) == 0 ) {
103
+ if ( file_exists ("main.py" ) )
104
+ main_py = "main.py" ;
105
+ else
106
+ main_py = NULL ;
107
+ }
108
+
109
+ if ( main_py == NULL ) {
110
+ LOG ("No main.pyo / main.py found." );
111
+ return -1 ;
112
+ }
113
+
114
+ fd = fopen (main_py , "r" );
89
115
if ( fd == NULL ) {
90
- LOG ("Open the main.py failed" );
116
+ LOG ("Open the main.py(o) failed" );
91
117
return -1 ;
92
118
}
93
119
94
120
/* run python !
95
121
*/
96
- ret = PyRun_SimpleFile (fd , "main.py" );
122
+ ret = PyRun_SimpleFile (fd , main_py );
97
123
98
124
if (PyErr_Occurred () != NULL ) {
99
125
ret = 1 ;
0 commit comments