summarylogtreecommitdiffstats
path: root/convert-links.patch
blob: 3e3bac381373908133a8cf0934c4ddb27e4309bc (plain)
ofshex dumpascii
0000 46 72 6f 6d 3a 20 4a 6f 68 61 6e 6e 65 73 20 44 65 77 65 6e 64 65 72 20 3c 61 72 63 68 40 4a 6f From:.Johannes.Dewender.<arch@Jo
0020 6e 6e 79 4a 44 2e 6e 65 74 3e 0a 53 75 62 6a 65 63 74 3a 20 63 6f 6e 76 65 72 74 20 6f 6e 6c 79 nnyJD.net>.Subject:.convert.only
0040 20 6e 6f 6e 2d 6c 69 6e 6b 65 64 20 6e 6f 74 20 69 6e 20 75 72 6c 73 0a 44 61 74 65 3a 20 4d 6f .non-linked.not.in.urls.Date:.Mo
0060 6e 2c 20 31 32 20 46 65 62 20 32 30 31 33 20 30 30 3a 32 30 3a 30 36 20 2b 30 31 30 30 0a 0a 57 n,.12.Feb.2013.00:20:06.+0100..W
0080 6f 72 64 73 20 77 68 65 72 65 20 6f 6e 6c 79 20 74 68 65 20 66 69 72 73 74 20 6c 65 74 74 65 72 ords.where.only.the.first.letter
00a0 20 69 73 20 75 70 70 65 72 63 61 73 65 20 61 72 65 20 6e 6f 74 20 43 61 6d 65 6c 43 61 73 65 2e .is.uppercase.are.not.CamelCase.
00c0 0a 0a 57 68 65 6e 20 74 68 65 72 65 20 69 73 20 61 20 5b 20 69 6e 20 74 68 65 20 77 6f 72 64 20 ..When.there.is.a.[.in.the.word.
00e0 62 65 66 6f 72 65 20 74 68 65 20 77 69 6b 69 20 70 61 67 65 20 6e 61 6d 65 20 69 74 20 69 73 20 before.the.wiki.page.name.it.is.
0100 61 6c 72 65 61 64 79 20 6c 69 6e 6b 65 64 2e 0a 4f 74 68 65 72 20 6c 65 74 74 65 72 73 20 69 6e already.linked..Other.letters.in
0120 20 74 68 65 20 77 6f 72 64 20 62 65 66 6f 72 65 20 74 68 65 20 70 61 67 65 20 6e 61 6d 65 20 6d .the.word.before.the.page.name.m
0140 65 61 6e 20 74 68 65 20 70 61 67 65 20 6e 61 6d 65 0a 69 73 20 61 6c 72 65 61 64 79 20 70 61 72 ean.the.page.name.is.already.par
0160 74 20 6f 66 20 61 20 77 6f 72 64 20 2d 3e 20 64 6f 6e 27 74 20 6c 69 6e 6b 2e 0a 4f 74 68 65 72 t.of.a.word.->.don't.link..Other
0180 77 69 73 65 20 6e 6f 6e 2d 6c 65 74 74 65 72 73 20 63 61 6e 20 62 65 20 61 74 20 74 68 65 20 73 wise.non-letters.can.be.at.the.s
01a0 74 61 72 74 20 6f 66 20 74 68 65 20 77 6f 72 64 0a 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 tart.of.the.word.and.the.followi
01c0 6e 67 20 70 61 72 74 20 77 69 6c 6c 20 73 74 69 6c 6c 20 62 65 20 6c 69 6e 6b 65 64 2e 0a 0a 49 ng.part.will.still.be.linked...I
01e0 20 6c 65 66 74 20 74 68 65 20 64 6f 73 20 6c 69 6e 65 20 65 6e 64 69 6e 67 73 20 61 6c 6f 6e 65 .left.the.dos.line.endings.alone
0200 2c 0a 74 68 61 74 20 6d 69 67 68 74 20 6f 72 20 6d 69 67 68 74 20 6e 6f 74 20 68 65 6c 70 20 77 ,.that.might.or.might.not.help.w
0220 69 6e 64 6f 77 73 20 75 73 65 72 73 0a 61 6e 64 20 69 74 20 77 6f 72 6b 73 20 66 6f 72 20 75 73 indows.users.and.it.works.for.us
0240 2e 0a 49 20 64 69 64 20 68 61 76 65 20 74 6f 20 68 61 63 6b 20 61 20 6e 65 77 6c 69 6e 65 20 28 ..I.did.have.to.hack.a.newline.(
0260 5e 40 29 20 66 6f 72 20 74 68 65 20 73 68 65 62 61 6e 67 20 74 68 6f 75 67 68 2e 0a 0a 64 69 66 ^@).for.the.shebang.though...dif
0280 66 20 2d 61 75 20 6f 6c 64 2f 63 6f 6e 76 65 72 74 5f 6c 69 6e 6b 73 2e 70 79 20 6e 65 77 2f 63 f.-au.old/convert_links.py.new/c
02a0 6f 6e 76 65 72 74 5f 6c 69 6e 6b 73 2e 70 79 0a 2d 2d 2d 20 6f 6c 64 2f 63 6f 6e 76 65 72 74 5f onvert_links.py.---.old/convert_
02c0 6c 69 6e 6b 73 2e 70 79 09 32 30 31 33 2d 30 32 2d 31 31 20 32 32 3a 30 34 3a 34 31 2e 33 39 35 links.py.2013-02-11.22:04:41.395
02e0 35 30 36 33 39 39 20 2b 30 31 30 30 0a 2b 2b 2b 20 6e 65 77 2f 63 6f 6e 76 65 72 74 5f 6c 69 6e 506399.+0100.+++.new/convert_lin
0300 6b 73 2e 70 79 09 32 30 31 33 2d 30 32 2d 31 32 20 30 32 3a 35 35 3a 32 31 2e 33 36 34 30 30 31 ks.py.2013-02-12.02:55:21.364001
0320 34 35 38 20 2b 30 31 30 30 0a 40 40 20 2d 31 2c 33 20 2b 31 2c 35 20 40 40 0a 2b 23 21 2f 75 73 458.+0100.@@.-1,3.+1,5.@@.+#!/us
0340 72 2f 62 69 6e 2f 70 79 74 68 6f 6e 32 00 0d 0a 2b 23 0d 0a 20 27 27 27 20 43 6f 6e 76 65 72 74 r/bin/python2...+#...'''.Convert
0360 20 43 61 6d 65 6c 43 61 73 65 20 6c 69 6e 6b 73 20 69 6e 20 61 20 76 69 6d 77 69 6b 69 20 74 6f .CamelCase.links.in.a.vimwiki.to
0380 20 65 6e 63 6c 6f 73 69 6e 67 20 77 69 74 68 20 64 6f 75 62 6c 65 20 73 71 75 61 72 65 0d 0a 20 .enclosing.with.double.square...
03a0 62 72 61 63 6b 65 74 20 66 6f 72 6d 61 74 2e 20 20 45 72 72 73 20 6f 6e 20 74 68 65 20 73 61 66 bracket.format...Errs.on.the.saf
03c0 65 20 73 69 64 65 20 62 79 20 6f 6e 6c 79 20 63 6f 6e 76 65 72 74 69 6e 67 20 43 61 6d 65 6c 43 e.side.by.only.converting.CamelC
03e0 61 73 65 20 77 6f 72 64 73 20 74 68 61 74 0d 0a 20 68 61 76 65 20 61 20 63 6f 72 72 65 73 70 6f ase.words.that...have.a.correspo
0400 6e 64 69 6e 67 20 66 69 6c 65 2e 20 0d 0a 40 40 20 2d 37 2c 32 37 20 2b 39 2c 33 33 20 40 40 0a nding.file....@@.-7,27.+9,33.@@.
0420 20 63 6f 6e 76 65 72 73 69 6f 6e 73 2e 20 20 43 61 72 65 66 75 6c 6c 79 20 63 68 65 63 6b 20 74 .conversions...Carefully.check.t
0440 68 65 20 66 69 6c 65 73 20 61 6e 64 20 6c 69 6e 6b 73 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 he.files.and.links.that.will.be.
0460 63 6f 6e 76 65 72 74 65 64 2e 0d 0a 20 0d 0a 20 55 73 61 67 65 3a 0d 0a 2d 20 20 20 20 70 79 74 converted.......Usage:..-....pyt
0480 68 6f 6e 20 63 6f 6e 76 65 72 74 5f 6c 69 6e 6b 73 2e 70 79 20 77 69 6b 69 5f 64 69 72 65 63 74 hon.convert_links.py.wiki_direct
04a0 6f 72 79 0d 0a 2d 0d 0a 2d 42 75 67 73 3a 0d 0a 2d 2a 20 54 4f 44 4f 20 43 61 6d 65 6c 43 61 73 ory..-..-Bugs:..-*.TODO.CamelCas
04c0 65 20 6c 69 6e 6b 73 20 61 6c 72 65 61 64 79 20 77 72 61 70 70 65 64 20 69 6e 20 5b 5b 20 77 69 e.links.already.wrapped.in.[[.wi
04e0 6c 6c 20 68 61 76 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 5b 5b 20 61 64 64 65 64 0d 0a 2d 2a 20 ll.have.additional.[[.added..-*.
0500 41 6c 6c 20 69 6e 73 74 61 6e 63 65 73 20 6f 66 20 66 69 6c 65 6e 61 6d 65 73 20 77 69 6c 6c 20 All.instances.of.filenames.will.
0520 62 65 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 20 73 6f 6d 65 20 63 61 73 65 73 20 74 68 69 73 20 be.converted.in.some.cases.this.
0540 6d 69 67 68 74 20 62 65 20 69 6e 63 6f 72 72 65 63 74 0d 0a 2b 20 20 20 20 63 6f 6e 76 65 72 74 might.be.incorrect..+....convert
0560 5f 6c 69 6e 6b 73 2e 70 79 20 5b 77 69 6b 69 5f 64 69 72 65 63 74 6f 72 79 5d 0d 0a 20 0d 0a 20 _links.py.[wiki_directory]......
0580 4c 69 63 65 6e 73 65 3a 20 47 50 4c 33 0d 0a 20 41 75 74 68 6f 72 3a 20 4a 75 6c 69 61 6e 20 52 License:.GPL3...Author:.Julian.R
05a0 79 64 65 0d 0a 2d 0d 0a 2b 50 61 74 63 68 65 64 20 62 79 3a 20 4a 6f 68 61 6e 6e 65 73 20 44 65 yde..-..+Patched.by:.Johannes.De
05c0 77 65 6e 64 65 72 20 28 41 72 63 68 20 4c 69 6e 75 78 20 70 61 63 6b 61 67 65 29 0d 0a 20 27 27 wender.(Arch.Linux.package)...''
05e0 27 0d 0a 20 0d 0a 20 69 6d 70 6f 72 74 20 73 79 73 0d 0a 20 69 6d 70 6f 72 74 20 6f 73 0d 0a 2b '......import.sys...import.os..+
0600 69 6d 70 6f 72 74 20 72 65 0d 0a 2b 69 6d 70 6f 72 74 20 6c 6f 63 61 6c 65 0d 0a 20 0d 0a 20 64 import.re..+import.locale......d
0620 65 66 20 69 73 5f 63 61 6d 65 6c 63 61 73 65 28 73 29 3a 0d 0a 2d 20 20 20 20 23 20 77 6f 72 6b ef.is_camelcase(s):..-....#.work
0640 73 20 71 75 69 74 65 20 77 65 6c 6c 20 62 75 74 20 43 61 6d 65 6c 63 61 73 65 20 72 65 74 75 72 s.quite.well.but.Camelcase.retur
0660 6e 73 20 74 72 75 65 0d 0a 2d 20 20 20 20 72 65 74 75 72 6e 20 28 73 20 21 3d 20 73 2e 6c 6f 77 ns.true..-....return.(s.!=.s.low
0680 65 72 28 29 29 20 61 6e 64 20 28 73 20 21 3d 20 73 2e 75 70 70 65 72 28 29 29 0d 0a 2b 20 20 20 er()).and.(s.!=.s.upper())..+...
06a0 20 69 66 20 28 73 20 21 3d 20 73 2e 6c 6f 77 65 72 28 29 29 20 61 6e 64 20 28 73 20 21 3d 20 73 .if.(s.!=.s.lower()).and.(s.!=.s
06c0 2e 75 70 70 65 72 28 29 29 3a 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 63 61 6e 64 69 64 61 74 65 .upper()):..+........#.candidate
06e0 73 0d 0a 2b 20 20 20 20 20 20 20 20 73 32 20 3d 20 73 5b 31 3a 5d 0d 0a 2b 20 20 20 20 20 20 20 s..+........s2.=.s[1:]..+.......
0700 20 23 20 74 68 69 73 20 69 73 20 74 68 65 20 72 65 61 6c 20 74 65 73 74 2e 20 46 69 72 73 74 20 .#.this.is.the.real.test..First.
0720 63 68 61 72 61 63 74 65 72 20 62 69 67 20 69 73 20 73 74 69 6c 6c 20 6f 6b 61 79 0d 0a 2b 20 20 character.big.is.still.okay..+..
0740 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 73 32 20 21 3d 20 73 32 2e 6c 6f 77 65 72 28 29 29 20 ......return.(s2.!=.s2.lower()).
0760 61 6e 64 20 28 73 32 20 21 3d 20 73 32 2e 75 70 70 65 72 28 29 29 0d 0a 20 0d 0a 20 0d 0a 20 77 and.(s2.!=.s2.upper()).........w
0780 69 6b 69 5f 65 78 74 20 3d 20 27 2e 77 69 6b 69 27 0d 0a 2d 62 61 73 65 64 69 72 20 3d 20 73 79 iki_ext.=.'.wiki'..-basedir.=.sy
07a0 73 2e 61 72 67 76 5b 31 5d 20 23 20 62 61 73 65 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 s.argv[1].#.base.directory.of.th
07c0 65 20 77 69 6b 69 0d 0a 2b 0d 0a 2b 69 66 20 6c 65 6e 28 73 79 73 2e 61 72 67 76 29 20 3c 20 32 e.wiki..+..+if.len(sys.argv).<.2
07e0 20 6f 72 20 73 79 73 2e 61 72 67 76 5b 31 5d 20 69 6e 20 5b 22 2d 68 22 2c 20 22 2d 2d 68 65 6c .or.sys.argv[1].in.["-h",."--hel
0800 70 22 5d 3a 0d 0a 2b 20 20 20 20 70 72 69 6e 74 28 22 55 73 61 67 65 3a 20 25 73 20 5b 77 69 6b p"]:..+....print("Usage:.%s.[wik
0820 69 5f 64 69 72 65 63 74 6f 72 79 5d 22 20 25 20 73 79 73 2e 61 72 67 76 5b 30 5d 29 0d 0a 2b 20 i_directory]".%.sys.argv[0])..+.
0840 20 20 20 73 79 73 2e 65 78 69 74 28 2d 31 29 0d 0a 2b 65 6c 73 65 3a 0d 0a 2b 20 20 20 20 62 61 ...sys.exit(-1)..+else:..+....ba
0860 73 65 64 69 72 20 3d 20 73 79 73 2e 61 72 67 76 5b 31 5d 20 23 20 62 61 73 65 20 64 69 72 65 63 sedir.=.sys.argv[1].#.base.direc
0880 74 6f 72 79 20 6f 66 20 74 68 65 20 77 69 6b 69 0d 0a 20 23 6f 75 74 70 75 74 64 69 72 20 3d 20 tory.of.the.wiki...#outputdir.=.
08a0 73 79 73 2e 61 72 67 76 5b 32 5d 0d 0a 20 0d 0a 20 23 20 67 65 6e 65 72 61 74 65 20 64 69 63 74 sys.argv[2]......#.generate.dict
08c0 69 6f 6e 61 72 79 20 6f 66 20 66 69 6c 65 20 6e 61 6d 65 73 0d 0a 40 40 20 2d 35 37 2c 31 30 20 ionary.of.file.names..@@.-57,10.
08e0 2b 36 35 2c 32 34 20 40 40 0a 20 23 20 63 6f 6e 74 65 6e 74 73 20 61 6e 64 20 72 65 70 6c 61 63 +65,24.@@..#.contents.and.replac
0900 65 20 0d 0a 20 66 6f 72 20 77 69 6b 69 5f 66 69 6c 65 20 69 6e 20 77 69 6b 69 5f 66 69 6c 65 73 e....for.wiki_file.in.wiki_files
0920 3a 0d 0a 20 20 20 20 20 66 6e 61 6d 65 20 3d 20 6f 73 2e 70 61 74 68 2e 6a 6f 69 6e 28 62 61 73 :.......fname.=.os.path.join(bas
0940 65 64 69 72 2c 20 77 69 6b 69 5f 66 69 6c 65 20 2b 20 77 69 6b 69 5f 65 78 74 29 0d 0a 2d 20 20 edir,.wiki_file.+.wiki_ext)..-..
0960 20 20 63 6f 6e 74 65 6e 74 73 20 3d 20 6f 70 65 6e 28 66 6e 61 6d 65 29 2e 72 65 61 64 28 29 0d ..contents.=.open(fname).read().
0980 0a 2b 20 20 20 20 63 6f 6e 74 65 6e 74 73 20 3d 20 6f 70 65 6e 28 66 6e 61 6d 65 29 2e 72 65 61 .+....contents.=.open(fname).rea
09a0 64 28 29 2e 64 65 63 6f 64 65 28 6c 6f 63 61 6c 65 2e 67 65 74 70 72 65 66 65 72 72 65 64 65 6e d().decode(locale.getpreferreden
09c0 63 6f 64 69 6e 67 28 29 29 0d 0a 20 20 20 20 20 23 20 72 65 70 6c 61 63 65 20 65 61 63 68 20 77 coding()).......#.replace.each.w
09e0 69 6b 69 5f 6c 69 6e 6b 20 77 69 74 68 20 74 68 65 20 6e 65 77 20 66 6f 72 6d 20 66 6f 72 20 74 iki_link.with.the.new.form.for.t
0a00 68 69 73 20 66 69 6c 65 0d 0a 20 20 20 20 20 66 6f 72 20 77 69 6b 69 5f 6c 69 6e 6b 20 69 6e 20 his.file.......for.wiki_link.in.
0a20 77 69 6b 69 5f 6c 69 6e 6b 73 3a 0d 0a 2d 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 73 20 3d wiki_links:..-........contents.=
0a40 20 63 6f 6e 74 65 6e 74 73 2e 72 65 70 6c 61 63 65 28 77 69 6b 69 5f 6c 69 6e 6b 2c 20 27 5b 5b .contents.replace(wiki_link,.'[[
0a60 27 20 2b 20 77 69 6b 69 5f 6c 69 6e 6b 20 2b 20 27 5d 5d 27 29 0d 0a 2b 20 20 20 20 20 20 20 20 '.+.wiki_link.+.']]')..+........
0a80 23 20 6f 6e 6c 79 20 63 68 61 6e 67 65 20 77 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 #.only.change.when.there.are.no.
0aa0 6c 69 6e 6b 73 20 74 61 67 73 20 61 72 6f 75 6e 64 2c 20 79 65 74 0d 0a 2b 20 20 20 20 20 20 20 links.tags.around,.yet..+.......
0ac0 20 23 20 69 6e 20 68 74 74 70 20 6c 69 6e 6b 73 20 6e 6f 74 68 69 6e 67 20 73 68 6f 75 6c 64 20 .#.in.http.links.nothing.should.
0ae0 62 65 20 63 68 61 6e 67 65 64 2c 20 74 6f 6f 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 74 68 61 74 be.changed,.too..+........#.that
0b00 20 69 73 20 75 70 20 66 72 6f 6e 74 3a 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 20 20 77 68 65 6e .is.up.front:..+........#...when
0b20 20 69 74 20 73 74 61 72 74 73 20 74 68 65 20 6c 69 6e 65 20 6f 72 20 77 6f 72 64 0d 0a 2b 20 20 .it.starts.the.line.or.word..+..
0b40 20 20 20 20 20 20 23 20 20 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 73 65 70 65 61 72 61 74 ......#...when.there.is.sepearat
0b60 6f 72 20 75 70 20 66 72 6f 6e 74 20 61 6e 64 20 6e 6f 20 3a 20 69 6e 20 74 68 65 20 77 6f 72 64 or.up.front.and.no.:.in.the.word
0b80 20 62 65 66 6f 72 65 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 20 20 20 20 20 22 3a 22 20 74 6f 20 .before..+........#......":".to.
0ba0 64 69 73 61 62 6c 65 20 6c 69 6e 6b 69 6e 67 20 69 6e 20 6c 69 6e 6b 73 20 28 70 61 72 74 20 6f disable.linking.in.links.(part.o
0bc0 66 20 68 74 74 70 3a 2f 2f 29 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 61 6e 64 20 69 6e 20 74 68 f.http://)..+........#.and.in.th
0be0 65 20 62 61 63 6b 3a 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 20 20 77 68 65 6e 20 69 74 20 65 6e e.back:..+........#...when.it.en
0c00 64 73 20 74 68 65 20 6c 69 6e 65 20 6f 72 20 77 6f 72 64 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 ds.the.line.or.word..+........#.
0c20 20 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 61 20 73 65 70 61 72 61 74 6f 72 20 61 74 20 74 ..when.there.is.a.separator.at.t
0c40 68 65 20 65 6e 64 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 20 20 20 20 20 77 65 20 64 6f 6e 27 74 he.end..+........#......we.don't
0c60 20 68 61 76 65 20 74 6f 20 63 61 72 65 20 61 62 6f 75 74 20 75 72 6c 73 20 68 65 72 65 0d 0a 2b .have.to.care.about.urls.here..+
0c80 20 20 20 20 20 20 20 20 70 61 74 74 65 72 6e 20 3d 20 72 27 28 5e 7c 5c 73 7c 28 5e 7c 5c 73 29 ........pattern.=.r'(^|\s|(^|\s)
0ca0 5b 5e 3a 5d 2a 5b 5e 5b 5c 77 5d 29 25 73 28 5b 5e 5d 5c 77 5d 7c 5c 73 7c 24 29 27 20 25 20 77 [^:]*[^[\w])%s([^]\w]|\s|$)'.%.w
0cc0 69 6b 69 5f 6c 69 6e 6b 0d 0a 2b 20 20 20 20 20 20 20 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 3d iki_link..+........replacement.=
0ce0 20 72 27 5c 31 5b 5b 25 73 5d 5d 5c 33 27 20 25 20 77 69 6b 69 5f 6c 69 6e 6b 0d 0a 2b 20 20 20 .r'\1[[%s]]\3'.%.wiki_link..+...
0d00 20 20 20 20 20 63 6f 6e 74 65 6e 74 73 20 3d 20 72 65 2e 73 75 62 28 70 61 74 74 65 72 6e 2c 20 .....contents.=.re.sub(pattern,.
0d20 72 65 70 6c 61 63 65 6d 65 6e 74 2c 20 63 6f 6e 74 65 6e 74 73 2c 20 66 6c 61 67 73 3d 72 65 2e replacement,.contents,.flags=re.
0d40 55 4e 49 43 4f 44 45 29 0d 0a 20 20 20 20 20 23 20 73 61 76 65 20 6d 6f 64 69 66 69 65 64 20 63 UNICODE).......#.save.modified.c
0d60 6f 6e 74 65 6e 74 73 0d 0a 20 20 20 20 20 23 70 72 69 6e 74 20 27 53 61 76 69 6e 67 27 2c 20 66 ontents.......#print.'Saving',.f
0d80 6e 61 6d 65 0d 0a 2d 20 20 20 20 6f 70 65 6e 28 66 6e 61 6d 65 2c 20 27 77 27 29 2e 77 72 69 74 name..-....open(fname,.'w').writ
0da0 65 28 63 6f 6e 74 65 6e 74 73 29 0d 0a 2b 20 20 20 20 6f 70 65 6e 28 66 6e 61 6d 65 2c 20 27 77 e(contents)..+....open(fname,.'w
0dc0 27 29 2e 77 72 69 74 65 28 63 6f 6e 74 65 6e 74 73 2e 65 6e 63 6f 64 65 28 6c 6f 63 61 6c 65 2e ').write(contents.encode(locale.
0de0 67 65 74 70 72 65 66 65 72 72 65 64 65 6e 63 6f 64 69 6e 67 28 29 29 29 0d 0a 2b 0d 0a 2b 23 20 getpreferredencoding()))..+..+#.
0e00 76 69 6d 3a 73 65 74 20 74 73 3d 34 20 73 77 3d 34 20 65 74 3a 0d 0a vim:set.ts=4.sw=4.et:..