Grammalecte  Hex Artifact Content

Artifact b56a852cf23c023da19258ff3da9a25ce9400f21caed4789c364ed4b946c385e:


0000: 23 20 50 79 74 68 6f 6e 0a 0a 69 6d 70 6f 72 74  # Python..import
0010: 20 6f 73 0a 69 6d 70 6f 72 74 20 61 72 67 70 61   os.import argpa
0020: 72 73 65 0a 69 6d 70 6f 72 74 20 73 79 73 0a 69  rse.import sys.i
0030: 6d 70 6f 72 74 20 73 68 75 74 69 6c 0a 0a 69 6d  mport shutil..im
0040: 70 6f 72 74 20 68 65 6c 70 65 72 73 0a 0a 0a 64  port helpers...d
0050: 65 66 20 67 65 74 46 6f 6c 64 65 72 73 20 28 73  ef getFolders (s
0060: 70 29 3a 0a 20 20 20 20 66 6f 72 20 73 66 20 69  p):.    for sf i
0070: 6e 20 6f 73 2e 6c 69 73 74 64 69 72 28 73 70 29  n os.listdir(sp)
0080: 3a 0a 20 20 20 20 20 20 20 20 69 66 20 6f 73 2e  :.        if os.
0090: 70 61 74 68 2e 69 73 64 69 72 28 73 70 2b 22 2f  path.isdir(sp+"/
00a0: 22 2b 73 66 29 3a 0a 20 20 20 20 20 20 20 20 20  "+sf):.         
00b0: 20 20 20 79 69 65 6c 64 20 66 72 6f 6d 20 67 65     yield from ge
00c0: 74 46 6f 6c 64 65 72 73 28 73 70 2b 22 2f 22 2b  tFolders(sp+"/"+
00d0: 73 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  sf).            
00e0: 79 69 65 6c 64 20 28 73 66 2c 20 73 70 2b 22 2f  yield (sf, sp+"/
00f0: 22 2b 73 66 29 0a 0a 0a 64 65 66 20 70 75 72 67  "+sf)...def purg
0100: 65 20 28 73 46 6f 6c 64 65 72 4e 61 6d 65 2c 20  e (sFolderName, 
0110: 62 44 65 6c 65 74 65 43 6f 6e 74 65 6e 74 4f 6e  bDeleteContentOn
0120: 6c 79 29 3a 0a 20 20 20 20 66 6f 72 20 73 66 2c  ly):.    for sf,
0130: 20 73 70 20 69 6e 20 67 65 74 46 6f 6c 64 65 72   sp in getFolder
0140: 73 28 22 2e 22 29 3a 0a 20 20 20 20 20 20 20 20  s("."):.        
0150: 69 66 20 73 66 20 3d 3d 20 73 46 6f 6c 64 65 72  if sf == sFolder
0160: 4e 61 6d 65 3a 0a 20 20 20 20 20 20 20 20 20 20  Name:.          
0170: 20 20 69 66 20 62 44 65 6c 65 74 65 43 6f 6e 74    if bDeleteCont
0180: 65 6e 74 4f 6e 6c 79 3a 0a 20 20 20 20 20 20 20  entOnly:.       
0190: 20 20 20 20 20 20 20 20 20 68 65 6c 70 65 72 73           helpers
01a0: 2e 65 72 61 73 65 46 6f 6c 64 65 72 43 6f 6e 74  .eraseFolderCont
01b0: 65 6e 74 28 73 70 29 0a 20 20 20 20 20 20 20 20  ent(sp).        
01c0: 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 73 70          print(sp
01d0: 2c 20 22 5b 63 6f 6e 74 65 6e 74 20 64 65 6c 65  , "[content dele
01e0: 74 65 64 5d 22 29 0a 20 20 20 20 20 20 20 20 20  ted]").         
01f0: 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20     else:.       
0200: 20 20 20 20 20 20 20 20 20 73 68 75 74 69 6c 2e           shutil.
0210: 72 6d 74 72 65 65 28 73 70 29 0a 20 20 20 20 20  rmtree(sp).     
0220: 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74             print
0230: 28 73 70 2c 20 22 5b 65 72 61 73 65 64 5d 22 29  (sp, "[erased]")
0240: 0a 0a 0a 64 65 66 20 6d 61 69 6e 20 28 29 3a 0a  ...def main ():.
0250: 20 20 20 20 22 70 75 72 67 65 20 63 72 75 66 74      "purge cruft
0260: 20 61 6e 64 20 6f 74 68 65 72 20 66 69 6c 65 73   and other files
0270: 22 0a 20 20 20 20 70 72 69 6e 74 28 22 50 79 74  ".    print("Pyt
0280: 68 6f 6e 3a 20 22 20 2b 20 73 79 73 2e 76 65 72  hon: " + sys.ver
0290: 73 69 6f 6e 29 0a 20 20 20 20 69 66 20 73 79 73  sion).    if sys
02a0: 2e 76 65 72 73 69 6f 6e 20 3c 20 22 33 2e 37 22  .version < "3.7"
02b0: 3a 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 28  :.        print(
02c0: 22 50 79 74 68 6f 6e 20 33 2e 37 2b 20 72 65 71  "Python 3.7+ req
02d0: 75 69 72 65 64 22 29 0a 20 20 20 20 20 20 20 20  uired").        
02e0: 72 65 74 75 72 6e 0a 0a 20 20 20 20 78 50 61 72  return..    xPar
02f0: 73 65 72 20 3d 20 61 72 67 70 61 72 73 65 2e 41  ser = argparse.A
0300: 72 67 75 6d 65 6e 74 50 61 72 73 65 72 28 29 0a  rgumentParser().
0310: 20 20 20 20 78 50 61 72 73 65 72 2e 61 64 64 5f      xParser.add_
0320: 61 72 67 75 6d 65 6e 74 28 22 2d 62 22 2c 20 22  argument("-b", "
0330: 2d 2d 62 75 69 6c 64 22 2c 20 68 65 6c 70 3d 22  --build", help="
0340: 70 75 72 67 65 20 5f 62 75 69 6c 64 22 2c 20 61  purge _build", a
0350: 63 74 69 6f 6e 3d 22 73 74 6f 72 65 5f 74 72 75  ction="store_tru
0360: 65 22 29 0a 20 20 20 20 78 41 72 67 73 20 3d 20  e").    xArgs = 
0370: 78 50 61 72 73 65 72 2e 70 61 72 73 65 5f 61 72  xParser.parse_ar
0380: 67 73 28 29 0a 0a 20 20 20 20 70 75 72 67 65 28  gs()..    purge(
0390: 22 5f 5f 70 79 63 61 63 68 65 5f 5f 22 2c 20 46  "__pycache__", F
03a0: 61 6c 73 65 29 0a 20 20 20 20 69 66 20 78 41 72  alse).    if xAr
03b0: 67 73 2e 62 75 69 6c 64 3a 0a 20 20 20 20 20 20  gs.build:.      
03c0: 20 20 70 75 72 67 65 28 22 5f 62 75 69 6c 64 22    purge("_build"
03d0: 2c 20 54 72 75 65 29 0a 0a 0a 69 66 20 5f 5f 6e  , True)...if __n
03e0: 61 6d 65 5f 5f 20 3d 3d 20 27 5f 5f 6d 61 69 6e  ame__ == '__main
03f0: 5f 5f 27 3a 0a 20 20 20 20 6d 61 69 6e 28 29 0a  __':.    main().