bytebraise/python/fixups/
methods.rs1pub fn fixup_oe_import(code: &mut String) {
2 let mut lines = code.lines().map(String::from).collect::<Vec<_>>();
3 let trimmed_lines = code.lines().map(|line| line.trim()).collect::<Vec<_>>();
4
5 let sys_line = trimmed_lines
6 .iter()
7 .position(|line| line == &"import sys")
8 .unwrap();
9 lines.insert(sys_line, String::from(" import os"));
10
11 let path_line = trimmed_lines
12 .iter()
13 .position(|line| line.starts_with("sys.path[0:0]") && line.contains("bbpath"))
14 .unwrap();
15
16 let s = path_line + 2;
17 lines.splice(
18 s..s,
19 vec![
20 String::from(
21 r#" sys.path.insert(0, os.path.join(d.getVar("COREBASE"), "bitbake", "lib"))"#,
22 ),
23 String::from(" import bb"),
24 ],
25 );
26
27 *code = lines.join("\n");
28}