PySkypeScribe is a simple tool for turning Skype chat logs into meeting minutes. Useful for Skype-conferences and based on SkypeScribe by Phil Archer.
Download the compiled package from https://bitbucket.org/mhall/pyskypescribe/downloads and run easy_install PySkypeScribe-VERSION.tar.gz.
Download the source from https://bitbucket.org/mhall/pyskypescribe/downloads and run python setup.py install.
Creating the Skype Log
To create a chat log file, simply select all the Skype chat entries that you wish to include in the minutes and copy them into a text file. This will generate a basic set of meeting minutes, listing who is mentioned in the chat log and what they said.
Since it is hard to type at the same time as speaking, it is possible for one (or more) people to act as scribes and who take notes for the current speaker. To do this, they simply prefix their chat message with the name of the person speaking:
Arthur: Let's not go to Camelot, it's a silly place.
In the final minutes the text will be attributed to the original speaker and not to the person acting as note-taker.
In addition to this basic functionality, there are a number of special tags that PySkypeScribe will recognise and that will be specially marked-up in the meeting minutes.
Meeting Title, Chair & Skribe
To give the resulting document its title:
meeting: Round Table
To specify the name of the person chairing the meeting:
chair: Arthur, King of the Britons
To explicitly specify who is acting as note-taker:
PySkypeScribe will automatically create a list of attendees based on the names used by the people typing in the chat window. It is possible to add people to the list of attendees:
present: Sir Lancelot, Sir Galahad
Similarly it is possible to note that somebody was absent:
PySkypeScribe also supports the tags present+ and regrets+, however for consistency reasons the syntax given above is preferred.
To provide a link to where the agenda can be found use the following syntax:
To specify that a certain agenda item or other topic is being discussed:
item: Deadly Rabbit Plague
You do not have to specify an agenda to use the item: ... tag.
To specify that a specific action has been assigned to a person use the following syntax:
action: Lancelot to rescue Galahad
The to is important, without it the action will not be shown as assigned to a specific person in the minutes.
You can either make corrections in the chat log file after the meeting has concluded or by using the following syntax:
This must appear directly after the chat message that contained the text to correct.
To generate a basic HTML file from a Skype chat-log run:
To change the output format use the -f` option:
PySkypeScribe -f FORMAT SKYPE_LOG
which supports all output formats available via docutils. The most common output formats are listed here:
|html4css1:||HTML with a CSS stylesheet|
|html:||An alias for html4css1|
You can also get at the intermediate reStructuredText representation that PySkypeScribe generates and that is used to generate all other formats. In this case use rst as the FORMAT.
PySkypeScribe can load settings from a configuration file (see Configuration):
PySkypeScribe -c CONFIGURATION_FILE SKYPE_LOG
The PySkypeScribe uses standard Windows INI files for its configuration. The configuration splits into two areas. PySkypeScribe contains settings used by the core PySkypeScribe when parsing the chat log and Docutils contains configuration settings used by docutils when creating the final output.
People's names are often different to their Skype chat names or to the names used by the note-taker. To merge these use the name-mappings setting. It contains a comma-separated list of NAME IN LOG=NAME IN MINUTES entries. When PySkypeScribe parses the chat log, all mentions of NAME IN LOG will automatically be transformed into NAME IN MINUTES. NAME IN LOG must be unique, but multiple different NAME IN LOG can use the same NAME IN MINUTES:
[PySkypeScribe] name-mappings: SR=Sir Robin, Brave=Sir Robin, Arthur=King of the Britons
SkypeScribe uses a number of simple heuristics to guess when something is a name and when not. Sometimes it gets it wrong and the settings ignore-names and force-names can be used to correct it. Both are comma-separated lists:
[PySkypeScribe] ignore-names: Deadly Rabbit force-names: The Witch
Check the docutils configuration for a full list of configuration options available. Basic useful settings are:
[Docutils] stylesheet_path: paths-styles.css initial_header_level: 2 field_name_limit: 0