Skip to content

konstantint/skype-chatsync-reader

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

NB: As of 2017, this tool DOES NOT SUPPORT recent versions of Skype

Parser and GUI viewer of chatsync/*.dat files from the Skype profile directory

Skype stores conversations locally in two places. One is a SQLite database file, for which there are several convenient viewers out there. Another is a set of dat files in the chatsync subdirectory of the profile. The latter contain, among other things, the "removed" messages along with all the edits. Unfortunately, the format of those dat files does not seem to be documented anywhere, and the readers are scarce.

The package contains a crude file format parser for the dat files in the chatsync directory, created based on the hints, given by user kmn in this discussion.

As the format specification used is not official and incomplete, the parser is limited in what it can do. It may fail on some files, and on other files will only be able to extract messages partially.

In addition, the package contains a simple wx-based GUI tool for searching the log files visually.

http://fouryears.eu/wp-content/uploads/2015/01/skype-chatsync-viewer.png

Installation

The easiest way to install most Python packages is via easy_install or pip:

$ easy_install skype_chatsync_reader

If you want to use the GUI tool, you will also need to install wxPython 2.8 or later (it is not installed automatically).

A standalone executable version of the GUI tool for Windows can be downloaded here.

Usage

If you want to parse chatsync files programmatically, check out the SkypeChatSyncScanner and SkypeChatSyncParser classes in skype_chatsync_reader.scanner. A typical usage example is:

with open(dat_file, 'rb') as f:
    s = SkypeChatSyncScanner(f)
    s.scan()
    p = SkypeChatSyncParser(s)
    p.parse()

Then use p.timestamp, p.participants, and p.conversation to read out the messages. There convenience function parse_chatsync_profile_dir will scan through all the dat files in the provided chatsync dir and parse all of them (which can be parsed).

If you want to use the GUI tool, simply run the script:

$ skype-chatsync-viewer

which is installed into your python's scripts directory together with the package.

Issues

This is a very crude implementation, written up in a single evening for fun. It is not meant to be production-quality software. There are numerous known and unknown issues. I do not plan to maintain this actively. Feel free to contribute via Github.

Copyright

About

Parser and GUI viewer of chatsync/\*.dat files from the Skype profile directory

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published