All these (and some more) examples are also available in python/examples/ directory in Gammu sources.
#!/usr/bin/env python
# Sample script to show how to send SMS
import gammu
import sys
# Create object for talking with phone
sm = gammu.StateMachine()
# Optionally load config file as defined by first parameter
if len(sys.argv) >= 2:
# Read the configuration from given file
sm.ReadConfig(Filename = sys.argv[1])
# Remove file name from args list
del sys.argv[1]
else:
# Read the configuration (~/.gammurc)
sm.ReadConfig()
# Check parameters
if len(sys.argv) != 2:
print 'Usage: sendsms.py [configfile] RECIPIENT_NUMBER'
sys.exit(1)
# Connect to the phone
sm.Init()
# Prepare message data
# We tell that we want to use first SMSC number stored in phone
message = {
'Text': 'python-gammu testing message',
'SMSC': {'Location': 1},
'Number': sys.argv[1],
}
# Actually send the message
sm.SendSMS(message)
#!/usr/bin/env python
# Sample script to show how to send long (multipart) SMS
import gammu
import sys
# Create object for talking with phone
sm = gammu.StateMachine()
# Optionally load config file as defined by first parameter
if len(sys.argv) >= 2:
# Read the configuration from given file
sm.ReadConfig(Filename = sys.argv[1])
# Remove file name from args list
del sys.argv[1]
else:
# Read the configuration (~/.gammurc)
sm.ReadConfig()
# Check parameters
if len(sys.argv) != 2:
print 'Usage: sendlongsms.py [configfile] RECIPIENT_NUMBER'
sys.exit(1)
# Connect to the phone
sm.Init()
# Create SMS info structure
smsinfo = {
'Class': 1,
'Unicode': False,
'Entries': [
{
'ID': 'ConcatenatedTextLong',
'Buffer': 'Very long python-gammu testing message sent from example python script. ' +
'Very long python-gammu testing message sent from example python script. ' +
'Very long python-gammu testing message sent from example python script. '
}
]}
# Encode messages
encoded = gammu.EncodeSMS(smsinfo)
# Send messages
for message in encoded:
# Fill in numbers
message['SMSC'] = {'Location': 1}
message['Number'] = sys.argv[1]
# Actually send the message
sm.SendSMS(message)
#!/usr/bin/env python
import gammu
import sys
# Create object for talking with phone
sm = gammu.StateMachine()
# Read the configuration (~/.gammurc or from command line)
if len(sys.argv) >= 2:
sm.ReadConfig(Filename = sys.argv[1])
del sys.argv[1]
else:
sm.ReadConfig()
# Connect to the phone
sm.Init()
# Check whether we have a number to dial
if len(sys.argv) != 2:
print 'Usage: dialvoice.py NUMBER'
sys.exit(1)
# Dial a number
sm.DialVoice(sys.argv[1])
#!/usr/bin/env python
# Example for reading calendar from phone
import gammu
# Create object for talking with phone
sm = gammu.StateMachine()
# Read the configuration (~/.gammurc)
sm.ReadConfig()
# Connect to the phone
sm.Init()
# Get number of calendar entries
status = sm.GetCalendarStatus()
remain = status['Used']
start = True
while remain > 0:
# Read the entry
if start:
entry = sm.GetNextCalendar(Start = True)
start = False
else:
entry = sm.GetNextCalendar(Location = entry['Location'])
remain = remain - 1
# Display it
print
print '%-20s: %d' % ('Location',entry['Location'])
print '%-20s: %s' % ('Type',entry['Type'])
for v in entry['Entries']:
print '%-20s: %s' % (v['Type'], str(v['Value']))