New Upstream Release - transifex-client

Ready changes

Summary

Merged new upstream version: 0.14.4 (was: 0.14.2).

Resulting package

Built on 2022-04-19T10:24 (took 5m5s)

The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:

apt install -t fresh-releases transifex-client

Lintian Result

Diff

diff --git a/PKG-INFO b/PKG-INFO
index 8811d6f..c2db2b1 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: transifex-client
-Version: 0.14.2
+Version: 0.14.4
 Summary: A command line interface for Transifex
 Home-page: https://www.transifex.com
 Author: Transifex
@@ -13,7 +13,7 @@ Description: Transifex Command-Line Tool
         [![codecov](https://codecov.io/gh/transifex/transifex-client/branch/master/graph/badge.svg)](https://codecov.io/gh/transifex/transifex-client)
         [![PyPI version](https://badge.fury.io/py/transifex-client.svg)](https://badge.fury.io/py/transifex-client)
         
-        
+        > _⚠️ A new client, compatible with the [new API](https://transifex.github.io/openapi/), is under development. Check out the Alpha version [here](https://github.com/transifex/cli)._
         
         ## Getting started
         Whether you have experience with the command line or not, [this interactive tutorial](https://www.transifex.com/learn/txclient/) is intended for everyone who wishes to learn how the Transifex client works. There is no need to download anything - Just click on the link provided above, and follow the instructions.
diff --git a/README.md b/README.md
index 9556bda..b366091 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@ Transifex Command-Line Tool
 [![codecov](https://codecov.io/gh/transifex/transifex-client/branch/master/graph/badge.svg)](https://codecov.io/gh/transifex/transifex-client)
 [![PyPI version](https://badge.fury.io/py/transifex-client.svg)](https://badge.fury.io/py/transifex-client)
 
-
+> _⚠️ A new client, compatible with the [new API](https://transifex.github.io/openapi/), is under development. Check out the Alpha version [here](https://github.com/transifex/cli)._
 
 ## Getting started
 Whether you have experience with the command line or not, [this interactive tutorial](https://www.transifex.com/learn/txclient/) is intended for everyone who wishes to learn how the Transifex client works. There is no need to download anything - Just click on the link provided above, and follow the instructions.
diff --git a/debian/changelog b/debian/changelog
index 1688581..3886d8e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+transifex-client (0.14.4-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Tue, 19 Apr 2022 10:20:05 -0000
+
 transifex-client (0.14.2-1) unstable; urgency=medium
 
   [ Ondřej Nový ]
diff --git a/requirements.txt b/requirements.txt
index 0eb4b49..49551d6 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,4 +3,3 @@ six<2.0.0
 requests>=2.19.1,<3.0.0
 python-slugify<5.0.0
 gitpython<4.0.0
-
diff --git a/tests/project_dir/.transifexrc b/tests/project_dir/.transifexrc
index 6bf92eb..94e5cc5 100644
--- a/tests/project_dir/.transifexrc
+++ b/tests/project_dir/.transifexrc
@@ -3,4 +3,3 @@ api_hostname = https://api.transifex.com
 hostname = https://www.transifex.com
 password = foo
 username = bar
-
diff --git a/tests/test_commands.py b/tests/test_commands.py
index b2e4bbd..1bc6814 100644
--- a/tests/test_commands.py
+++ b/tests/test_commands.py
@@ -81,7 +81,7 @@ class TestInitCommand(unittest.TestCase):
 
     def test_init(self):
         argv = []
-        config_text = "[main]\nhost = https://www.transifex.com\n\n"
+        config_text = "[main]\nhost = https://www.transifex.com\n"
         with patch('txclib.commands.project.Project'):
             with patch('txclib.commands.cmd_config') as set_mock:
                 cmd_init(argv, '')
@@ -255,7 +255,7 @@ class TestConfigCommand(unittest.TestCase):
 
     def test_bare_set_source_file(self):
         expected = ("[main]\nhost = https://foo.var\n\n[project1.resource1]\n"
-                    "source_file = test.txt\nsource_lang = en\n\n")
+                    "source_file = test.txt\nsource_lang = en\n")
         args = ["-r", "project1.resource1", '--source', '-l', 'en', 'test.txt']
         cmd_config(args, self.path_to_tx)
         with open(self.config_file) as config:
@@ -264,7 +264,7 @@ class TestConfigCommand(unittest.TestCase):
         # set translation file for de
         expected = ("[main]\nhost = https://foo.var\n\n[project1.resource1]\n"
                     "source_file = test.txt\nsource_lang = en\n"
-                    "trans.de = translations/de.txt\n\n")
+                    "trans.de = translations/de.txt\n")
         args = ["-r", "project1.resource1", '-l', 'de', 'translations/de.txt']
         cmd_config(args, self.path_to_tx)
         with open(self.config_file) as config:
@@ -289,7 +289,7 @@ class TestConfigCommand(unittest.TestCase):
         expected = ("[main]\nhost = https://foo.var\n\n[project1.resource1]\n"
                     "file_filter = translations/<lang>/test.txt\n"
                     "source_file = translations/en/test.txt\n"
-                    "source_lang = en\n\n")
+                    "source_lang = en\n")
 
         args = ["--auto-local", "-r", "project1.resource1",
                 '--source-language', 'en', '--execute',
@@ -302,7 +302,7 @@ class TestConfigCommand(unittest.TestCase):
         expected = ("[main]\nhost = https://foo.var\n\n[project1.resource1]\n"
                     "file_filter = translations/<lang>/test.txt\n"
                     "source_file = translations/en/test.txt\n"
-                    "source_lang = en\n\n")
+                    "source_lang = en\n")
 
         args = [MAPPING, "-r", "project1.resource1", '--source-language',
                 'en', '--execute', 'translations/<lang>/test.txt']
@@ -333,7 +333,7 @@ class TestConfigCommand(unittest.TestCase):
                     "file_filter = translations/proj.resource_1/<lang>.txt\n"
                     "source_lang = fr\ntype = TXT\n\n[proj.resource_2]\n"
                     "file_filter = translations/proj.resource_2/<lang>.txt\n"
-                    "source_lang = fr\ntype = TXT\n\n")
+                    "source_lang = fr\ntype = TXT\n")
         extension_mock.return_value = ".txt"
         get_details_mock.side_effect = [
             # project details
@@ -372,7 +372,7 @@ class TestConfigCommand(unittest.TestCase):
                     "file_filter = translations/proj.resource_1/<lang>.txt\n"
                     "source_lang = fr\ntype = TXT\n\n[proj.resource_2]\n"
                     "file_filter = translations/proj.resource_2/<lang>.txt\n"
-                    "source_lang = fr\ntype = TXT\n\n")
+                    "source_lang = fr\ntype = TXT\n")
         extension_mock.return_value = ".txt"
         get_details_mock.side_effect = [
             # project details
@@ -417,7 +417,7 @@ class TestConfigCommand(unittest.TestCase):
                     "[test-project.translations_en_test]\n"
                     "file_filter = translations/<lang>/en/test.txt\n"
                     "source_file = translations/en/test.txt\n"
-                    "source_lang = en\ntype = TXT\n\n")
+                    "source_lang = en\ntype = TXT\n")
         args = [MAPPINGBULK, "-p", "test-project", "--source-file-dir",
                 "translations", "--source-language", "en", "-t", "TXT",
                 "--file-extension", ".txt", "--execute", "--expression",
diff --git a/transifex_client.egg-info/PKG-INFO b/transifex_client.egg-info/PKG-INFO
index 8811d6f..c2db2b1 100644
--- a/transifex_client.egg-info/PKG-INFO
+++ b/transifex_client.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: transifex-client
-Version: 0.14.2
+Version: 0.14.4
 Summary: A command line interface for Transifex
 Home-page: https://www.transifex.com
 Author: Transifex
@@ -13,7 +13,7 @@ Description: Transifex Command-Line Tool
         [![codecov](https://codecov.io/gh/transifex/transifex-client/branch/master/graph/badge.svg)](https://codecov.io/gh/transifex/transifex-client)
         [![PyPI version](https://badge.fury.io/py/transifex-client.svg)](https://badge.fury.io/py/transifex-client)
         
-        
+        > _⚠️ A new client, compatible with the [new API](https://transifex.github.io/openapi/), is under development. Check out the Alpha version [here](https://github.com/transifex/cli)._
         
         ## Getting started
         Whether you have experience with the command line or not, [this interactive tutorial](https://www.transifex.com/learn/txclient/) is intended for everyone who wishes to learn how the Transifex client works. There is no need to download anything - Just click on the link provided above, and follow the instructions.
diff --git a/txclib/__init__.py b/txclib/__init__.py
index cc7beee..aaae346 100644
--- a/txclib/__init__.py
+++ b/txclib/__init__.py
@@ -1,4 +1,4 @@
 # -*- coding: utf-8 -*-
 
 # https://www.python.org/dev/peps/pep-0440/#examples-of-compliant-version-schemes
-__version__ = '0.14.2'
+__version__ = '0.14.4'
diff --git a/txclib/config.py b/txclib/config.py
index 2c0e8c1..cdaf8d6 100644
--- a/txclib/config.py
+++ b/txclib/config.py
@@ -14,20 +14,21 @@ class OrderedRawConfigParser(configparser.RawConfigParser):
     """
     def write(self, fp):
         """Write an .ini-format representation of the configuration state."""
+        section_prefix = ''
         if self._defaults:
             fp.write("[%s]\n" % DEFAULTSECT)
             for key in sorted(self._defaults):
                 fp.write("%s = %s\n" % (key, str(self._defaults[key]).
                          replace('\n', '\n\t')))
-            fp.write("\n")
+            section_prefix = '\n'
         for section in self._sections:
-            fp.write("[%s]\n" % section)
+            fp.write("%s[%s]\n" % (section_prefix, section))
             for key in sorted(self._sections[section]):
                 if key != "__name__":
                     fp.write("%s = %s\n" %
                              (key, str(self._sections[section][key]).
                               replace('\n', '\n\t')))
-            fp.write("\n")
+            section_prefix = '\n'
 
     optionxform = str
 
diff --git a/txclib/project.py b/txclib/project.py
index 9e251a2..bd0b932 100644
--- a/txclib/project.py
+++ b/txclib/project.py
@@ -489,7 +489,9 @@ class Project(object):
             new_translations |= new
             logger.debug("Adding to new translations: %s" % new)
 
-            if fetchsource:
+            if fetchsource or slang in languages:
+                new_translations.discard(slang)
+                pull_languages.discard(slang)
                 if sfile and slang not in pull_languages:
                     pull_languages.add(slang)
                 elif slang not in new_translations:

Debdiff

[The following lists of changes regard files as different if they have different names, permissions or owners.]

Files in second set of .debs but not in first

-rw-r--r--  root/root   /usr/lib/python3/dist-packages/transifex_client-0.14.4.egg-info/PKG-INFO
-rw-r--r--  root/root   /usr/lib/python3/dist-packages/transifex_client-0.14.4.egg-info/dependency_links.txt
-rw-r--r--  root/root   /usr/lib/python3/dist-packages/transifex_client-0.14.4.egg-info/entry_points.txt
-rw-r--r--  root/root   /usr/lib/python3/dist-packages/transifex_client-0.14.4.egg-info/not-zip-safe
-rw-r--r--  root/root   /usr/lib/python3/dist-packages/transifex_client-0.14.4.egg-info/requires.txt
-rw-r--r--  root/root   /usr/lib/python3/dist-packages/transifex_client-0.14.4.egg-info/top_level.txt

Files in first set of .debs but not in second

-rw-r--r--  root/root   /usr/lib/python3/dist-packages/transifex_client-0.14.2.egg-info/PKG-INFO
-rw-r--r--  root/root   /usr/lib/python3/dist-packages/transifex_client-0.14.2.egg-info/dependency_links.txt
-rw-r--r--  root/root   /usr/lib/python3/dist-packages/transifex_client-0.14.2.egg-info/entry_points.txt
-rw-r--r--  root/root   /usr/lib/python3/dist-packages/transifex_client-0.14.2.egg-info/not-zip-safe
-rw-r--r--  root/root   /usr/lib/python3/dist-packages/transifex_client-0.14.2.egg-info/requires.txt
-rw-r--r--  root/root   /usr/lib/python3/dist-packages/transifex_client-0.14.2.egg-info/top_level.txt

No differences were encountered in the control files

More details

Full run details