forked from Rust-related/RustPython
Added the python zen module.
This commit is contained in:
28
Lib/this.py
Normal file
28
Lib/this.py
Normal file
@@ -0,0 +1,28 @@
|
||||
s = """Gur Mra bs Clguba, ol Gvz Crgref
|
||||
|
||||
Ornhgvshy vf orggre guna htyl.
|
||||
Rkcyvpvg vf orggre guna vzcyvpvg.
|
||||
Fvzcyr vf orggre guna pbzcyrk.
|
||||
Pbzcyrk vf orggre guna pbzcyvpngrq.
|
||||
Syng vf orggre guna arfgrq.
|
||||
Fcnefr vf orggre guna qrafr.
|
||||
Ernqnovyvgl pbhagf.
|
||||
Fcrpvny pnfrf nera'g fcrpvny rabhtu gb oernx gur ehyrf.
|
||||
Nygubhtu cenpgvpnyvgl orngf chevgl.
|
||||
Reebef fubhyq arire cnff fvyragyl.
|
||||
Hayrff rkcyvpvgyl fvyraprq.
|
||||
Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff.
|
||||
Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg.
|
||||
Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu.
|
||||
Abj vf orggre guna arire.
|
||||
Nygubhtu arire vf bsgra orggre guna *evtug* abj.
|
||||
Vs gur vzcyrzragngvba vf uneq gb rkcynva, vg'f n onq vqrn.
|
||||
Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn.
|
||||
Anzrfcnprf ner bar ubaxvat terng vqrn -- yrg'f qb zber bs gubfr!"""
|
||||
|
||||
d = {}
|
||||
for c in (65, 97):
|
||||
for i in range(26):
|
||||
d[chr(i+c)] = chr((i+13) % 26 + c)
|
||||
|
||||
print("".join([d.get(c, c) for c in s]))
|
||||
@@ -116,22 +116,24 @@ pub fn make_module(vm: &VirtualMachine, module: PyObjectRef, builtins: PyObjectR
|
||||
let path_list = if cfg!(target_arch = "wasm32") {
|
||||
vec![]
|
||||
} else {
|
||||
let get_paths = |paths| match paths {
|
||||
Some(paths) => env::split_paths(paths),
|
||||
None => env::split_paths(""),
|
||||
};
|
||||
fn get_paths(env_variable_name: &str) -> Vec<String> {
|
||||
let paths = env::var_os(env_variable_name);
|
||||
match paths {
|
||||
Some(paths) => env::split_paths(&paths)
|
||||
.map(|path| {
|
||||
path.into_os_string()
|
||||
.into_string()
|
||||
.expect(&format!("{} isn't valid unicode", env_variable_name))
|
||||
})
|
||||
.collect(),
|
||||
None => vec![],
|
||||
}
|
||||
}
|
||||
|
||||
let rustpy_path = env::var_os("RUSTPYTHONPATH");
|
||||
let py_path = env::var_os("PYTHONPATH");
|
||||
get_paths(rustpy_path.as_ref())
|
||||
.chain(get_paths(py_path.as_ref()))
|
||||
.map(|path| {
|
||||
ctx.new_str(
|
||||
path.into_os_string()
|
||||
.into_string()
|
||||
.expect("PYTHONPATH isn't valid unicode"),
|
||||
)
|
||||
})
|
||||
get_paths("RUSTPYTHONPATH")
|
||||
.into_iter()
|
||||
.chain(get_paths("PYTHONPATH").into_iter())
|
||||
.map(|path| ctx.new_str(path))
|
||||
.collect()
|
||||
};
|
||||
let path = ctx.new_list(path_list);
|
||||
|
||||
Reference in New Issue
Block a user