Michal Čihař - Archive for April 19, 2006

Můj free software 7. - python-gammu

Tento zápisek bude trochu stručnější. Nevím moc co o tomto lepidlu mezi Pythonem a Gammu napsat. Prostě jsem se rozhodl psát GUI v Pythonu, protože se mi tento jazyk líbí a píše se mi v něm dobře, tak vznikla nutnost vytvořit tuto mezivrstvu.

Při psaní šlo v podstatě jenom o implementační detaily, protože základ API byl jasný – něchtěl jsem se moc odlišit od libGammu. Jediné zásadní rozhodnutí (a dodnes nejsem přesvědčen jestli bylo správné nebo špatné) bylo ukládání všech dat do slovníků. Hlavně kvůli jednodušší implementaci, ale nakonec se to ukázalo být poměrně praktické i pro použití v programu.

Možná si kladete otázku proč jsem nepoužil swig nebo jiný generátor rozhraní. Asi to je jen mojí neschopností, ale opravdu jsem nepřišel na to, jak zabalit volání libGammu pomocí swigu tak, aby to bylo méně práce než to napsat ručně.

A na závěr jedna ukázka jak snadno se to dá použít :-).

 import gammu

sm = gammu.StateMachine()
sm.ReadConfig()
sm.Init()

message = {
    'Text': 'python-gammu testing message', 
    'SMSC': {'Location': 1}, 
    'Number': '123456789',
}

sm.SendSMS(message)