Python 3 library to import from and export to SongBeamer format.
Project description
icemac.songbeamer
Library to read and write SongBeamer files.
Supported SongBeamer versions
Currently only version Songbeamer version 2 is supported. (Internal version number in .sng files: #Version=3.)
I do not have access to other SongBeamer versions so I do not know the file structure there.
Supported Python version
At least Python 3.2 is required.
Running Tests
To run the tests call:
$ python3.2 setup.py test -q
or (with coverage analysis):
$ python3.2 setup.py nosetests
Changes
0.1.0 (2012-05-05)
Initial public release.
To do
Implementations
import/export of .col files (schedules)
Open Questions
Are Transpose and Speed actually int values?
Usage
Importing a .sng file
To import a .sng file use the parse class method. It expects a byte stream (io.BytesIO or open file) as argument to read from:
>>> from icemac.songbeamer import SNG >>> with open('example.sng', 'rb') as file: ... sng = SNG.parse(file)
The parsed data is stored in the data attribute of the object:
>>> sng.data {'Text': ['La la la', '---', 'Lei lei lei'], 'Version': 3, 'Author': 'me'}
To access the raw values imported from the .sng file get them using getattr:
>>> sng.Version b'3'
Exporting a .sng file
>>> from pprint import pprint >>> from tempfile import TemporaryFile
To export to a .sng file use the export method. It expects a byte stream (io.BytesIO or open file) as argument to write into:
>>> with TemporaryFile() as file: ... sng.export(file) ... pprint(file.readlines()) [b'#Version=3\r\n', b'#Author=me\r\n', b'---\r\n', b'La la la\r\n', b'---\r\n', b'Lei lei lei']
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.