Hello community, here is the log from the commit of package trytond for openSUSE:Factory checked in at 2019-12-10 22:43:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/trytond (Old) and /work/SRC/openSUSE:Factory/.trytond.new.4691 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "trytond" Tue Dec 10 22:43:14 2019 rev:39 rq:755505 version:5.0.16 Changes: -------- --- /work/SRC/openSUSE:Factory/trytond/trytond.changes 2019-12-04 14:19:44.318405692 +0100 +++ /work/SRC/openSUSE:Factory/.trytond.new.4691/trytond.changes 2019-12-10 22:43:27.225786178 +0100 @@ -1,0 +2,5 @@ +Tue Dec 3 09:27:32 UTC 2019 - Axel Braun <axel.br...@gmx.de> + +- Version 5.0.16 - Bugfix Release + +------------------------------------------------------------------- Old: ---- trytond-5.0.15.tar.gz New: ---- trytond-5.0.16.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ trytond.spec ++++++ --- /var/tmp/diff_new_pack.yqn2lY/_old 2019-12-10 22:43:27.877785935 +0100 +++ /var/tmp/diff_new_pack.yqn2lY/_new 2019-12-10 22:43:27.889785931 +0100 @@ -1,7 +1,7 @@ # # spec file for package trytond # -# Copyright (c) 2019 SUSE LLC. +# Copyright (c) 2019 SUSE LLC # Copyright (c) 2015 2017 Dr. Axel Braun # # All modifications and additions to the file contributed by third parties @@ -20,7 +20,7 @@ %define majorver 5.0 %define base_name tryton Name: trytond -Version: %{majorver}.15 +Version: %{majorver}.16 Release: 0 Summary: An Enterprise Resource Planning (ERP) system ++++++ trytond-5.0.15.tar.gz -> trytond-5.0.16.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-5.0.15/.hgtags new/trytond-5.0.16/.hgtags --- old/trytond-5.0.15/.hgtags 2019-11-08 19:16:13.000000000 +0100 +++ new/trytond-5.0.16/.hgtags 2019-12-02 20:37:38.000000000 +0100 @@ -34,3 +34,4 @@ 75df31f1eec7a37a472bdf58fafe8bcbc2d0f7bc 5.0.13 5d70325ac29f14ba49509e91c4d89f0cde4fb353 5.0.14 5e88387812d259b30e048f783fb22f75241246ca 5.0.15 +10157c2bfc0f14deb596cef77a90f5aff76a3e5a 5.0.16 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-5.0.15/CHANGELOG new/trytond-5.0.16/CHANGELOG --- old/trytond-5.0.15/CHANGELOG 2019-11-08 19:16:12.000000000 +0100 +++ new/trytond-5.0.16/CHANGELOG 2019-12-02 20:37:37.000000000 +0100 @@ -1,3 +1,6 @@ +Version 5.0.16 - 2019-12-02 +* Bug fixes (see mercurial logs for details) + Version 5.0.15 - 2019-11-08 * Bug fixes (see mercurial logs for details) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-5.0.15/PKG-INFO new/trytond-5.0.16/PKG-INFO --- old/trytond-5.0.15/PKG-INFO 2019-11-08 19:16:14.000000000 +0100 +++ new/trytond-5.0.16/PKG-INFO 2019-12-02 20:37:39.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: trytond -Version: 5.0.15 +Version: 5.0.16 Summary: Tryton server Home-page: http://www.tryton.org/ Author: Tryton @@ -109,8 +109,8 @@ Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Software Development :: Libraries :: Application Frameworks Requires-Python: >=3.4 -Provides-Extra: BCrypt Provides-Extra: PostgreSQL -Provides-Extra: Levenshtein Provides-Extra: graphviz +Provides-Extra: Levenshtein +Provides-Extra: BCrypt Provides-Extra: html2text diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-5.0.15/trytond/__init__.py new/trytond-5.0.16/trytond/__init__.py --- old/trytond-5.0.15/trytond/__init__.py 2019-10-06 13:46:31.000000000 +0200 +++ new/trytond-5.0.16/trytond/__init__.py 2019-11-15 22:44:58.000000000 +0100 @@ -5,7 +5,7 @@ import warnings from email import charset -__version__ = "5.0.15" +__version__ = "5.0.16" os.environ['TZ'] = 'UTC' if hasattr(time, 'tzset'): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-5.0.15/trytond/backend/postgresql/database.py new/trytond-5.0.16/trytond/backend/postgresql/database.py --- old/trytond-5.0.15/trytond/backend/postgresql/database.py 2019-08-11 19:34:43.000000000 +0200 +++ new/trytond-5.0.16/trytond/backend/postgresql/database.py 2019-11-15 23:08:37.000000000 +0100 @@ -1,5 +1,6 @@ # This file is part of Tryton. The COPYRIGHT file at the top level of # this repository contains the full copyright notices and license terms. +from collections import defaultdict import time import logging import os @@ -81,7 +82,7 @@ class Database(DatabaseInterface): _lock = RLock() - _databases = {} + _databases = defaultdict(dict) _connpool = None _list_cache = {} _list_cache_timestamp = {} @@ -103,13 +104,14 @@ def __new__(cls, name='template1'): with cls._lock: now = datetime.now() - for database in list(cls._databases.values()): + databases = cls._databases[os.getpid()] + for database in list(databases.values()): if ((now - database._last_use).total_seconds() > _timeout and database.name != name and not database._connpool._used): database.close() - if name in cls._databases: - inst = cls._databases[name] + if name in databases: + inst = databases[name] else: if name == 'template1': minconn = 0 @@ -121,7 +123,7 @@ minconn, _maxconn, cursor_factory=LoggingCursor, **cls._connection_params(name)) - cls._databases[name] = inst + databases[name] = inst inst._last_use = datetime.now() return inst @@ -174,7 +176,7 @@ with self._lock: logger.info('disconnect from "%s"', self.name) self._connpool.closeall() - self._databases.pop(self.name) + self._databases[os.getpid()].pop(self.name) @classmethod def create(cls, connection, database_name, template='template0'): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-5.0.15/trytond/exceptions.py new/trytond-5.0.16/trytond/exceptions.py --- old/trytond-5.0.15/trytond/exceptions.py 2019-08-11 19:34:43.000000000 +0200 +++ new/trytond-5.0.16/trytond/exceptions.py 2019-11-15 22:44:58.000000000 +0100 @@ -14,7 +14,7 @@ self.description = description self.code = 1 - def __unicode__(self): + def __str__(self): return '%s - %s' % (self.message, self.description) @@ -28,7 +28,7 @@ self.description = description self.code = 2 - def __unicode__(self): + def __str__(self): return '%s - %s' % (self.message, self.description) @@ -54,7 +54,7 @@ self.message = message self.code = 4 - def __unicode__(self): + def __str__(self): return self.message @@ -67,5 +67,5 @@ def __init__(self, missings): self.missings = missings - def __unicode__(self): + def __str__(self): return 'Missing dependencies: %s' % ' '.join(self.missings) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-5.0.15/trytond/model/model.py new/trytond-5.0.16/trytond/model/model.py --- old/trytond-5.0.15/trytond/model/model.py 2019-08-11 19:34:43.000000000 +0200 +++ new/trytond-5.0.16/trytond/model/model.py 2019-11-15 22:44:58.000000000 +0100 @@ -407,9 +407,6 @@ def __str__(self): return '%s,%s' % (self.__name__, self.id) - def __unicode__(self): - return '%s,%s' % (self.__name__, self.id) - def __repr__(self): if self.id is None or self.id < 0: return "Pool().get('%s')(**%s)" % (self.__name__, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-5.0.15/trytond/model/modelsql.py new/trytond-5.0.16/trytond/model/modelsql.py --- old/trytond-5.0.15/trytond/model/modelsql.py 2019-08-11 19:34:43.000000000 +0200 +++ new/trytond-5.0.16/trytond/model/modelsql.py 2019-11-15 22:44:58.000000000 +0100 @@ -524,11 +524,13 @@ '%s,%s' % (cls.__name__, id_)) except KeyError: continue - sql_type = fields.Numeric('timestamp').sql_type().base + if timestamp is None: + continue + sql_type = fields.Char('timestamp').sql_type().base where.append((table.id == id_) & (Extract('EPOCH', Coalesce(table.write_date, table.create_date) - ).cast(sql_type) > timestamp)) + ).cast(sql_type) != timestamp)) if where: cursor.execute(*table.select(table.id, where=where, limit=1)) if cursor.fetchone(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-5.0.15/trytond/report/report.py new/trytond-5.0.16/trytond/report/report.py --- old/trytond-5.0.15/trytond/report/report.py 2019-08-11 19:34:43.000000000 +0200 +++ new/trytond-5.0.16/trytond/report/report.py 2019-11-15 22:44:58.000000000 +0100 @@ -229,8 +229,6 @@ def __str__(self): return '%s,%s' % (Model.__name__, self.id) - def __unicode__(self): - return '%s,%s' % (Model.__name__, self.id) return [TranslateModel(id) for id in ids] @classmethod diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-5.0.15/trytond/tests/test_modelsql.py new/trytond-5.0.16/trytond/tests/test_modelsql.py --- old/trytond-5.0.15/trytond/tests/test_modelsql.py 2019-08-11 19:34:43.000000000 +0200 +++ new/trytond-5.0.16/trytond/tests/test_modelsql.py 2019-11-15 22:44:58.000000000 +0100 @@ -65,6 +65,7 @@ # timestamp precision of sqlite is the second time.sleep(1) + transaction.timestamp[str(record)] = timestamp ModelsqlTimestamp.write([record], {}) transaction.commit() @@ -76,6 +77,10 @@ self.assertRaises(ConcurrencyException, ModelsqlTimestamp.delete, [record]) + transaction.timestamp[str(record)] = None + ModelsqlTimestamp.write([record], {}) + transaction.commit() + transaction.timestamp.pop(str(record), None) ModelsqlTimestamp.write([record], {}) transaction.commit() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-5.0.15/trytond.egg-info/PKG-INFO new/trytond-5.0.16/trytond.egg-info/PKG-INFO --- old/trytond-5.0.15/trytond.egg-info/PKG-INFO 2019-11-08 19:16:14.000000000 +0100 +++ new/trytond-5.0.16/trytond.egg-info/PKG-INFO 2019-12-02 20:37:39.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: trytond -Version: 5.0.15 +Version: 5.0.16 Summary: Tryton server Home-page: http://www.tryton.org/ Author: Tryton @@ -109,8 +109,8 @@ Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Software Development :: Libraries :: Application Frameworks Requires-Python: >=3.4 -Provides-Extra: BCrypt Provides-Extra: PostgreSQL -Provides-Extra: Levenshtein Provides-Extra: graphviz +Provides-Extra: Levenshtein +Provides-Extra: BCrypt Provides-Extra: html2text