dump-msg.py 842 B

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/env python2
  2. # -*- coding: UTF-8 -*-
  3. # File: dump-msg.py
  4. # Date: Mon May 25 15:23:05 2015 +0800
  5. # Author: Yuxin Wu <ppwwyyxxc@gmail.com>
  6. from wechat.parser import WeChatDBParser
  7. from common.textutil import safe_filename
  8. import sys, os
  9. if len(sys.argv) != 3:
  10. sys.exit("Usage: {0} <path to decrypted_database.db> <output_dir>".format(sys.argv[0]))
  11. db_file = sys.argv[1]
  12. output_dir = sys.argv[2]
  13. try:
  14. os.mkdir(output_dir)
  15. except:
  16. pass
  17. if not os.path.isdir(output_dir):
  18. sys.exit("Error creating directory {}".format(output_dir))
  19. parser = WeChatDBParser(db_file)
  20. for name, msgs in parser.msgs_by_chat.iteritems():
  21. print u"Writing msgs for {}".format(name)
  22. safe_name = safe_filename(name)
  23. with open(os.path.join(output_dir, safe_name + '.txt'), 'w') as f:
  24. for m in msgs:
  25. print >> f, m