Hello community,
here is the log from the commit of package python-python-gammu for
openSUSE:Factory checked in at 2016-05-31 12:24:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-gammu (Old)
and /work/SRC/openSUSE:Factory/.python-python-gammu.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-gammu"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-python-gammu/python-python-gammu.changes
2015-09-30 05:50:32.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.python-python-gammu.new/python-python-gammu.changes
2016-05-31 12:24:50.000000000 +0200
@@ -1,0 +2,6 @@
+Sat May 28 10:23:27 UTC 2016 - [email protected]
+
+- Update to 2.5:
+ * Compatibility with Gammu >= 1.36.7
+
+-------------------------------------------------------------------
Old:
----
python-gammu-2.4.tar.bz2
New:
----
python-gammu-2.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-gammu.spec ++++++
--- /var/tmp/diff_new_pack.qelJYX/_old 2016-05-31 12:24:51.000000000 +0200
+++ /var/tmp/diff_new_pack.qelJYX/_new 2016-05-31 12:24:51.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-python-gammu
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: python-python-gammu
-Version: 2.4
+Version: 2.5
Release: 0
Summary: Python module to communicate with mobile phones
License: GPL-2.0+
++++++ python-gammu-2.4.tar.bz2 -> python-gammu-2.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/NEWS.rst
new/python-gammu-2.5/NEWS.rst
--- old/python-gammu-2.4/NEWS.rst 2015-09-02 10:02:50.000000000 +0200
+++ new/python-gammu-2.5/NEWS.rst 2016-01-19 14:42:44.000000000 +0100
@@ -1,3 +1,8 @@
+2.5
+===
+
+* Compatibility with Gammu >= 1.36.7
+
2.4
===
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/PKG-INFO
new/python-gammu-2.5/PKG-INFO
--- old/python-gammu-2.4/PKG-INFO 2015-09-02 10:21:00.000000000 +0200
+++ new/python-gammu-2.5/PKG-INFO 2016-01-19 15:17:05.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: python-gammu
-Version: 2.4
+Version: 2.5
Summary: Gammu bindings
Home-page: http://wammu.eu/python-gammu/
Author: Michal Čihař
@@ -14,7 +14,7 @@
:target: https://travis-ci.org/gammu/python-gammu
.. image::
https://www.codacy.com/project/badge/c7e87df480fb4609aa48482873f5c46b
- :target: https://www.codacy.com/public/michal_2/python-gammu_2
+ :target: https://www.codacy.com/public/nijel/python-gammu
.. image::
https://scrutinizer-ci.com/g/gammu/python-gammu/badges/quality-score.png?b=master
:target:
https://scrutinizer-ci.com/g/gammu/python-gammu/?branch=master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/README.rst
new/python-gammu-2.5/README.rst
--- old/python-gammu-2.4/README.rst 2015-06-03 08:59:15.000000000 +0200
+++ new/python-gammu-2.5/README.rst 2016-01-19 14:25:58.000000000 +0100
@@ -5,7 +5,7 @@
:target: https://travis-ci.org/gammu/python-gammu
.. image::
https://www.codacy.com/project/badge/c7e87df480fb4609aa48482873f5c46b
- :target: https://www.codacy.com/public/michal_2/python-gammu_2
+ :target: https://www.codacy.com/public/nijel/python-gammu
.. image::
https://scrutinizer-ci.com/g/gammu/python-gammu/badges/quality-score.png?b=master
:target: https://scrutinizer-ci.com/g/gammu/python-gammu/?branch=master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/examples/sendlongsms.py
new/python-gammu-2.5/examples/sendlongsms.py
--- old/python-gammu-2.4/examples/sendlongsms.py 2015-06-03
09:18:33.000000000 +0200
+++ new/python-gammu-2.5/examples/sendlongsms.py 2016-01-19
14:25:58.000000000 +0100
@@ -50,7 +50,7 @@
# Create SMS info structure
smsinfo = {
- 'Class': 1,
+ 'Class': -1,
'Unicode': False,
'Entries': [
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/examples/service_numbers.py
new/python-gammu-2.5/examples/service_numbers.py
--- old/python-gammu-2.4/examples/service_numbers.py 2015-06-03
09:18:33.000000000 +0200
+++ new/python-gammu-2.5/examples/service_numbers.py 2016-01-19
14:25:58.000000000 +0100
@@ -28,15 +28,20 @@
import gammu
import sys
+REPLY = False
+
def callback(state_machine, callback_type, data):
'''
Callback on USSD data.
'''
+ global REPLY
if callback_type != 'USSD':
print('Unexpected event type: %s' % callback_type)
sys.exit(1)
+ REPLY = True
+
print('Network reply:')
print('Status: %s' % data['Status'])
print(data['Text'])
@@ -68,15 +73,25 @@
'''
Main code to talk with worker.
'''
+ global REPLY
+
if len(sys.argv) >= 3:
code = sys.argv[2]
del sys.argv[2]
else:
- print('Enter code (empty string to end):', end=' ')
- code = input()
+ prompt = 'Enter code (empty string to end): '
+ try:
+ code = raw_input(prompt)
+ except NameError:
+ code = input(prompt)
if code != '':
print('Talking to network...')
+ REPLY = False
state_machine.DialService(code)
+ loops = 0
+ while not REPLY and loops < 10:
+ state_machine.ReadDevice()
+ loops += 1
def main():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/gammu/src/gammu.c
new/python-gammu-2.5/gammu/src/gammu.c
--- old/python-gammu-2.4/gammu/src/gammu.c 2015-09-02 10:12:56.000000000
+0200
+++ new/python-gammu-2.5/gammu/src/gammu.c 2016-01-19 14:25:58.000000000
+0100
@@ -199,7 +199,15 @@
*/
static void SendSMSStatus (GSM_StateMachine *s, int status, int mr, void
*user) {
StateMachineObject *sm = (StateMachineObject *)user;
- if (sm == NULL) return;
+
+ if (sm == NULL) {
+ pyg_error("Received callback without user pointer!\n");
+ return;
+ }
+ if (sm->s != s) {
+ pyg_error("Callback user pointer doesn't match state machine!\n");
+ return;
+ }
sm->MessageReference = mr;
if (status == 0) {
@@ -216,9 +224,17 @@
*/
static void IncomingCall (GSM_StateMachine *s, GSM_Call *call, void *user) {
StateMachineObject *sm = (StateMachineObject *)user;
+ GSM_Call *message;
int i = 0;
- if (sm == NULL) return;
+ if (sm == NULL) {
+ pyg_error("Received callback without user pointer!\n");
+ return;
+ }
+ if (sm->s != s) {
+ pyg_error("Callback user pointer doesn't match state machine!\n");
+ return;
+ }
while (i < MAX_EVENTS && sm->IncomingCallQueue[i] != NULL) i++;
@@ -227,10 +243,13 @@
return;
}
- sm->IncomingCallQueue[i] = (GSM_Call *)malloc(sizeof(GSM_Call));
- if (sm->IncomingCallQueue[i] == NULL) return;
+ message = malloc(sizeof(GSM_Call));
+ if (message == NULL) return;
- *(sm->IncomingCallQueue[i]) = *call;
+ *message = *call;
+
+ sm->IncomingCallQueue[i + 1] = NULL;
+ sm->IncomingCallQueue[i] = message;
}
/**
@@ -238,9 +257,17 @@
*/
static void IncomingSMS (GSM_StateMachine *s, GSM_SMSMessage *msg, void *user)
{
StateMachineObject *sm = (StateMachineObject *)user;
+ GSM_SMSMessage *message;
int i = 0;
- if (sm == NULL) return;
+ if (sm == NULL) {
+ pyg_error("Received callback without user pointer!\n");
+ return;
+ }
+ if (sm->s != s) {
+ pyg_error("Callback user pointer doesn't match state machine!\n");
+ return;
+ }
while (i < MAX_EVENTS && sm->IncomingSMSQueue[i] != NULL) i++;
@@ -249,10 +276,13 @@
return;
}
- sm->IncomingSMSQueue[i] = (GSM_SMSMessage *)malloc(sizeof(GSM_SMSMessage));
- if (sm->IncomingSMSQueue[i] == NULL) return;
+ message = malloc(sizeof(GSM_SMSMessage));
+ if (message == NULL) return;
- *(sm->IncomingSMSQueue[i]) = *msg;
+ *message = *msg;
+
+ sm->IncomingSMSQueue[i + 1] = NULL;
+ sm->IncomingSMSQueue[i] = message;
}
/**
@@ -260,9 +290,17 @@
*/
static void IncomingCB (GSM_StateMachine *s, GSM_CBMessage *cb, void *user) {
StateMachineObject *sm = (StateMachineObject *)user;
+ GSM_CBMessage *message;
int i = 0;
- if (sm == NULL) return;
+ if (sm == NULL) {
+ pyg_error("Received callback without user pointer!\n");
+ return;
+ }
+ if (sm->s != s) {
+ pyg_error("Callback user pointer doesn't match state machine!\n");
+ return;
+ }
while (i < MAX_EVENTS && sm->IncomingCBQueue[i] != NULL) i++;
@@ -271,10 +309,13 @@
return;
}
- sm->IncomingCBQueue[i] = (GSM_CBMessage *)malloc(sizeof(GSM_CBMessage));
- if (sm->IncomingCBQueue[i] == NULL) return;
+ message = malloc(sizeof(GSM_CBMessage));
+ if (message == NULL) return;
+
+ *message = *cb;
- *(sm->IncomingCBQueue[i]) = *cb;
+ sm->IncomingCBQueue[i + 1] = NULL;
+ sm->IncomingCBQueue[i] = message;
}
/**
@@ -282,9 +323,17 @@
*/
static void IncomingUSSD (GSM_StateMachine *s, GSM_USSDMessage *ussd, void
*user) {
StateMachineObject *sm = (StateMachineObject *)user;
+ GSM_USSDMessage *message;
int i = 0;
- if (sm == NULL) return;
+ if (sm == NULL) {
+ pyg_error("Received callback without user pointer!\n");
+ return;
+ }
+ if (sm->s != s) {
+ pyg_error("Callback user pointer doesn't match state machine!\n");
+ return;
+ }
while (i < MAX_EVENTS && sm->IncomingUSSDQueue[i] != NULL) i++;
@@ -293,10 +342,15 @@
return;
}
- sm->IncomingUSSDQueue[i] = (GSM_USSDMessage
*)malloc(sizeof(GSM_USSDMessage));
- if (sm->IncomingUSSDQueue[i] == NULL) return;
+ pyg_warning("Adding USSD to queue, position %d\n", i);
- *(sm->IncomingUSSDQueue[i]) = *ussd;
+ message = malloc(sizeof(GSM_USSDMessage));
+ if (message == NULL) return;
+
+ *message = *ussd;
+
+ sm->IncomingUSSDQueue[i + 1] = NULL;
+ sm->IncomingUSSDQueue[i] = message;
}
/**
@@ -5533,6 +5587,9 @@
0, /* tp_weaklist */
0, /* tp_del */
0, /* tp_version_tag */
+#ifdef Py_TPFLAGS_HAVE_FINALIZE
+ 0, /* tp_finalize */
+#endif
};
/* End of code for StateMachine objects */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/gammu/src/smsd.c
new/python-gammu-2.5/gammu/src/smsd.c
--- old/python-gammu-2.4/gammu/src/smsd.c 2015-09-02 09:56:02.000000000
+0200
+++ new/python-gammu-2.5/gammu/src/smsd.c 2015-10-01 17:05:55.000000000
+0200
@@ -301,6 +301,9 @@
0, /* tp_weaklist */
0, /* tp_del */
0, /* tp_version_tag */
+#ifdef Py_TPFLAGS_HAVE_FINALIZE
+ 0, /* tp_finalize */
+#endif
};
/* End of code for SMSD objects */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/python_gammu.egg-info/PKG-INFO
new/python-gammu-2.5/python_gammu.egg-info/PKG-INFO
--- old/python-gammu-2.4/python_gammu.egg-info/PKG-INFO 2015-09-02
10:21:00.000000000 +0200
+++ new/python-gammu-2.5/python_gammu.egg-info/PKG-INFO 2016-01-19
15:17:05.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: python-gammu
-Version: 2.4
+Version: 2.5
Summary: Gammu bindings
Home-page: http://wammu.eu/python-gammu/
Author: Michal Čihař
@@ -14,7 +14,7 @@
:target: https://travis-ci.org/gammu/python-gammu
.. image::
https://www.codacy.com/project/badge/c7e87df480fb4609aa48482873f5c46b
- :target: https://www.codacy.com/public/michal_2/python-gammu_2
+ :target: https://www.codacy.com/public/nijel/python-gammu
.. image::
https://scrutinizer-ci.com/g/gammu/python-gammu/badges/quality-score.png?b=master
:target:
https://scrutinizer-ci.com/g/gammu/python-gammu/?branch=master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/python_gammu.egg-info/SOURCES.txt
new/python-gammu-2.5/python_gammu.egg-info/SOURCES.txt
--- old/python-gammu-2.4/python_gammu.egg-info/SOURCES.txt 2015-09-02
10:21:00.000000000 +0200
+++ new/python-gammu-2.5/python_gammu.egg-info/SOURCES.txt 2016-01-19
15:17:05.000000000 +0100
@@ -80,13 +80,15 @@
test/test_sms.py
test/test_smsd.py
test/test_worker.py
+test/data/.sqlite.sql.swp
test/data/02.vcs
test/data/UK32Holidays.ics
test/data/bug-779.vcf
test/data/gammu.vcf
test/data/k770.vcs
test/data/rrule.ics
-test/data/sqlite.sql
+test/data/sqlite-14.sql
+test/data/sqlite-15.sql
test/data/gammu-dummy/calendar/2
test/data/gammu-dummy/calendar/22
test/data/gammu-dummy/fs/file5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/setup.py
new/python-gammu-2.5/setup.py
--- old/python-gammu-2.4/setup.py 2015-06-03 15:06:36.000000000 +0200
+++ new/python-gammu-2.5/setup.py 2015-10-01 15:05:24.000000000 +0200
@@ -30,7 +30,7 @@
import codecs
# some defines
-VERSION = '2.4'
+VERSION = '2.5'
GAMMU_REQUIRED = '1.34.0'
README_FILE = os.path.join(os.path.dirname(__file__), 'README.rst')
with codecs.open(README_FILE, 'r', 'utf-8') as readme:
Files old/python-gammu-2.4/test/data/.sqlite.sql.swp and
new/python-gammu-2.5/test/data/.sqlite.sql.swp differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/test/data/sqlite-14.sql
new/python-gammu-2.5/test/data/sqlite-14.sql
--- old/python-gammu-2.4/test/data/sqlite-14.sql 1970-01-01
01:00:00.000000000 +0100
+++ new/python-gammu-2.5/test/data/sqlite-14.sql 2015-03-20
08:40:50.000000000 +0100
@@ -0,0 +1,149 @@
+CREATE TABLE daemons (
+ Start TEXT NOT NULL,
+ Info TEXT NOT NULL
+);
+
+CREATE TABLE gammu (
+ Version INTEGER NOT NULL DEFAULT '0'
+);
+
+INSERT INTO gammu (Version) VALUES (14);
+
+CREATE TABLE inbox (
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ ReceivingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
+ Text TEXT NOT NULL,
+ SenderNumber TEXT NOT NULL DEFAULT '',
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT NOT NULL,
+ SMSCNumber TEXT NOT NULL DEFAULT '',
+ Class INTEGER NOT NULL DEFAULT '-1',
+ TextDecoded TEXT NOT NULL DEFAULT '',
+ ID INTEGER PRIMARY KEY AUTOINCREMENT,
+ RecipientID TEXT NOT NULL,
+ Processed TEXT NOT NULL DEFAULT 'false',
+ CHECK (Coding IN
+
('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression'))
+);
+
+CREATE TRIGGER update_inbox_time UPDATE ON inbox
+ BEGIN
+ UPDATE inbox SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
+ END;
+
+CREATE TABLE outbox (
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ SendingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
+ SendBefore time NOT NULL DEFAULT '23:59:59',
+ SendAfter time NOT NULL DEFAULT '00:00:00',
+ Text TEXT,
+ DestinationNumber TEXT NOT NULL DEFAULT '',
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT,
+ Class INTEGER DEFAULT '-1',
+ TextDecoded TEXT NOT NULL DEFAULT '',
+ ID INTEGER PRIMARY KEY AUTOINCREMENT,
+ MultiPart TEXT NOT NULL DEFAULT 'false',
+ RelativeValidity INTEGER DEFAULT '-1',
+ SenderID TEXT,
+ SendingTimeOut NUMERIC NOT NULL DEFAULT (datetime('now')),
+ DeliveryReport TEXT DEFAULT 'default',
+ CreatorID TEXT NOT NULL,
+ CHECK (Coding IN
+
('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')),
+ CHECK (DeliveryReport IN ('default','yes','no'))
+);
+
+CREATE INDEX outbox_date ON outbox(SendingDateTime, SendingTimeOut);
+CREATE INDEX outbox_sender ON outbox(SenderID);
+
+CREATE TRIGGER update_outbox_time UPDATE ON outbox
+ BEGIN
+ UPDATE outbox SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
+ END;
+
+CREATE TABLE outbox_multipart (
+ Text TEXT,
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT,
+ Class INTEGER DEFAULT '-1',
+ TextDecoded TEXT DEFAULT NULL,
+ ID INTEGER,
+ SequencePosition INTEGER NOT NULL DEFAULT '1',
+ CHECK (Coding IN
+
('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')),
+ PRIMARY KEY (ID, SequencePosition)
+);
+
+CREATE TABLE pbk (
+ ID INTEGER PRIMARY KEY AUTOINCREMENT,
+ GroupID INTEGER NOT NULL DEFAULT '-1',
+ Name TEXT NOT NULL,
+ Number TEXT NOT NULL
+);
+
+CREATE TABLE pbk_groups (
+ Name TEXT NOT NULL,
+ ID INTEGER PRIMARY KEY AUTOINCREMENT
+);
+
+CREATE TABLE phones (
+ ID TEXT NOT NULL,
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ TimeOut NUMERIC NOT NULL DEFAULT (datetime('now')),
+ Send TEXT NOT NULL DEFAULT 'no',
+ Receive TEXT NOT NULL DEFAULT 'no',
+ IMEI TEXT PRIMARY KEY NOT NULL,
+ NetCode TEXT DEFAULT 'ERROR',
+ NetName TEXT DEFAULT 'ERROR',
+ Client TEXT NOT NULL,
+ Battery INTEGER NOT NULL DEFAULT -1,
+ Signal INTEGER NOT NULL DEFAULT -1,
+ Sent INTEGER NOT NULL DEFAULT 0,
+ Received INTEGER NOT NULL DEFAULT 0
+);
+
+CREATE TRIGGER update_phones_time UPDATE ON phones
+ BEGIN
+ UPDATE phones SET UpdatedInDB = datetime('now') WHERE IMEI = old.IMEI;
+ END;
+
+CREATE TABLE sentitems (
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ SendingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
+ DeliveryDateTime NUMERIC NULL,
+ Text TEXT NOT NULL,
+ DestinationNumber TEXT NOT NULL DEFAULT '',
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT NOT NULL,
+ SMSCNumber TEXT NOT NULL DEFAULT '',
+ Class INTEGER NOT NULL DEFAULT '-1',
+ TextDecoded TEXT NOT NULL DEFAULT '',
+ ID INTEGER,
+ SenderID TEXT NOT NULL,
+ SequencePosition INTEGER NOT NULL DEFAULT '1',
+ Status TEXT NOT NULL DEFAULT 'SendingOK',
+ StatusError INTEGER NOT NULL DEFAULT '-1',
+ TPMR INTEGER NOT NULL DEFAULT '-1',
+ RelativeValidity INTEGER NOT NULL DEFAULT '-1',
+ CreatorID TEXT NOT NULL,
+ CHECK (Status IN
+
('SendingOK','SendingOKNoReport','SendingError','DeliveryOK','DeliveryFailed','DeliveryPending',
+ 'DeliveryUnknown','Error')),
+ CHECK (Coding IN
+
('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression'))
,
+ PRIMARY KEY (ID, SequencePosition)
+);
+
+CREATE INDEX sentitems_date ON sentitems(DeliveryDateTime);
+CREATE INDEX sentitems_tpmr ON sentitems(TPMR);
+CREATE INDEX sentitems_dest ON sentitems(DestinationNumber);
+CREATE INDEX sentitems_sender ON sentitems(SenderID);
+
+CREATE TRIGGER update_sentitems_time UPDATE ON sentitems
+ BEGIN
+ UPDATE sentitems SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
+ END;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/test/data/sqlite-15.sql
new/python-gammu-2.5/test/data/sqlite-15.sql
--- old/python-gammu-2.4/test/data/sqlite-15.sql 1970-01-01
01:00:00.000000000 +0100
+++ new/python-gammu-2.5/test/data/sqlite-15.sql 2016-01-19
14:39:32.000000000 +0100
@@ -0,0 +1,150 @@
+CREATE TABLE daemons (
+ Start TEXT NOT NULL,
+ Info TEXT NOT NULL
+);
+
+CREATE TABLE gammu (
+ Version INTEGER NOT NULL DEFAULT '0'
+);
+
+INSERT INTO gammu (Version) VALUES (15);
+
+CREATE TABLE inbox (
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ ReceivingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
+ Text TEXT NOT NULL,
+ SenderNumber TEXT NOT NULL DEFAULT '',
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT NOT NULL,
+ SMSCNumber TEXT NOT NULL DEFAULT '',
+ Class INTEGER NOT NULL DEFAULT '-1',
+ TextDecoded TEXT NOT NULL DEFAULT '',
+ ID INTEGER PRIMARY KEY AUTOINCREMENT,
+ RecipientID TEXT NOT NULL,
+ Processed TEXT NOT NULL DEFAULT 'false',
+ CHECK (Coding IN
+
('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression'))
+);
+
+CREATE TRIGGER update_inbox_time UPDATE ON inbox
+ BEGIN
+ UPDATE inbox SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
+ END;
+
+CREATE TABLE outbox (
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ SendingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
+ SendBefore time NOT NULL DEFAULT '23:59:59',
+ SendAfter time NOT NULL DEFAULT '00:00:00',
+ Text TEXT,
+ DestinationNumber TEXT NOT NULL DEFAULT '',
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT,
+ Class INTEGER DEFAULT '-1',
+ TextDecoded TEXT NOT NULL DEFAULT '',
+ ID INTEGER PRIMARY KEY AUTOINCREMENT,
+ MultiPart TEXT NOT NULL DEFAULT 'false',
+ RelativeValidity INTEGER DEFAULT '-1',
+ SenderID TEXT,
+ SendingTimeOut NUMERIC NOT NULL DEFAULT (datetime('now')),
+ DeliveryReport TEXT DEFAULT 'default',
+ CreatorID TEXT NOT NULL,
+ Retries INTEGER DEFAULT '0',
+ CHECK (Coding IN
+
('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')),
+ CHECK (DeliveryReport IN ('default','yes','no'))
+);
+
+CREATE INDEX outbox_date ON outbox(SendingDateTime, SendingTimeOut);
+CREATE INDEX outbox_sender ON outbox(SenderID);
+
+CREATE TRIGGER update_outbox_time UPDATE ON outbox
+ BEGIN
+ UPDATE outbox SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
+ END;
+
+CREATE TABLE outbox_multipart (
+ Text TEXT,
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT,
+ Class INTEGER DEFAULT '-1',
+ TextDecoded TEXT DEFAULT NULL,
+ ID INTEGER,
+ SequencePosition INTEGER NOT NULL DEFAULT '1',
+ CHECK (Coding IN
+
('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')),
+ PRIMARY KEY (ID, SequencePosition)
+);
+
+CREATE TABLE pbk (
+ ID INTEGER PRIMARY KEY AUTOINCREMENT,
+ GroupID INTEGER NOT NULL DEFAULT '-1',
+ Name TEXT NOT NULL,
+ Number TEXT NOT NULL
+);
+
+CREATE TABLE pbk_groups (
+ Name TEXT NOT NULL,
+ ID INTEGER PRIMARY KEY AUTOINCREMENT
+);
+
+CREATE TABLE phones (
+ ID TEXT NOT NULL,
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ TimeOut NUMERIC NOT NULL DEFAULT (datetime('now')),
+ Send TEXT NOT NULL DEFAULT 'no',
+ Receive TEXT NOT NULL DEFAULT 'no',
+ IMEI TEXT PRIMARY KEY NOT NULL,
+ NetCode TEXT DEFAULT 'ERROR',
+ NetName TEXT DEFAULT 'ERROR',
+ Client TEXT NOT NULL,
+ Battery INTEGER NOT NULL DEFAULT -1,
+ Signal INTEGER NOT NULL DEFAULT -1,
+ Sent INTEGER NOT NULL DEFAULT 0,
+ Received INTEGER NOT NULL DEFAULT 0
+);
+
+CREATE TRIGGER update_phones_time UPDATE ON phones
+ BEGIN
+ UPDATE phones SET UpdatedInDB = datetime('now') WHERE IMEI = old.IMEI;
+ END;
+
+CREATE TABLE sentitems (
+ UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
+ SendingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
+ DeliveryDateTime NUMERIC NULL,
+ Text TEXT NOT NULL,
+ DestinationNumber TEXT NOT NULL DEFAULT '',
+ Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
+ UDH TEXT NOT NULL,
+ SMSCNumber TEXT NOT NULL DEFAULT '',
+ Class INTEGER NOT NULL DEFAULT '-1',
+ TextDecoded TEXT NOT NULL DEFAULT '',
+ ID INTEGER,
+ SenderID TEXT NOT NULL,
+ SequencePosition INTEGER NOT NULL DEFAULT '1',
+ Status TEXT NOT NULL DEFAULT 'SendingOK',
+ StatusError INTEGER NOT NULL DEFAULT '-1',
+ TPMR INTEGER NOT NULL DEFAULT '-1',
+ RelativeValidity INTEGER NOT NULL DEFAULT '-1',
+ CreatorID TEXT NOT NULL,
+ CHECK (Status IN
+
('SendingOK','SendingOKNoReport','SendingError','DeliveryOK','DeliveryFailed','DeliveryPending',
+ 'DeliveryUnknown','Error')),
+ CHECK (Coding IN
+
('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression'))
,
+ PRIMARY KEY (ID, SequencePosition)
+);
+
+CREATE INDEX sentitems_date ON sentitems(DeliveryDateTime);
+CREATE INDEX sentitems_tpmr ON sentitems(TPMR);
+CREATE INDEX sentitems_dest ON sentitems(DestinationNumber);
+CREATE INDEX sentitems_sender ON sentitems(SenderID);
+
+CREATE TRIGGER update_sentitems_time UPDATE ON sentitems
+ BEGIN
+ UPDATE sentitems SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
+ END;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/test/data/sqlite.sql
new/python-gammu-2.5/test/data/sqlite.sql
--- old/python-gammu-2.4/test/data/sqlite.sql 2015-03-18 14:31:43.000000000
+0100
+++ new/python-gammu-2.5/test/data/sqlite.sql 1970-01-01 01:00:00.000000000
+0100
@@ -1,149 +0,0 @@
-CREATE TABLE daemons (
- Start TEXT NOT NULL,
- Info TEXT NOT NULL
-);
-
-CREATE TABLE gammu (
- Version INTEGER NOT NULL DEFAULT '0'
-);
-
-INSERT INTO gammu (Version) VALUES (14);
-
-CREATE TABLE inbox (
- UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- ReceivingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
- Text TEXT NOT NULL,
- SenderNumber TEXT NOT NULL DEFAULT '',
- Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
- UDH TEXT NOT NULL,
- SMSCNumber TEXT NOT NULL DEFAULT '',
- Class INTEGER NOT NULL DEFAULT '-1',
- TextDecoded TEXT NOT NULL DEFAULT '',
- ID INTEGER PRIMARY KEY AUTOINCREMENT,
- RecipientID TEXT NOT NULL,
- Processed TEXT NOT NULL DEFAULT 'false',
- CHECK (Coding IN
-
('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression'))
-);
-
-CREATE TRIGGER update_inbox_time UPDATE ON inbox
- BEGIN
- UPDATE inbox SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
- END;
-
-CREATE TABLE outbox (
- UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- SendingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
- SendBefore time NOT NULL DEFAULT '23:59:59',
- SendAfter time NOT NULL DEFAULT '00:00:00',
- Text TEXT,
- DestinationNumber TEXT NOT NULL DEFAULT '',
- Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
- UDH TEXT,
- Class INTEGER DEFAULT '-1',
- TextDecoded TEXT NOT NULL DEFAULT '',
- ID INTEGER PRIMARY KEY AUTOINCREMENT,
- MultiPart TEXT NOT NULL DEFAULT 'false',
- RelativeValidity INTEGER DEFAULT '-1',
- SenderID TEXT,
- SendingTimeOut NUMERIC NOT NULL DEFAULT (datetime('now')),
- DeliveryReport TEXT DEFAULT 'default',
- CreatorID TEXT NOT NULL,
- CHECK (Coding IN
-
('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')),
- CHECK (DeliveryReport IN ('default','yes','no'))
-);
-
-CREATE INDEX outbox_date ON outbox(SendingDateTime, SendingTimeOut);
-CREATE INDEX outbox_sender ON outbox(SenderID);
-
-CREATE TRIGGER update_outbox_time UPDATE ON outbox
- BEGIN
- UPDATE outbox SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
- END;
-
-CREATE TABLE outbox_multipart (
- Text TEXT,
- Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
- UDH TEXT,
- Class INTEGER DEFAULT '-1',
- TextDecoded TEXT DEFAULT NULL,
- ID INTEGER,
- SequencePosition INTEGER NOT NULL DEFAULT '1',
- CHECK (Coding IN
-
('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression')),
- PRIMARY KEY (ID, SequencePosition)
-);
-
-CREATE TABLE pbk (
- ID INTEGER PRIMARY KEY AUTOINCREMENT,
- GroupID INTEGER NOT NULL DEFAULT '-1',
- Name TEXT NOT NULL,
- Number TEXT NOT NULL
-);
-
-CREATE TABLE pbk_groups (
- Name TEXT NOT NULL,
- ID INTEGER PRIMARY KEY AUTOINCREMENT
-);
-
-CREATE TABLE phones (
- ID TEXT NOT NULL,
- UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- TimeOut NUMERIC NOT NULL DEFAULT (datetime('now')),
- Send TEXT NOT NULL DEFAULT 'no',
- Receive TEXT NOT NULL DEFAULT 'no',
- IMEI TEXT PRIMARY KEY NOT NULL,
- NetCode TEXT DEFAULT 'ERROR',
- NetName TEXT DEFAULT 'ERROR',
- Client TEXT NOT NULL,
- Battery INTEGER NOT NULL DEFAULT -1,
- Signal INTEGER NOT NULL DEFAULT -1,
- Sent INTEGER NOT NULL DEFAULT 0,
- Received INTEGER NOT NULL DEFAULT 0
-);
-
-CREATE TRIGGER update_phones_time UPDATE ON phones
- BEGIN
- UPDATE phones SET UpdatedInDB = datetime('now') WHERE IMEI = old.IMEI;
- END;
-
-CREATE TABLE sentitems (
- UpdatedInDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- InsertIntoDB NUMERIC NOT NULL DEFAULT (datetime('now')),
- SendingDateTime NUMERIC NOT NULL DEFAULT (datetime('now')),
- DeliveryDateTime NUMERIC NULL,
- Text TEXT NOT NULL,
- DestinationNumber TEXT NOT NULL DEFAULT '',
- Coding TEXT NOT NULL DEFAULT 'Default_No_Compression',
- UDH TEXT NOT NULL,
- SMSCNumber TEXT NOT NULL DEFAULT '',
- Class INTEGER NOT NULL DEFAULT '-1',
- TextDecoded TEXT NOT NULL DEFAULT '',
- ID INTEGER,
- SenderID TEXT NOT NULL,
- SequencePosition INTEGER NOT NULL DEFAULT '1',
- Status TEXT NOT NULL DEFAULT 'SendingOK',
- StatusError INTEGER NOT NULL DEFAULT '-1',
- TPMR INTEGER NOT NULL DEFAULT '-1',
- RelativeValidity INTEGER NOT NULL DEFAULT '-1',
- CreatorID TEXT NOT NULL,
- CHECK (Status IN
-
('SendingOK','SendingOKNoReport','SendingError','DeliveryOK','DeliveryFailed','DeliveryPending',
- 'DeliveryUnknown','Error')),
- CHECK (Coding IN
-
('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression'))
,
- PRIMARY KEY (ID, SequencePosition)
-);
-
-CREATE INDEX sentitems_date ON sentitems(DeliveryDateTime);
-CREATE INDEX sentitems_tpmr ON sentitems(TPMR);
-CREATE INDEX sentitems_dest ON sentitems(DestinationNumber);
-CREATE INDEX sentitems_sender ON sentitems(SenderID);
-
-CREATE TRIGGER update_sentitems_time UPDATE ON sentitems
- BEGIN
- UPDATE sentitems SET UpdatedInDB = datetime('now') WHERE ID = old.ID;
- END;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/test/test_dummy.py
new/python-gammu-2.5/test/test_dummy.py
--- old/python-gammu-2.4/test/test_dummy.py 2015-06-03 09:18:33.000000000
+0200
+++ new/python-gammu-2.5/test/test_dummy.py 2016-01-19 14:41:52.000000000
+0100
@@ -28,7 +28,7 @@
import os.path
DUMMY_DIR = os.path.join(os.path.dirname(__file__), 'data', 'gammu-dummy')
-TEST_FILE = os.path.join(os.path.dirname(__file__), 'data', 'sqlite.sql')
+TEST_FILE = os.path.join(os.path.dirname(__file__), 'data', 'sqlite-14.sql')
CONFIGURATION = '''
# Configuration for Gammu testsuite
@@ -74,6 +74,8 @@
class BasicDummyTest(DummyTest):
+ _called = False
+
def test_model(self):
state_machine = self.get_statemachine()
self.assertEqual(state_machine.GetModel()[1], 'Dummy')
@@ -227,15 +229,18 @@
'''
Callback on USSD data.
'''
+ self._called = True
self.assertEqual(response, 'USSD')
self.assertEqual(data['Text'], 'Reply for 1234')
self.assertEqual(data['Status'], 'NoActionNeeded')
def test_ussd(self):
+ self._called = False
state_machine = self.get_statemachine()
state_machine.SetIncomingCallback(self.ussd_callback)
state_machine.SetIncomingUSSD()
state_machine.DialService('1234')
+ self.assertTrue(self._called)
def test_sendsms(self):
state_machine = self.get_statemachine()
@@ -254,7 +259,7 @@
'from example python script. '
) * 10
smsinfo = {
- 'Class': 1,
+ 'Class': -1,
'Unicode': False,
'Entries': [
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-gammu-2.4/test/test_smsd.py
new/python-gammu-2.5/test/test_smsd.py
--- old/python-gammu-2.4/test/test_smsd.py 2015-09-02 10:15:16.000000000
+0200
+++ new/python-gammu-2.5/test/test_smsd.py 2016-01-19 14:40:33.000000000
+0100
@@ -27,7 +27,7 @@
import time
import sqlite3
-SQLITE_SCRIPT = os.path.join(os.path.dirname(__file__), 'data', 'sqlite.sql')
+
MESSAGE_1 = {
'Text': 'python-gammu testing message',
'SMSC': {'Location': 1},
@@ -40,13 +40,34 @@
}
+def get_script():
+ """Returns SQL script to create database
+
+ It returns correct script matching used Gammu version.
+ """
+ version = tuple(
+ [int(x) for x in gammu.Version()[0].split('.')]
+ )
+
+ if version < (1, 36, 7):
+ dbver = 14
+ else:
+ dbver = 15
+
+ return os.path.join(
+ os.path.dirname(__file__),
+ 'data',
+ 'sqlite-{0}.sql'.format(dbver)
+ )
+
+
class SMSDDummyTest(DummyTest):
def setUp(self):
super(SMSDDummyTest, self).setUp()
database = sqlite3.connect(
os.path.join(self.test_dir, 'smsd.db')
)
- with open(SQLITE_SCRIPT, 'r') as handle:
+ with open(get_script(), 'r') as handle:
database.executescript(handle.read())
def get_smsd(self):