Skip to content

Commit bb9d697

Browse files
authored
Merge pull request RustPython#1053 from RustPython/zen
Added the python zen module.
2 parents eeb7551 + ed63ebd commit bb9d697

File tree

2 files changed

+46
-16
lines changed

2 files changed

+46
-16
lines changed

Lib/this.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
s = """Gur Mra bs Clguba, ol Gvz Crgref
2+
3+
Ornhgvshy vf orggre guna htyl.
4+
Rkcyvpvg vf orggre guna vzcyvpvg.
5+
Fvzcyr vf orggre guna pbzcyrk.
6+
Pbzcyrk vf orggre guna pbzcyvpngrq.
7+
Syng vf orggre guna arfgrq.
8+
Fcnefr vf orggre guna qrafr.
9+
Ernqnovyvgl pbhagf.
10+
Fcrpvny pnfrf nera'g fcrpvny rabhtu gb oernx gur ehyrf.
11+
Nygubhtu cenpgvpnyvgl orngf chevgl.
12+
Reebef fubhyq arire cnff fvyragyl.
13+
Hayrff rkcyvpvgyl fvyraprq.
14+
Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff.
15+
Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg.
16+
Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu.
17+
Abj vf orggre guna arire.
18+
Nygubhtu arire vf bsgra orggre guna *evtug* abj.
19+
Vs gur vzcyrzragngvba vf uneq gb rkcynva, vg'f n onq vqrn.
20+
Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn.
21+
Anzrfcnprf ner bar ubaxvat terng vqrn -- yrg'f qb zber bs gubfr!"""
22+
23+
d = {}
24+
for c in (65, 97):
25+
for i in range(26):
26+
d[chr(i+c)] = chr((i+13) % 26 + c)
27+
28+
print("".join([d.get(c, c) for c in s]))

vm/src/sysmodule.rs

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -116,22 +116,24 @@ pub fn make_module(vm: &VirtualMachine, module: PyObjectRef, builtins: PyObjectR
116116
let path_list = if cfg!(target_arch = "wasm32") {
117117
vec![]
118118
} else {
119-
let get_paths = |paths| match paths {
120-
Some(paths) => env::split_paths(paths),
121-
None => env::split_paths(""),
122-
};
123-
124-
let rustpy_path = env::var_os("RUSTPYTHONPATH");
125-
let py_path = env::var_os("PYTHONPATH");
126-
get_paths(rustpy_path.as_ref())
127-
.chain(get_paths(py_path.as_ref()))
128-
.map(|path| {
129-
ctx.new_str(
130-
path.into_os_string()
131-
.into_string()
132-
.expect("PYTHONPATH isn't valid unicode"),
133-
)
134-
})
119+
fn get_paths(env_variable_name: &str) -> Vec<String> {
120+
let paths = env::var_os(env_variable_name);
121+
match paths {
122+
Some(paths) => env::split_paths(&paths)
123+
.map(|path| {
124+
path.into_os_string()
125+
.into_string()
126+
.expect(&format!("{} isn't valid unicode", env_variable_name))
127+
})
128+
.collect(),
129+
None => vec![],
130+
}
131+
}
132+
133+
get_paths("RUSTPYTHONPATH")
134+
.into_iter()
135+
.chain(get_paths("PYTHONPATH").into_iter())
136+
.map(|path| ctx.new_str(path))
135137
.collect()
136138
};
137139
let path = ctx.new_list(path_list);

0 commit comments

Comments
 (0)