textutil.py 759 B

1234567891011121314151617181920212223242526272829303132333435
  1. #!/usr/bin/env python2
  2. # -*- coding: UTF-8 -*-
  3. # File: utils.py
  4. # Date: Wed Jun 17 23:59:25 2015 +0800
  5. # Author: Yuxin Wu <[email protected]>
  6. import hashlib
  7. import base64
  8. def ensure_bin_str(s):
  9. if type(s) == str:
  10. return s
  11. if type(s) == unicode:
  12. return s.encode('utf-8')
  13. def ensure_unicode(s):
  14. if type(s) == str:
  15. return s.decode('utf-8')
  16. if type(s) == unicode:
  17. return s
  18. def md5(s):
  19. m = hashlib.md5()
  20. m.update(s)
  21. return m.hexdigest()
  22. def get_file_b64(fname):
  23. data = open(fname, 'rb').read()
  24. return base64.b64encode(data)
  25. def safe_filename(fname):
  26. filename = ensure_unicode(fname)
  27. return "".join(
  28. [c for c in filename if c.isalpha() or c.isdigit() or c==' ']).rstrip()