[tryton-debian-vcs] tryton-modules-analytic-invoice branch debian updated. debian/3.0.0-3-4-g1c9bd89

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Tue Apr 22 13:06:06 UTC 2014


The following commit has been merged in the debian branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-analytic-invoice.git;a=commitdiff;h=debian/3.0.0-3-4-g1c9bd89

commit 1c9bd89c5b2234f9939a2e957e33f71ffdbb7941
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue Apr 22 14:59:41 2014 +0200

    Bumping minimal required Python version to 2.7.

diff --git a/debian/control b/debian/control
index 83e9a37..915d582 100644
--- a/debian/control
+++ b/debian/control
@@ -9,7 +9,7 @@ Standards-Version: 3.9.5
 Homepage: http://www.tryton.org/
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=tryton/tryton-modules-analytic-invoice.git
 Vcs-Git: git://anonscm.debian.org/tryton/tryton-modules-analytic-invoice.git
-X-Python-Version: >= 2.6
+X-Python-Version: >= 2.7
 
 Package: tryton-modules-analytic-invoice
 Architecture: all
commit dfbc49a02bb7b98d7ff18d122f28fe66b3517a30
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue Apr 22 14:45:44 2014 +0200

    Updating copyright.

diff --git a/debian/copyright b/debian/copyright
index 39077e3..6f7792e 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,9 +1,9 @@
 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 
 Files: *
-Copyright: 2008-2013 Cédric Krier
+Copyright: 2008-2014 Cédric Krier
            2008-2012 Bertrand Chenal
-           2008-2013 B2CK SPRL
+           2008-2014 B2CK SPRL
 License: GPL-3+
 
 Files: debian/*
commit 608921c5fbaeecd9302a6289a89f4a0d0e469e52
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue Apr 22 14:20:56 2014 +0200

    Merging upstream version 3.2.0.

diff --git a/CHANGELOG b/CHANGELOG
index 09d92d7..c4f3c28 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 3.2.0 - 2014-04-21
+* Bug fixes (see mercurial logs for details)
+
 Version 3.0.0 - 2013-10-21
 * Bug fixes (see mercurial logs for details)
 
diff --git a/COPYRIGHT b/COPYRIGHT
index d7165c7..9925e7d 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,6 +1,6 @@
-Copyright (C) 2008-2013 Cédric Krier.
+Copyright (C) 2008-2014 Cédric Krier.
 Copyright (C) 2008-2012 Bertrand Chenal.
-Copyright (C) 2008-2013 B2CK SPRL.
+Copyright (C) 2008-2014 B2CK SPRL.
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
diff --git a/INSTALL b/INSTALL
index 4c54706..bc795f4 100644
--- a/INSTALL
+++ b/INSTALL
@@ -4,7 +4,7 @@ Installing trytond_analytic_invoice
 Prerequisites
 -------------
 
- * Python 2.6 or later (http://www.python.org/)
+ * Python 2.7 or later (http://www.python.org/)
  * trytond (http://www.tryton.org/)
  * trytond_account_invoice (http://www.tryton.org/)
  * trytond_analytic_account (http://www.tryton.org/)
diff --git a/MANIFEST.in b/MANIFEST.in
index 18ce53c..4cf1634 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,11 +1,9 @@
 include INSTALL
 include README
-include TODO
 include COPYRIGHT
 include CHANGELOG
 include LICENSE
 include tryton.cfg
 include *.xml
 include view/*.xml
-include *.odt
 include locale/*.po
diff --git a/PKG-INFO b/PKG-INFO
index ab4271e..1f5d589 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_analytic_invoice
-Version: 3.0.0
+Version: 3.2.0
 Summary: Tryton module to add analytic accounting on invoice
 Home-page: http://www.tryton.org/
 Author: Tryton
-Author-email: UNKNOWN
+Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.0/
+Download-URL: http://downloads.tryton.org/3.2/
 Description: trytond_analytic_invoice
         ========================
         
@@ -43,6 +43,7 @@ Description: trytond_analytic_invoice
         
           http://www.tryton.org/
         
+Keywords: tryton analytic account invoice
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Plugins
@@ -61,7 +62,6 @@ Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Topic :: Office/Business
 Classifier: Topic :: Office/Business :: Financial :: Accounting
diff --git a/invoice.py b/invoice.py
index 4ce6714..cf9907e 100644
--- a/invoice.py
+++ b/invoice.py
@@ -41,10 +41,10 @@ class InvoiceLine:
         return fields
 
     @classmethod
-    def default_get(cls, fields, with_rec_name=True):
+    def default_get(cls, fields, with_rec_name=True, with_on_change=True):
         fields = [x for x in fields if not x.startswith('analytic_account_')]
         return super(InvoiceLine, cls).default_get(fields,
-            with_rec_name=with_rec_name)
+            with_rec_name=with_rec_name, with_on_change=with_on_change)
 
     @classmethod
     def read(cls, ids, fields_names=None):
@@ -109,42 +109,52 @@ class InvoiceLine:
         return super(InvoiceLine, cls).create(vlist)
 
     @classmethod
-    def write(cls, lines, vals):
+    def write(cls, *args):
         Selection = Pool().get('analytic_account.account.selection')
-        vals = vals.copy()
-        selection_vals = {}
-        for field in vals.keys():
-            if field.startswith('analytic_account_'):
-                root_id = int(field[len('analytic_account_'):])
-                selection_vals[root_id] = vals[field]
-                del vals[field]
-        if selection_vals:
-            for line in lines:
-                if line.type != 'line':
-                    continue
-                accounts = []
-                if not line.analytic_accounts:
-                    # Create missing selection
-                    with Transaction().set_user(0):
-                            selection, = Selection.create([{}])
-                    cls.write([line], {
-                            'analytic_accounts': selection.id,
+        actions = iter(args)
+        args = []
+        for lines, values in zip(actions, actions):
+            values = values.copy()
+            selection_vals = {}
+            for field, value in values.items():
+                if field.startswith('analytic_account_'):
+                    root_id = int(field[len('analytic_account_'):])
+                    selection_vals[root_id] = value
+                    del values[field]
+            if selection_vals:
+                for line in lines:
+                    if line.type != 'line':
+                        continue
+                    accounts = []
+                    if not line.analytic_accounts:
+                        # Create missing selection
+                        with Transaction().set_user(0):
+                                selection, = Selection.create([{}])
+                        cls.write([line], {
+                                'analytic_accounts': selection.id,
+                                })
+                    for account in line.analytic_accounts.accounts:
+                        if account.root.id in selection_vals:
+                            value = selection_vals[account.root.id]
+                            if value:
+                                accounts.append(value)
+                        else:
+                            accounts.append(account.id)
+                    for account_id in selection_vals.values():
+                        if account_id \
+                                and account_id not in accounts:
+                            accounts.append(account_id)
+                    to_remove = list(
+                        set((a.id for a in line.analytic_accounts.accounts))
+                        - set(accounts))
+                    Selection.write([line.analytic_accounts], {
+                            'accounts': [
+                                ('remove', to_remove),
+                                ('add', accounts),
+                                ],
                             })
-                for account in line.analytic_accounts.accounts:
-                    if account.root.id in selection_vals:
-                        value = selection_vals[account.root.id]
-                        if value:
-                            accounts.append(value)
-                    else:
-                        accounts.append(account.id)
-                for account_id in selection_vals.values():
-                    if account_id \
-                            and account_id not in accounts:
-                        accounts.append(account_id)
-                Selection.write([line.analytic_accounts], {
-                        'accounts': [('set', accounts)],
-                        })
-        super(InvoiceLine, cls).write(lines, vals)
+            args.extend((lines, values))
+        super(InvoiceLine, cls).write(*args)
 
     @classmethod
     def delete(cls, lines):
@@ -226,9 +236,9 @@ class Account(ModelSQL, ModelView):
         return accounts
 
     @classmethod
-    def write(cls, accounts, vals):
+    def write(cls, accounts, values, *args):
         InvoiceLine = Pool().get('account.invoice.line')
-        super(Account, cls).write(accounts, vals)
+        super(Account, cls).write(accounts, values, *args)
         # Restart the cache on the fields_view_get method of
         # account.invoice.line
         InvoiceLine._fields_view_get_cache.clear()
diff --git a/setup.py b/setup.py
index f4323c7..e034f3f 100644
--- a/setup.py
+++ b/setup.py
@@ -11,33 +11,51 @@ import ConfigParser
 def read(fname):
     return open(os.path.join(os.path.dirname(__file__), fname)).read()
 
+
+def get_require_version(name):
+    if minor_version % 2:
+        require = '%s >= %s.%s.dev0, < %s.%s'
+    else:
+        require = '%s >= %s.%s, < %s.%s'
+    require %= (name, major_version, minor_version,
+        major_version, minor_version + 1)
+    return require
+
 config = ConfigParser.ConfigParser()
 config.readfp(open('tryton.cfg'))
 info = dict(config.items('tryton'))
 for key in ('depends', 'extras_depend', 'xml'):
     if key in info:
         info[key] = info[key].strip().splitlines()
-major_version, minor_version, _ = info.get('version', '0.0.1').split('.', 2)
+version = info.get('version', '0.0.1')
+major_version, minor_version, _ = version.split('.', 2)
 major_version = int(major_version)
 minor_version = int(minor_version)
+name = 'trytond_analytic_invoice'
+
+download_url = 'http://downloads.tryton.org/%s.%s/' % (
+    major_version, minor_version)
+if minor_version % 2:
+    version = '%s.%s.dev0' % (major_version, minor_version)
+    download_url = (
+        'hg+http://hg.tryton.org/modules/%s#egg=%s-%s' % (
+            name[8:], name, version))
 
 requires = []
 for dep in info.get('depends', []):
     if not re.match(r'(ir|res|webdav)(\W|$)', dep):
-        requires.append('trytond_%s >= %s.%s, < %s.%s' %
-            (dep, major_version, minor_version, major_version,
-                minor_version + 1))
-requires.append('trytond >= %s.%s, < %s.%s' %
-    (major_version, minor_version, major_version, minor_version + 1))
+        requires.append(get_require_version('trytond_%s' % dep))
+requires.append(get_require_version('trytond'))
 
-setup(name='trytond_analytic_invoice',
-    version=info.get('version', '0.0.1'),
+setup(name=name,
+    version=version,
     description='Tryton module to add analytic accounting on invoice',
     long_description=read('README'),
     author='Tryton',
+    author_email='issue_tracker at tryton.org',
     url='http://www.tryton.org/',
-    download_url=("http://downloads.tryton.org/" +
-        info.get('version', '0.0.1').rsplit('.', 1)[0] + '/'),
+    download_url=download_url,
+    keywords='tryton analytic account invoice',
     package_dir={'trytond.modules.analytic_invoice': '.'},
     packages=[
         'trytond.modules.analytic_invoice',
@@ -65,7 +83,6 @@ setup(name='trytond_analytic_invoice',
         'Natural Language :: Slovenian',
         'Natural Language :: Spanish',
         'Operating System :: OS Independent',
-        'Programming Language :: Python :: 2.6',
         'Programming Language :: Python :: 2.7',
         'Topic :: Office/Business',
         'Topic :: Office/Business :: Financial :: Accounting',
diff --git a/tests/test_analytic_invoice.py b/tests/test_analytic_invoice.py
index f5929c5..08b998d 100644
--- a/tests/test_analytic_invoice.py
+++ b/tests/test_analytic_invoice.py
@@ -1,37 +1,22 @@
-#!/usr/bin/env python
 #This file is part of Tryton.  The COPYRIGHT file at the top level of
 #this repository contains the full copyright notices and license terms.
-
-import sys
-import os
-DIR = os.path.abspath(os.path.normpath(os.path.join(__file__,
-    '..', '..', '..', '..', '..', 'trytond')))
-if os.path.isdir(DIR):
-    sys.path.insert(0, os.path.dirname(DIR))
-
 import unittest
 import trytond.tests.test_tryton
 from trytond.tests.test_tryton import test_view, test_depends
 
 
 class AnalyticInvoiceTestCase(unittest.TestCase):
-    '''
-    Test AnalyticInvoice module.
-    '''
+    'Test AnalyticInvoice module'
 
     def setUp(self):
         trytond.tests.test_tryton.install_module('analytic_invoice')
 
     def test0005views(self):
-        '''
-        Test views.
-        '''
+        'Test views'
         test_view('analytic_invoice')
 
     def test0006depends(self):
-        '''
-        Test depends.
-        '''
+        'Test depends'
         test_depends()
 
 
@@ -40,6 +25,3 @@ def suite():
     suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
         AnalyticInvoiceTestCase))
     return suite
-
-if __name__ == '__main__':
-    unittest.TextTestRunner(verbosity=2).run(suite())
diff --git a/tryton.cfg b/tryton.cfg
index fe818bf..e5efe36 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=3.0.0
+version=3.2.0
 depends:
     account_invoice
     analytic_account
diff --git a/trytond_analytic_invoice.egg-info/PKG-INFO b/trytond_analytic_invoice.egg-info/PKG-INFO
index c838dfd..2fe99e2 100644
--- a/trytond_analytic_invoice.egg-info/PKG-INFO
+++ b/trytond_analytic_invoice.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-analytic-invoice
-Version: 3.0.0
+Version: 3.2.0
 Summary: Tryton module to add analytic accounting on invoice
 Home-page: http://www.tryton.org/
 Author: Tryton
-Author-email: UNKNOWN
+Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.0/
+Download-URL: http://downloads.tryton.org/3.2/
 Description: trytond_analytic_invoice
         ========================
         
@@ -43,6 +43,7 @@ Description: trytond_analytic_invoice
         
           http://www.tryton.org/
         
+Keywords: tryton analytic account invoice
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Plugins
@@ -61,7 +62,6 @@ Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Topic :: Office/Business
 Classifier: Topic :: Office/Business :: Financial :: Accounting
diff --git a/trytond_analytic_invoice.egg-info/requires.txt b/trytond_analytic_invoice.egg-info/requires.txt
index 901d602..73c90fb 100644
--- a/trytond_analytic_invoice.egg-info/requires.txt
+++ b/trytond_analytic_invoice.egg-info/requires.txt
@@ -1,3 +1,3 @@
-trytond_account_invoice >= 3.0, < 3.1
-trytond_analytic_account >= 3.0, < 3.1
-trytond >= 3.0, < 3.1
\ No newline at end of file
+trytond_account_invoice >= 3.2, < 3.3
+trytond_analytic_account >= 3.2, < 3.3
+trytond >= 3.2, < 3.3
\ No newline at end of file
-- 
tryton-modules-analytic-invoice



More information about the tryton-debian-vcs mailing list