# PySkypeScribe

PySkypeScribe is a simple tool for turning Skype chat logs into meeting minutes. Useful for Skype-conferences and based on SkypeScribe by Phil Archer.

## 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:

scribe: Patsy


### Attendance

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:

regrets: Historian


PySkypeScribe also supports the tags present+ and regrets+, however for consistency reasons the syntax given above is preferred.

### Agenda

To provide a link to where the agenda can be found use the following syntax:

agenda: http://holy.grail/round_table_agenda


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.

### Action Items

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.

### Corrections

You can either make corrections in the chat log file after the meeting has concluded or by using the following syntax:

s/5/3/


This must appear directly after the chat message that contained the text to correct.

## Usage

To generate a basic HTML file from a Skype chat-log run:

PySkypeScribe SKYPE_LOG


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 An alias for html4css1 OpenDocument Format DocBook XML

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


## Configuration

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.

### PySkypeScribe

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]

[Docutils]
`