mirror of
https://github.com/pocketpy/pocketpy
synced 2026-02-04 06:30:17 +00:00
fix import pyc
This commit is contained in:
parent
3c379402c8
commit
b775d239a5
@ -56,6 +56,7 @@ c11_sv c11_sv__slice2(c11_sv sv, int start, int stop);
|
|||||||
c11_sv c11_sv__strip(c11_sv sv, c11_sv chars, bool left, bool right);
|
c11_sv c11_sv__strip(c11_sv sv, c11_sv chars, bool left, bool right);
|
||||||
int c11_sv__index(c11_sv self, char c);
|
int c11_sv__index(c11_sv self, char c);
|
||||||
int c11_sv__rindex(c11_sv self, char c);
|
int c11_sv__rindex(c11_sv self, char c);
|
||||||
|
c11_sv c11_sv__filename(c11_sv self);
|
||||||
int c11_sv__index2(c11_sv self, c11_sv sub, int start);
|
int c11_sv__index2(c11_sv self, c11_sv sub, int start);
|
||||||
int c11_sv__count(c11_sv self, c11_sv sub);
|
int c11_sv__count(c11_sv self, c11_sv sub);
|
||||||
bool c11_sv__startswith(c11_sv self, c11_sv prefix);
|
bool c11_sv__startswith(c11_sv self, c11_sv prefix);
|
||||||
|
|||||||
@ -147,6 +147,14 @@ int c11_sv__rindex(c11_sv self, char c) {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
c11_sv c11_sv__filename(c11_sv self) {
|
||||||
|
int sep_index_1 = c11_sv__rindex(self, '/');
|
||||||
|
int sep_index_2 = c11_sv__rindex(self, '\\');
|
||||||
|
int sep_index = c11__max(sep_index_1, sep_index_2);
|
||||||
|
if(sep_index == -1) return self;
|
||||||
|
return c11_sv__slice(self, sep_index + 1);
|
||||||
|
}
|
||||||
|
|
||||||
int c11_sv__index2(c11_sv self, c11_sv sub, int start) {
|
int c11_sv__index2(c11_sv self, c11_sv sub, int start) {
|
||||||
if(sub.size == 0) return start;
|
if(sub.size == 0) return start;
|
||||||
int max_end = self.size - sub.size;
|
int max_end = self.size - sub.size;
|
||||||
|
|||||||
@ -78,8 +78,10 @@ int py_import(const char* path_cstr) {
|
|||||||
while(dot_count < path.size && path.data[dot_count] == '.')
|
while(dot_count < path.size && path.data[dot_count] == '.')
|
||||||
dot_count++;
|
dot_count++;
|
||||||
|
|
||||||
c11_sv top_filename = c11_string__sv(vm->top_frame->co->src->filename);
|
// */__init__.py[c]
|
||||||
int is_init = c11_sv__endswith(top_filename, (c11_sv){"__init__.py", 11});
|
c11_sv top_filepath = c11_string__sv(vm->top_frame->co->src->filename);
|
||||||
|
c11_sv top_filename = c11_sv__filename(top_filepath);
|
||||||
|
int is_init = c11__sveq2(top_filename, "__init__.py") || c11__sveq2(top_filename, "__init__.pyc");
|
||||||
|
|
||||||
py_ModuleInfo* mi = py_touserdata(vm->top_frame->module);
|
py_ModuleInfo* mi = py_touserdata(vm->top_frame->module);
|
||||||
c11_sv package_sv = c11_string__sv(mi->path);
|
c11_sv package_sv = c11_string__sv(mi->path);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user