MobileBlur

Hex Artifact Content
Login

Artifact b03e3576c0fbfa84b6363c3daca0b0a8a8ee1ba0:


0000: 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 70  #!/usr/bin/env p
0010: 79 74 68 6f 6e 0a 23 20 2d 2a 2d 20 63 6f 64 69  ython.# -*- codi
0020: 6e 67 3a 20 75 74 66 2d 38 20 2d 2a 2d 0a 0a 22  ng: utf-8 -*-.."
0030: 22 22 0a 54 68 69 73 20 69 73 20 61 20 73 65 74  "".This is a set
0040: 75 70 2e 70 79 20 73 63 72 69 70 74 20 67 65 6e  up.py script gen
0050: 65 72 61 74 65 64 20 62 79 20 70 79 32 61 70 70  erated by py2app
0060: 6c 65 74 0a 0a 55 73 61 67 65 3a 0a 20 20 20 20  let..Usage:.    
0070: 70 79 74 68 6f 6e 20 73 65 74 75 70 2e 70 79 20  python setup.py 
0080: 70 79 32 61 70 70 0a 22 22 22 0a 0a 66 72 6f 6d  py2app."""..from
0090: 20 73 65 74 75 70 74 6f 6f 6c 73 20 69 6d 70 6f   setuptools impo
00a0: 72 74 20 73 65 74 75 70 0a 66 72 6f 6d 20 67 6c  rt setup.from gl
00b0: 75 6f 6e 2e 69 6d 70 6f 72 74 5f 61 6c 6c 20 69  uon.import_all i
00c0: 6d 70 6f 72 74 20 62 61 73 65 5f 6d 6f 64 75 6c  mport base_modul
00d0: 65 73 2c 20 63 6f 6e 74 72 69 62 75 74 65 64 5f  es, contributed_
00e0: 6d 6f 64 75 6c 65 73 0a 69 6d 70 6f 72 74 20 6f  modules.import o
00f0: 73 0a 69 6d 70 6f 72 74 20 66 6e 6d 61 74 63 68  s.import fnmatch
0100: 0a 0a 63 6c 61 73 73 20 72 65 67 6c 6f 62 3a 0a  ..class reglob:.
0110: 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f      def __init__
0120: 28 73 65 6c 66 2c 20 64 69 72 65 63 74 6f 72 79  (self, directory
0130: 2c 20 70 61 74 74 65 72 6e 3d 22 2a 22 29 3a 0a  , pattern="*"):.
0140: 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61          self.sta
0150: 63 6b 20 3d 20 5b 64 69 72 65 63 74 6f 72 79 5d  ck = [directory]
0160: 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61  .        self.pa
0170: 74 74 65 72 6e 20 3d 20 70 61 74 74 65 72 6e 0a  ttern = pattern.
0180: 20 20 20 20 20 20 20 20 73 65 6c 66 2e 66 69 6c          self.fil
0190: 65 73 20 3d 20 5b 5d 0a 20 20 20 20 20 20 20 20  es = [].        
01a0: 73 65 6c 66 2e 69 6e 64 65 78 20 3d 20 30 0a 20  self.index = 0. 
01b0: 20 20 20 64 65 66 20 5f 5f 67 65 74 69 74 65 6d     def __getitem
01c0: 5f 5f 28 73 65 6c 66 2c 20 69 6e 64 65 78 29 3a  __(self, index):
01d0: 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 31  .        while 1
01e0: 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72  :.            tr
01f0: 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  y:.             
0200: 20 20 20 66 69 6c 65 20 3d 20 73 65 6c 66 2e 66     file = self.f
0210: 69 6c 65 73 5b 73 65 6c 66 2e 69 6e 64 65 78 5d  iles[self.index]
0220: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
0230: 20 73 65 6c 66 2e 69 6e 64 65 78 20 3d 20 73 65   self.index = se
0240: 6c 66 2e 69 6e 64 65 78 20 2b 20 31 0a 20 20 20  lf.index + 1.   
0250: 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20           except 
0260: 49 6e 64 65 78 45 72 72 6f 72 3a 0a 20 20 20 20  IndexError:.    
0270: 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66              self
0280: 2e 69 6e 64 65 78 20 3d 20 30 0a 20 20 20 20 20  .index = 0.     
0290: 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e             self.
02a0: 64 69 72 65 63 74 6f 72 79 20 3d 20 73 65 6c 66  directory = self
02b0: 2e 73 74 61 63 6b 2e 70 6f 70 28 29 0a 20 20 20  .stack.pop().   
02c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c               sel
02d0: 66 2e 66 69 6c 65 73 20 3d 20 6f 73 2e 6c 69 73  f.files = os.lis
02e0: 74 64 69 72 28 73 65 6c 66 2e 64 69 72 65 63 74  tdir(self.direct
02f0: 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20  ory).           
0300: 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20   else:.         
0310: 20 20 20 20 20 20 20 66 75 6c 6c 6e 61 6d 65 20         fullname 
0320: 3d 20 6f 73 2e 70 61 74 68 2e 6a 6f 69 6e 28 73  = os.path.join(s
0330: 65 6c 66 2e 64 69 72 65 63 74 6f 72 79 2c 20 66  elf.directory, f
0340: 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20  ile).           
0350: 20 20 20 20 20 69 66 20 6f 73 2e 70 61 74 68 2e       if os.path.
0360: 69 73 64 69 72 28 66 75 6c 6c 6e 61 6d 65 29 20  isdir(fullname) 
0370: 61 6e 64 20 6e 6f 74 20 6f 73 2e 70 61 74 68 2e  and not os.path.
0380: 69 73 6c 69 6e 6b 28 66 75 6c 6c 6e 61 6d 65 29  islink(fullname)
0390: 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  :.              
03a0: 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61 63 6b        self.stack
03b0: 2e 61 70 70 65 6e 64 28 66 75 6c 6c 6e 61 6d 65  .append(fullname
03c0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
03d0: 20 20 69 66 20 6e 6f 74 20 28 66 69 6c 65 2e 73    if not (file.s
03e0: 74 61 72 74 73 77 69 74 68 28 27 2e 27 29 20 6f  tartswith('.') o
03f0: 72 20 66 69 6c 65 2e 73 74 61 72 74 73 77 69 74  r file.startswit
0400: 68 28 27 23 27 29 20 6f 72 20 66 69 6c 65 2e 65  h('#') or file.e
0410: 6e 64 73 77 69 74 68 28 27 7e 27 29 29 20 5c 0a  ndswith('~')) \.
0420: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0430: 20 20 20 20 20 20 20 20 61 6e 64 20 66 6e 6d 61          and fnma
0440: 74 63 68 2e 66 6e 6d 61 74 63 68 28 66 69 6c 65  tch.fnmatch(file
0450: 2c 20 73 65 6c 66 2e 70 61 74 74 65 72 6e 29 3a  , self.pattern):
0460: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
0470: 20 20 20 20 20 72 65 74 75 72 6e 20 66 75 6c 6c       return full
0480: 6e 61 6d 65 0a 0a 73 65 74 75 70 28 61 70 70 3d  name..setup(app=
0490: 5b 27 77 65 62 32 70 79 2e 70 79 27 5d 2c 0a 20  ['web2py.py'],. 
04a0: 20 20 20 20 20 64 61 74 61 5f 66 69 6c 65 73 3d       data_files=
04b0: 5b 0a 20 20 20 20 20 20 20 20 27 4e 45 57 49 4e  [.        'NEWIN
04c0: 53 54 41 4c 4c 27 2c 0a 20 20 20 20 20 20 20 20  STALL',.        
04d0: 27 41 42 4f 55 54 27 2c 0a 20 20 20 20 20 20 20  'ABOUT',.       
04e0: 20 27 4c 49 43 45 4e 53 45 27 2c 0a 20 20 20 20   'LICENSE',.    
04f0: 20 20 20 20 27 56 45 52 53 49 4f 4e 27 2c 0a 20      'VERSION',. 
0500: 20 20 20 20 20 20 20 5d 20 2b 20 5c 0a 20 20 20         ] + \.   
0510: 20 20 20 20 20 20 20 5b 78 20 66 6f 72 20 78 20         [x for x 
0520: 69 6e 20 72 65 67 6c 6f 62 28 27 61 70 70 6c 69  in reglob('appli
0530: 63 61 74 69 6f 6e 73 2f 65 78 61 6d 70 6c 65 73  cations/examples
0540: 27 29 5d 20 2b 20 5c 0a 20 20 20 20 20 20 20 20  ')] + \.        
0550: 20 20 5b 78 20 66 6f 72 20 78 20 69 6e 20 72 65    [x for x in re
0560: 67 6c 6f 62 28 27 61 70 70 6c 69 63 61 74 69 6f  glob('applicatio
0570: 6e 73 2f 77 65 6c 63 6f 6d 65 27 29 5d 20 2b 20  ns/welcome')] + 
0580: 5c 0a 20 20 20 20 20 20 20 20 20 20 5b 78 20 66  \.          [x f
0590: 6f 72 20 78 20 69 6e 20 72 65 67 6c 6f 62 28 27  or x in reglob('
05a0: 61 70 70 6c 69 63 61 74 69 6f 6e 73 2f 61 64 6d  applications/adm
05b0: 69 6e 27 29 5d 2c 0a 20 20 20 20 20 20 6f 70 74  in')],.      opt
05c0: 69 6f 6e 73 3d 7b 27 70 79 32 61 70 70 27 3a 20  ions={'py2app': 
05d0: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 61  {.            'a
05e0: 72 67 76 5f 65 6d 75 6c 61 74 69 6f 6e 27 3a 20  rgv_emulation': 
05f0: 54 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20  True,.          
0600: 20 20 27 69 6e 63 6c 75 64 65 73 27 3a 20 62 61    'includes': ba
0610: 73 65 5f 6d 6f 64 75 6c 65 73 2c 0a 20 20 20 20  se_modules,.    
0620: 20 20 20 20 20 20 20 20 27 70 61 63 6b 61 67 65          'package
0630: 73 27 3a 20 63 6f 6e 74 72 69 62 75 74 65 64 5f  s': contributed_
0640: 6d 6f 64 75 6c 65 73 2c 0a 20 20 20 20 20 20 20  modules,.       
0650: 20 20 20 20 20 7d 7d 2c 0a 20 20 20 20 20 20 73       }},.      s
0660: 65 74 75 70 5f 72 65 71 75 69 72 65 73 3d 5b 27  etup_requires=['
0670: 70 79 32 61 70 70 27 5d 29 0a 0a                 py2app'])..