ofs | hex dump | ascii |
---|
0000 | d1 f2 0d 0a 1d 08 a0 4a 63 00 00 00 00 00 00 00 00 07 00 00 00 40 00 00 00 73 78 00 00 00 64 00 | .......Jc............@...sx...d. |
0020 | 00 5a 00 00 64 01 00 64 02 00 67 02 00 5a 01 00 64 03 00 64 04 00 6b 02 00 5a 02 00 64 03 00 64 | .Z..d..d..g..Z..d..d..k..Z..d..d |
0040 | 04 00 6b 03 00 5a 03 00 64 03 00 64 04 00 6b 04 00 5a 05 00 64 03 00 64 05 00 6b 06 00 6c 07 00 | ..k..Z..d..d..k..Z..d..d..k..l.. |
0060 | 5a 07 00 01 64 03 00 64 06 00 6b 08 00 6c 09 00 5a 09 00 01 64 07 00 84 00 00 5a 0a 00 64 08 00 | Z...d..d..k..l..Z...d.....Z..d.. |
0080 | 84 00 00 5a 0b 00 64 04 00 64 09 00 84 01 00 5a 0d 00 64 04 00 53 28 0a 00 00 00 73 2d 00 00 00 | ...Z..d..d.....Z..d..S(....s-... |
00a0 | 43 6f 6e 76 69 65 6e 63 65 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 57 65 62 61 | Convience.functions.for.the.Weba |
00c0 | 70 70 20 66 72 61 6d 65 77 6f 72 6b 2e 74 0e 00 00 00 6c 6f 67 69 6e 5f 72 65 71 75 69 72 65 64 | pp.framework.t....login_required |
00e0 | 74 0c 00 00 00 72 75 6e 5f 77 73 67 69 5f 61 70 70 69 ff ff ff ff 4e 28 01 00 00 00 74 05 00 00 | t....run_wsgi_appi....N(....t... |
0100 | 00 75 73 65 72 73 28 01 00 00 00 74 06 00 00 00 77 65 62 61 70 70 63 01 00 00 00 02 00 00 00 02 | .users(....t....webappc......... |
0120 | 00 00 00 03 00 00 00 73 13 00 00 00 87 00 00 66 01 00 64 01 00 86 00 00 7d 01 00 7c 01 00 53 28 | .......s.......f..d.....}..|..S( |
0140 | 02 00 00 00 73 d5 01 00 00 41 20 64 65 63 6f 72 61 74 6f 72 20 74 6f 20 72 65 71 75 69 72 65 20 | ....s....A.decorator.to.require. |
0160 | 74 68 61 74 20 61 20 75 73 65 72 20 62 65 20 6c 6f 67 67 65 64 20 69 6e 20 74 6f 20 61 63 63 65 | that.a.user.be.logged.in.to.acce |
0180 | 73 73 20 61 20 68 61 6e 64 6c 65 72 2e 0a 0a 20 20 54 6f 20 75 73 65 20 69 74 2c 20 64 65 63 6f | ss.a.handler.....To.use.it,.deco |
01a0 | 72 61 74 65 20 79 6f 75 72 20 67 65 74 28 29 20 6d 65 74 68 6f 64 20 6c 69 6b 65 20 74 68 69 73 | rate.your.get().method.like.this |
01c0 | 3a 0a 0a 20 20 20 20 40 6c 6f 67 69 6e 5f 72 65 71 75 69 72 65 64 0a 20 20 20 20 64 65 66 20 67 | :......@login_required.....def.g |
01e0 | 65 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 75 73 65 72 20 3d 20 75 73 65 72 73 2e 67 65 74 | et(self):.......user.=.users.get |
0200 | 5f 63 75 72 72 65 6e 74 5f 75 73 65 72 28 73 65 6c 66 29 0a 20 20 20 20 20 20 73 65 6c 66 2e 72 | _current_user(self).......self.r |
0220 | 65 73 70 6f 6e 73 65 2e 6f 75 74 2e 77 72 69 74 65 28 27 48 65 6c 6c 6f 2c 20 27 20 2b 20 75 73 | esponse.out.write('Hello,.'.+.us |
0240 | 65 72 2e 6e 69 63 6b 6e 61 6d 65 28 29 29 0a 0a 20 20 57 65 20 77 69 6c 6c 20 72 65 64 69 72 65 | er.nickname())....We.will.redire |
0260 | 63 74 20 74 6f 20 61 20 6c 6f 67 69 6e 20 70 61 67 65 20 69 66 20 74 68 65 20 75 73 65 72 20 69 | ct.to.a.login.page.if.the.user.i |
0280 | 73 20 6e 6f 74 20 6c 6f 67 67 65 64 20 69 6e 2e 20 57 65 20 61 6c 77 61 79 73 0a 20 20 72 65 64 | s.not.logged.in..We.always...red |
02a0 | 69 72 65 63 74 20 74 6f 20 74 68 65 20 72 65 71 75 65 73 74 20 55 52 49 2c 20 61 6e 64 20 47 6f | irect.to.the.request.URI,.and.Go |
02c0 | 6f 67 6c 65 20 41 63 63 6f 75 6e 74 73 20 6f 6e 6c 79 20 72 65 64 69 72 65 63 74 73 20 62 61 63 | ogle.Accounts.only.redirects.bac |
02e0 | 6b 20 61 73 20 61 20 47 45 54 0a 20 20 72 65 71 75 65 73 74 2c 20 73 6f 20 74 68 69 73 20 73 68 | k.as.a.GET...request,.so.this.sh |
0300 | 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 66 6f 72 20 50 4f 53 54 73 2e 0a 20 20 63 01 | ould.not.be.used.for.POSTs....c. |
0320 | 00 00 00 03 00 00 00 03 00 00 00 17 00 00 00 73 6b 00 00 00 7c 00 00 69 00 00 69 01 00 64 01 00 | ...............sk...|..i..i..d.. |
0340 | 6a 03 00 6f 13 00 01 74 02 00 69 03 00 64 02 00 83 01 00 82 01 00 6e 01 00 01 74 04 00 69 05 00 | j..o...t..i..d........n...t..i.. |
0360 | 83 00 00 7d 02 00 7c 02 00 70 21 00 01 7c 00 00 69 06 00 74 04 00 69 07 00 7c 00 00 69 00 00 69 | ...}..|..p!..|..i..t..i..|..i..i |
0380 | 08 00 83 01 00 83 01 00 01 64 00 00 53 01 88 00 00 7c 00 00 7c 01 00 8c 01 00 01 64 00 00 53 28 | .........d..S....|..|......d..S( |
03a0 | 03 00 00 00 4e 74 03 00 00 00 47 45 54 73 3b 00 00 00 54 68 65 20 63 68 65 63 6b 5f 6c 6f 67 69 | ....Nt....GETs;...The.check_logi |
03c0 | 6e 20 64 65 63 6f 72 61 74 6f 72 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 66 6f 72 | n.decorator.can.only.be.used.for |
03e0 | 20 47 45 54 20 72 65 71 75 65 73 74 73 28 09 00 00 00 74 07 00 00 00 72 65 71 75 65 73 74 74 06 | .GET.requests(....t....requestt. |
0400 | 00 00 00 6d 65 74 68 6f 64 52 03 00 00 00 74 05 00 00 00 45 72 72 6f 72 52 02 00 00 00 74 10 00 | ...methodR....t....ErrorR....t.. |
0420 | 00 00 67 65 74 5f 63 75 72 72 65 6e 74 5f 75 73 65 72 74 08 00 00 00 72 65 64 69 72 65 63 74 74 | ..get_current_usert....redirectt |
0440 | 10 00 00 00 63 72 65 61 74 65 5f 6c 6f 67 69 6e 5f 75 72 6c 74 03 00 00 00 75 72 69 28 03 00 00 | ....create_login_urlt....uri(... |
0460 | 00 74 04 00 00 00 73 65 6c 66 74 04 00 00 00 61 72 67 73 74 04 00 00 00 75 73 65 72 28 01 00 00 | .t....selft....argst....user(... |
0480 | 00 74 0e 00 00 00 68 61 6e 64 6c 65 72 5f 6d 65 74 68 6f 64 28 00 00 00 00 73 48 00 00 00 2f 68 | .t....handler_method(....sH.../h |
04a0 | 6f 6d 65 2f 7a 78 32 63 34 2f 44 65 73 6b 74 6f 70 2f 67 6f 6f 67 6c 65 5f 61 70 70 65 6e 67 69 | ome/zx2c4/Desktop/google_appengi |
04c0 | 6e 65 2f 67 6f 6f 67 6c 65 2f 61 70 70 65 6e 67 69 6e 65 2f 65 78 74 2f 77 65 62 61 70 70 2f 75 | ne/google/appengine/ext/webapp/u |
04e0 | 74 69 6c 2e 70 79 74 0b 00 00 00 63 68 65 63 6b 5f 6c 6f 67 69 6e 30 00 00 00 73 0e 00 00 00 00 | til.pyt....check_login0...s..... |
0500 | 01 13 01 13 02 0c 01 07 01 1c 01 05 02 28 00 00 00 00 28 02 00 00 00 52 0f 00 00 00 52 10 00 00 | .............(....(....R....R... |
0520 | 00 28 00 00 00 00 28 01 00 00 00 52 0f 00 00 00 73 48 00 00 00 2f 68 6f 6d 65 2f 7a 78 32 63 34 | .(....(....R....sH.../home/zx2c4 |
0540 | 2f 44 65 73 6b 74 6f 70 2f 67 6f 6f 67 6c 65 5f 61 70 70 65 6e 67 69 6e 65 2f 67 6f 6f 67 6c 65 | /Desktop/google_appengine/google |
0560 | 2f 61 70 70 65 6e 67 69 6e 65 2f 65 78 74 2f 77 65 62 61 70 70 2f 75 74 69 6c 2e 70 79 52 00 00 | /appengine/ext/webapp/util.pyR.. |
0580 | 00 00 22 00 00 00 73 04 00 00 00 00 0e 0f 0a 63 01 00 00 00 04 00 00 00 03 00 00 00 43 00 00 00 | .."...s........c............C... |
05a0 | 73 ac 00 00 00 74 00 00 74 01 00 69 02 00 83 01 00 7d 01 00 74 03 00 69 04 00 7c 01 00 64 01 00 | s....t..t..i.....}..t..i..|..d.. |
05c0 | 3c 74 03 00 69 05 00 7c 01 00 64 02 00 3c 64 0b 00 7c 01 00 64 05 00 3c 74 06 00 7c 01 00 64 06 | <t..i..|..d..<d..|..d..<t..|..d. |
05e0 | 00 3c 74 07 00 69 08 00 69 09 00 7c 01 00 83 01 00 7c 01 00 64 07 00 3c 74 0a 00 7c 01 00 64 08 | .<t..i..i..|.....|..d..<t..|..d. |
0600 | 00 3c 74 0a 00 7c 01 00 64 09 00 3c 7c 00 00 7c 01 00 74 0b 00 83 02 00 7d 02 00 7c 02 00 64 0a | .<t..|..d..<|..|..t.....}..|..d. |
0620 | 00 6a 09 00 6f 25 00 01 78 22 00 7c 02 00 44 5d 16 00 7d 03 00 74 03 00 69 0d 00 69 0e 00 7c 03 | .j..o%..x".|..D]..}..t..i..i..|. |
0640 | 00 83 01 00 01 71 8a 00 57 6e 01 00 01 64 0a 00 53 28 0c 00 00 00 73 05 01 00 00 52 75 6e 73 20 | .....q..Wn...d..S(....s....Runs. |
0660 | 79 6f 75 72 20 57 53 47 49 2d 63 6f 6d 70 6c 69 61 6e 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 | your.WSGI-compliant.application. |
0680 | 6f 62 6a 65 63 74 20 69 6e 20 61 20 43 47 49 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 0a 20 20 | object.in.a.CGI.environment..... |
06a0 | 43 6f 6d 70 61 72 65 64 20 74 6f 20 77 73 67 69 72 65 66 2e 68 61 6e 64 6c 65 72 73 2e 43 47 49 | Compared.to.wsgiref.handlers.CGI |
06c0 | 48 61 6e 64 6c 65 72 28 29 2e 72 75 6e 28 61 70 70 6c 69 63 61 74 69 6f 6e 29 2c 20 74 68 69 73 | Handler().run(application),.this |
06e0 | 0a 20 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 73 6f 6d 65 20 73 68 6f 72 74 63 75 74 73 | ...function.takes.some.shortcuts |
0700 | 2e 20 20 54 68 6f 73 65 20 61 72 65 20 70 6f 73 73 69 62 6c 65 20 62 65 63 61 75 73 65 20 74 68 | ...Those.are.possible.because.th |
0720 | 65 0a 20 20 61 70 70 20 73 65 72 76 65 72 20 6d 61 6b 65 73 20 73 74 72 6f 6e 67 65 72 20 70 72 | e...app.server.makes.stronger.pr |
0740 | 6f 6d 69 73 65 73 20 74 68 61 6e 20 74 68 65 20 43 47 49 20 73 74 61 6e 64 61 72 64 2e 0a 20 20 | omises.than.the.CGI.standard.... |
0760 | 73 0a 00 00 00 77 73 67 69 2e 69 6e 70 75 74 73 0b 00 00 00 77 73 67 69 2e 65 72 72 6f 72 73 69 | s....wsgi.inputs....wsgi.errorsi |
0780 | 01 00 00 00 69 00 00 00 00 73 0c 00 00 00 77 73 67 69 2e 76 65 72 73 69 6f 6e 73 0d 00 00 00 77 | ....i....s....wsgi.versions....w |
07a0 | 73 67 69 2e 72 75 6e 5f 6f 6e 63 65 73 0f 00 00 00 77 73 67 69 2e 75 72 6c 5f 73 63 68 65 6d 65 | sgi.run_onces....wsgi.url_scheme |
07c0 | 73 10 00 00 00 77 73 67 69 2e 6d 75 6c 74 69 74 68 72 65 61 64 73 11 00 00 00 77 73 67 69 2e 6d | s....wsgi.multithreads....wsgi.m |
07e0 | 75 6c 74 69 70 72 6f 63 65 73 73 4e 28 02 00 00 00 69 01 00 00 00 69 00 00 00 00 28 0f 00 00 00 | ultiprocessN(....i....i....(.... |
0800 | 74 04 00 00 00 64 69 63 74 74 02 00 00 00 6f 73 74 07 00 00 00 65 6e 76 69 72 6f 6e 74 03 00 00 | t....dictt....ost....environt... |
0820 | 00 73 79 73 74 05 00 00 00 73 74 64 69 6e 74 06 00 00 00 73 74 64 65 72 72 74 04 00 00 00 54 72 | .syst....stdint....stderrt....Tr |
0840 | 75 65 74 07 00 00 00 77 73 67 69 72 65 66 74 04 00 00 00 75 74 69 6c 74 0c 00 00 00 67 75 65 73 | uet....wsgireft....utilt....gues |
0860 | 73 5f 73 63 68 65 6d 65 74 05 00 00 00 46 61 6c 73 65 74 0f 00 00 00 5f 73 74 61 72 74 5f 72 65 | s_schemet....Falset...._start_re |
0880 | 73 70 6f 6e 73 65 74 04 00 00 00 4e 6f 6e 65 74 06 00 00 00 73 74 64 6f 75 74 74 05 00 00 00 77 | sponset....Nonet....stdoutt....w |
08a0 | 72 69 74 65 28 04 00 00 00 74 0b 00 00 00 61 70 70 6c 69 63 61 74 69 6f 6e 74 03 00 00 00 65 6e | rite(....t....applicationt....en |
08c0 | 76 74 06 00 00 00 72 65 73 75 6c 74 74 04 00 00 00 64 61 74 61 28 00 00 00 00 28 00 00 00 00 73 | vt....resultt....data(....(....s |
08e0 | 48 00 00 00 2f 68 6f 6d 65 2f 7a 78 32 63 34 2f 44 65 73 6b 74 6f 70 2f 67 6f 6f 67 6c 65 5f 61 | H.../home/zx2c4/Desktop/google_a |
0900 | 70 70 65 6e 67 69 6e 65 2f 67 6f 6f 67 6c 65 2f 61 70 70 65 6e 67 69 6e 65 2f 65 78 74 2f 77 65 | ppengine/google/appengine/ext/we |
0920 | 62 61 70 70 2f 75 74 69 6c 2e 70 79 52 01 00 00 00 3d 00 00 00 73 1a 00 00 00 00 07 0f 01 0d 01 | bapp/util.pyR....=...s.......... |
0940 | 0d 01 0a 01 0a 01 16 01 0a 01 0a 01 0f 01 0d 01 07 00 06 01 63 03 00 00 00 05 00 00 00 04 00 00 | ....................c........... |
0960 | 00 43 00 00 00 73 63 00 00 00 7c 02 00 64 06 00 6a 09 00 6f 1c 00 01 7c 02 00 64 01 00 19 7c 02 | .C...sc...|..d..j..o...|..d...|. |
0980 | 00 64 02 00 19 7c 02 00 64 03 00 19 82 03 00 6e 01 00 01 64 04 00 7c 00 00 16 47 48 78 23 00 7c | .d...|..d......n...d..|...GHx#.| |
09a0 | 01 00 44 5d 1b 00 5c 02 00 7d 03 00 7d 04 00 64 05 00 7c 03 00 7c 04 00 66 02 00 16 47 48 71 39 | ..D]..\..}..}..d..|..|..f...GHq9 |
09c0 | 00 57 48 74 01 00 69 02 00 69 03 00 53 28 07 00 00 00 73 33 00 00 00 41 20 73 74 61 72 74 5f 72 | .WHt..i..i..S(....s3...A.start_r |
09e0 | 65 73 70 6f 6e 73 65 28 29 20 63 61 6c 6c 61 62 6c 65 20 61 73 20 73 70 65 63 69 66 69 65 64 20 | esponse().callable.as.specified. |
0a00 | 62 79 20 50 45 50 20 33 33 33 69 00 00 00 00 69 01 00 00 00 69 02 00 00 00 73 0a 00 00 00 53 74 | by.PEP.333i....i....i....s....St |
0a20 | 61 74 75 73 3a 20 25 73 73 06 00 00 00 25 73 3a 20 25 73 4e 28 04 00 00 00 52 1d 00 00 00 52 14 | atus:.%ss....%s:.%sN(....R....R. |
0a40 | 00 00 00 52 1e 00 00 00 52 1f 00 00 00 28 05 00 00 00 74 06 00 00 00 73 74 61 74 75 73 74 07 00 | ...R....R....(....t....statust.. |
0a60 | 00 00 68 65 61 64 65 72 73 74 08 00 00 00 65 78 63 5f 69 6e 66 6f 74 04 00 00 00 6e 61 6d 65 74 | ..headerst....exc_infot....namet |
0a80 | 03 00 00 00 76 61 6c 28 00 00 00 00 28 00 00 00 00 73 48 00 00 00 2f 68 6f 6d 65 2f 7a 78 32 63 | ....val(....(....sH.../home/zx2c |
0aa0 | 34 2f 44 65 73 6b 74 6f 70 2f 67 6f 6f 67 6c 65 5f 61 70 70 65 6e 67 69 6e 65 2f 67 6f 6f 67 6c | 4/Desktop/google_appengine/googl |
0ac0 | 65 2f 61 70 70 65 6e 67 69 6e 65 2f 65 78 74 2f 77 65 62 61 70 70 2f 75 74 69 6c 2e 70 79 52 1c | e/appengine/ext/webapp/util.pyR. |
0ae0 | 00 00 00 52 00 00 00 73 10 00 00 00 00 02 0d 01 1c 01 09 01 07 00 0c 01 13 01 01 01 28 0e 00 00 | ...R...s....................(... |
0b00 | 00 74 07 00 00 00 5f 5f 64 6f 63 5f 5f 74 07 00 00 00 5f 5f 61 6c 6c 5f 5f 52 12 00 00 00 52 14 | .t....__doc__t....__all__R....R. |
0b20 | 00 00 00 74 0c 00 00 00 77 73 67 69 72 65 66 2e 75 74 69 6c 52 18 00 00 00 74 14 00 00 00 67 6f | ...t....wsgiref.utilR....t....go |
0b40 | 6f 67 6c 65 2e 61 70 70 65 6e 67 69 6e 65 2e 61 70 69 52 02 00 00 00 74 14 00 00 00 67 6f 6f 67 | ogle.appengine.apiR....t....goog |
0b60 | 6c 65 2e 61 70 70 65 6e 67 69 6e 65 2e 65 78 74 52 03 00 00 00 52 00 00 00 00 52 01 00 00 00 52 | le.appengine.extR....R....R....R |
0b80 | 1d 00 00 00 52 1c 00 00 00 28 00 00 00 00 28 00 00 00 00 28 00 00 00 00 73 48 00 00 00 2f 68 6f | ....R....(....(....(....sH.../ho |
0ba0 | 6d 65 2f 7a 78 32 63 34 2f 44 65 73 6b 74 6f 70 2f 67 6f 6f 67 6c 65 5f 61 70 70 65 6e 67 69 6e | me/zx2c4/Desktop/google_appengin |
0bc0 | 65 2f 67 6f 6f 67 6c 65 2f 61 70 70 65 6e 67 69 6e 65 2f 65 78 74 2f 77 65 62 61 70 70 2f 75 74 | e/google/appengine/ext/webapp/ut |
0be0 | 69 6c 2e 70 79 74 08 00 00 00 3c 6d 6f 64 75 6c 65 3e 12 00 00 00 73 12 00 00 00 06 06 0c 02 0c | il.pyt....<module>....s......... |
0c00 | 01 0c 01 0c 02 10 01 10 03 09 1b 09 15 | ............. |