Working gammu adapter
This commit is contained in:
parent
47e4f5a900
commit
99bb1bd46c
|
@ -166,6 +166,36 @@
|
||||||
{
|
{
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$command_parts = [
|
||||||
|
PWD . '/bin/gammu_get_unread_sms.py',
|
||||||
|
escapeshellarg($this->datas['config_file']),
|
||||||
|
];
|
||||||
|
|
||||||
|
$return = $this->exec_command($command_parts);
|
||||||
|
if ($return['return'] != 0)
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
$smss = [];
|
||||||
|
foreach ($return['output'] as $line)
|
||||||
|
{
|
||||||
|
$decode = json_decode($line, true);
|
||||||
|
if ($decode === null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$smss[] = [
|
||||||
|
'at' => $decode['at'],
|
||||||
|
'text' => $decode['text'],
|
||||||
|
'origin' => $decode['number'],
|
||||||
|
'destination' => $this->number,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $smss;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -250,8 +280,6 @@
|
||||||
$return_var = null;
|
$return_var = null;
|
||||||
exec($command, $output, $return_var);
|
exec($command, $output, $return_var);
|
||||||
|
|
||||||
var_dump($output);
|
|
||||||
|
|
||||||
return ['return' => (int) $return_var, 'output' => $output];
|
return ['return' => (int) $return_var, 'output' => $output];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: UTF-8 -*-
|
||||||
|
# vim: expandtab sw=4 ts=4 sts=4:
|
||||||
|
#
|
||||||
|
|
||||||
|
from __future__ import print_function
|
||||||
|
import gammu
|
||||||
|
import sys
|
||||||
|
import json
|
||||||
|
|
||||||
|
def main():
|
||||||
|
state_machine = gammu.StateMachine()
|
||||||
|
|
||||||
|
if len(sys.argv) < 2:
|
||||||
|
sys.exit(1)
|
||||||
|
else :
|
||||||
|
state_machine.ReadConfig(Filename=sys.argv[1])
|
||||||
|
del sys.argv[1]
|
||||||
|
|
||||||
|
state_machine.Init()
|
||||||
|
|
||||||
|
status = state_machine.GetSMSStatus()
|
||||||
|
|
||||||
|
remain = status['SIMUsed'] + status['PhoneUsed'] + status['TemplatesUsed']
|
||||||
|
|
||||||
|
start = True
|
||||||
|
|
||||||
|
try:
|
||||||
|
while remain > 0:
|
||||||
|
if start:
|
||||||
|
sms = state_machine.GetNextSMS(Start=True, Folder=0)
|
||||||
|
start = False
|
||||||
|
else:
|
||||||
|
sms = state_machine.GetNextSMS(
|
||||||
|
Location=sms[0]['Location'], Folder=0
|
||||||
|
)
|
||||||
|
remain = remain - len(sms)
|
||||||
|
|
||||||
|
for m in sms :
|
||||||
|
if m['State'] != 'UnRead' :
|
||||||
|
continue
|
||||||
|
|
||||||
|
print(json.dumps({
|
||||||
|
'number': m['Number'],
|
||||||
|
'at': str(m['DateTime']),
|
||||||
|
'status': m['State'],
|
||||||
|
'text': m['Text'],
|
||||||
|
}))
|
||||||
|
|
||||||
|
except gammu.ERR_EMPTY:
|
||||||
|
#do noting
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
|
@ -81,6 +81,7 @@ namespace controllers\internals;
|
||||||
$adapter = new $adapter_classname($phone['number'], $phone['adapter_datas']);
|
$adapter = new $adapter_classname($phone['number'], $phone['adapter_datas']);
|
||||||
|
|
||||||
//Try send a message
|
//Try send a message
|
||||||
|
/*
|
||||||
$destination = '+33669529042';
|
$destination = '+33669529042';
|
||||||
$text = "Coucou c'est pour un test !";
|
$text = "Coucou c'est pour un test !";
|
||||||
$flash = false;
|
$flash = false;
|
||||||
|
@ -89,8 +90,12 @@ namespace controllers\internals;
|
||||||
if (!$uid)
|
if (!$uid)
|
||||||
{
|
{
|
||||||
echo "Cannot send message to $destination\n";
|
echo "Cannot send message to $destination\n";
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "Send a message to $destination with uid $uid \n";
|
echo "Send a message to $destination with uid $uid \n";
|
||||||
|
*/
|
||||||
|
$smss = $adapter->read();
|
||||||
|
var_dump($smss);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue