Don't like ads? PRO users don't see any ads ;-)
Guest

path sanitizer 1

By: waterapple on Oct 4th, 2012  |  syntax: Python  |  size: 1.30 KB  |  hits: 35  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #-------------------------------------------------------------------------------
  2. # Name:        module1
  3. # Purpose:
  4. #
  5. # Author:      new
  6. #
  7. # Created:     05/10/2012
  8. # Copyright:   (c) new 2012
  9. # Licence:     <your licence>
  10. #-------------------------------------------------------------------------------
  11. #!/usr/bin/env python
  12. import os,re
  13.  
  14. def sanitizepath(pathin):
  15.     print pathin
  16.     assert(type(pathin)==type(""))
  17.     segments = []
  18.     workingpath = pathin# make a copy for easier debugging
  19.     #split the path into segments
  20.     while True:
  21.         workingpath, segment = os.path.split(workingpath)
  22.         print segment
  23.         segments.append(segment)
  24.         if len(workingpath) <= 0:
  25.             break
  26.     segments.reverse()
  27.     print segments
  28.     #sanitize segments
  29.     disallowedchars =r'<>:"/\|?*'
  30.     precessedsegments = []
  31.     for segment in segments:
  32.         print segment
  33.         s1 =segment.strip()
  34.         s2 = re.sub('[<>:"/\|?*]+', '-',segment)
  35.         s3 =segment.strip()
  36.         s4 =segment.strip(".")
  37.         print s4
  38.         precessedsegments.append(s4)
  39.     #join segments
  40.     pathout = os.path.join(precessedsegments)
  41.     print pathout
  42.  
  43.  
  44. def main():
  45.     sanitizepath("download/tangent/Tangent/Text/Archives.../Zach")
  46.  
  47. if __name__ == '__main__':
  48.     main()