You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by tv...@apache.org on 2020/02/13 03:04:12 UTC

[beam] branch revert-10828-rename_tostringcoder created (now f2284fb)

This is an automated email from the ASF dual-hosted git repository.

tvalentyn pushed a change to branch revert-10828-rename_tostringcoder
in repository https://gitbox.apache.org/repos/asf/beam.git.


      at f2284fb  Revert "[BEAM-7198] rename ToStringCoder to ToBytesCoder for proper representation of its role"

This branch includes the following new commits:

     new f2284fb  Revert "[BEAM-7198] rename ToStringCoder to ToBytesCoder for proper representation of its role"

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[beam] 01/01: Revert "[BEAM-7198] rename ToStringCoder to ToBytesCoder for proper representation of its role"

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvalentyn pushed a commit to branch revert-10828-rename_tostringcoder
in repository https://gitbox.apache.org/repos/asf/beam.git

commit f2284fbe6f3fc2a0a3e89ae57d5659fa13816768
Author: tvalentyn <tv...@users.noreply.github.com>
AuthorDate: Wed Feb 12 19:03:51 2020 -0800

    Revert "[BEAM-7198] rename ToStringCoder to ToBytesCoder for proper representation of its role"
---
 sdks/python/apache_beam/coders/coders.py           |  8 ++-----
 .../apache_beam/coders/coders_test_common.py       |  2 +-
 .../apache_beam/examples/snippets/snippets_test.py |  4 ++--
 sdks/python/apache_beam/io/filebasedsink_test.py   | 26 +++++++++++-----------
 sdks/python/apache_beam/io/textio.py               |  6 ++---
 5 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/sdks/python/apache_beam/coders/coders.py b/sdks/python/apache_beam/coders/coders.py
index 55356ab..3d1ddbf 100644
--- a/sdks/python/apache_beam/coders/coders.py
+++ b/sdks/python/apache_beam/coders/coders.py
@@ -423,7 +423,7 @@ class StrUtf8Coder(Coder):
 Coder.register_structured_urn(common_urns.coders.STRING_UTF8.urn, StrUtf8Coder)
 
 
-class ToBytesCoder(Coder):
+class ToStringCoder(Coder):
   """A default string coder used if no sink coder is specified."""
 
   if sys.version_info.major == 2:
@@ -440,16 +440,12 @@ class ToBytesCoder(Coder):
       return value if isinstance(value, bytes) else str(value).encode('utf-8')
 
   def decode(self, _):
-    raise NotImplementedError('ToBytesCoder cannot be used for decoding.')
+    raise NotImplementedError('ToStringCoder cannot be used for decoding.')
 
   def is_deterministic(self):
     return True
 
 
-# alias to the old class name for a courtesy to users who reference it
-ToStringCoder = ToBytesCoder
-
-
 class FastCoder(Coder):
   """Coder subclass used when a (faster) CoderImpl is supplied directly.
 
diff --git a/sdks/python/apache_beam/coders/coders_test_common.py b/sdks/python/apache_beam/coders/coders_test_common.py
index fd21261..4a9a9d0 100644
--- a/sdks/python/apache_beam/coders/coders_test_common.py
+++ b/sdks/python/apache_beam/coders/coders_test_common.py
@@ -78,7 +78,7 @@ class CodersTest(unittest.TestCase):
         coders.FastCoder,
         coders.ProtoCoder,
         coders.RunnerAPICoderHolder,
-        coders.ToBytesCoder
+        coders.ToStringCoder
     ])
     assert not standard - cls.seen, standard - cls.seen
     assert not standard - cls.seen_nested, standard - cls.seen_nested
diff --git a/sdks/python/apache_beam/examples/snippets/snippets_test.py b/sdks/python/apache_beam/examples/snippets/snippets_test.py
index 4efe658..f54ccee 100644
--- a/sdks/python/apache_beam/examples/snippets/snippets_test.py
+++ b/sdks/python/apache_beam/examples/snippets/snippets_test.py
@@ -43,7 +43,7 @@ from apache_beam import WindowInto
 from apache_beam import coders
 from apache_beam import pvalue
 from apache_beam import typehints
-from apache_beam.coders.coders import ToBytesCoder
+from apache_beam.coders.coders import ToStringCoder
 from apache_beam.examples.snippets import snippets
 from apache_beam.metrics import Metrics
 from apache_beam.metrics.metric import MetricsFilter
@@ -468,7 +468,7 @@ class SnippetsTest(unittest.TestCase):
       def __init__(self, file_to_write):
         self.file_to_write = file_to_write
         self.file_obj = None
-        self.coder = ToBytesCoder()
+        self.coder = ToStringCoder()
 
       def start_bundle(self):
         assert self.file_to_write
diff --git a/sdks/python/apache_beam/io/filebasedsink_test.py b/sdks/python/apache_beam/io/filebasedsink_test.py
index aab1ffa..15b461f 100644
--- a/sdks/python/apache_beam/io/filebasedsink_test.py
+++ b/sdks/python/apache_beam/io/filebasedsink_test.py
@@ -131,7 +131,7 @@ class TestFileBasedSink(_TestCaseWithTempDirCleanUp):
   def test_file_sink_writing(self):
     temp_path = os.path.join(self._new_tempdir(), 'FileBasedSink')
     sink = MyFileBasedSink(
-        temp_path, file_name_suffix='.output', coder=coders.ToBytesCoder())
+        temp_path, file_name_suffix='.output', coder=coders.ToStringCoder())
 
     init_token, writer_results = self._common_init(sink)
 
@@ -156,7 +156,7 @@ class TestFileBasedSink(_TestCaseWithTempDirCleanUp):
   def test_file_sink_display_data(self):
     temp_path = os.path.join(self._new_tempdir(), 'display')
     sink = MyFileBasedSink(
-        temp_path, file_name_suffix='.output', coder=coders.ToBytesCoder())
+        temp_path, file_name_suffix='.output', coder=coders.ToStringCoder())
     dd = DisplayData.create_from(sink)
     expected_items = [
         DisplayDataItemMatcher('compression', 'auto'),
@@ -170,7 +170,7 @@ class TestFileBasedSink(_TestCaseWithTempDirCleanUp):
   def test_empty_write(self):
     temp_path = tempfile.NamedTemporaryFile().name
     sink = MyFileBasedSink(
-        temp_path, file_name_suffix='.output', coder=coders.ToBytesCoder())
+        temp_path, file_name_suffix='.output', coder=coders.ToStringCoder())
     with TestPipeline() as p:
       p | beam.Create([]) | beam.io.Write(sink)  # pylint: disable=expression-not-assigned
     self.assertEqual(
@@ -182,7 +182,7 @@ class TestFileBasedSink(_TestCaseWithTempDirCleanUp):
     sink = MyFileBasedSink(
         temp_path,
         file_name_suffix=StaticValueProvider(value_type=str, value='.output'),
-        coder=coders.ToBytesCoder())
+        coder=coders.ToStringCoder())
     with TestPipeline() as p:
       p | beam.Create([]) | beam.io.Write(sink)  # pylint: disable=expression-not-assigned
     self.assertEqual(
@@ -195,7 +195,7 @@ class TestFileBasedSink(_TestCaseWithTempDirCleanUp):
         file_name_suffix='.output',
         num_shards=3,
         shard_name_template='_NN_SSS_',
-        coder=coders.ToBytesCoder())
+        coder=coders.ToStringCoder())
     with TestPipeline() as p:
       p | beam.Create(['a', 'b']) | beam.io.Write(sink)  # pylint: disable=expression-not-assigned
 
@@ -218,7 +218,7 @@ class TestFileBasedSink(_TestCaseWithTempDirCleanUp):
       sink = MyFileBasedSink(
           file_path_prefix,
           file_name_suffix='.output',
-          coder=coders.ToBytesCoder())
+          coder=coders.ToStringCoder())
       return sink.initialize_write()
 
     temp_dir = _get_temp_dir(no_dir_path)
@@ -239,7 +239,7 @@ class TestFileBasedSink(_TestCaseWithTempDirCleanUp):
 
   def test_temp_dir_uniqueness(self):
     temp_path = os.path.join(self._new_tempdir(), 'unique')
-    sink = MyFileBasedSink(temp_path, coder=coders.ToBytesCoder())
+    sink = MyFileBasedSink(temp_path, coder=coders.ToStringCoder())
     init_list = [''] * 1000
     temp_dir_list = [sink._create_temp_dir(temp_path) for _ in init_list]
     temp_dir_set = set(temp_dir_list)
@@ -280,7 +280,7 @@ class TestFileBasedSink(_TestCaseWithTempDirCleanUp):
   def test_file_sink_multi_shards(self):
     temp_path = os.path.join(self._new_tempdir(), 'multishard')
     sink = MyFileBasedSink(
-        temp_path, file_name_suffix='.output', coder=coders.ToBytesCoder())
+        temp_path, file_name_suffix='.output', coder=coders.ToStringCoder())
 
     # Manually invoke the generic Sink API.
     init_token = sink.initialize_write()
@@ -313,7 +313,7 @@ class TestFileBasedSink(_TestCaseWithTempDirCleanUp):
   def test_file_sink_rename_error(self, rename_mock):
     temp_path = os.path.join(self._new_tempdir(), 'rename_error')
     sink = MyFileBasedSink(
-        temp_path, file_name_suffix='.output', coder=coders.ToBytesCoder())
+        temp_path, file_name_suffix='.output', coder=coders.ToStringCoder())
     init_token, writer_results = self._common_init(sink)
     pre_finalize_results = sink.pre_finalize(init_token, writer_results)
 
@@ -327,7 +327,7 @@ class TestFileBasedSink(_TestCaseWithTempDirCleanUp):
   def test_file_sink_src_missing(self):
     temp_path = os.path.join(self._new_tempdir(), 'src_missing')
     sink = MyFileBasedSink(
-        temp_path, file_name_suffix='.output', coder=coders.ToBytesCoder())
+        temp_path, file_name_suffix='.output', coder=coders.ToStringCoder())
     init_token, writer_results = self._common_init(sink)
     pre_finalize_results = sink.pre_finalize(init_token, writer_results)
 
@@ -339,7 +339,7 @@ class TestFileBasedSink(_TestCaseWithTempDirCleanUp):
   def test_file_sink_dst_matches_src(self):
     temp_path = os.path.join(self._new_tempdir(), 'dst_matches_src')
     sink = MyFileBasedSink(
-        temp_path, file_name_suffix='.output', coder=coders.ToBytesCoder())
+        temp_path, file_name_suffix='.output', coder=coders.ToStringCoder())
     init_token, [res1, res2] = self._common_init(sink)
 
     pre_finalize_results = sink.pre_finalize(init_token, [res1, res2])
@@ -360,7 +360,7 @@ class TestFileBasedSink(_TestCaseWithTempDirCleanUp):
   def test_pre_finalize(self):
     temp_path = os.path.join(self._new_tempdir(), 'pre_finalize')
     sink = MyFileBasedSink(
-        temp_path, file_name_suffix='.output', coder=coders.ToBytesCoder())
+        temp_path, file_name_suffix='.output', coder=coders.ToStringCoder())
     init_token, [res1, res2] = self._common_init(sink)
 
     # no-op
@@ -389,7 +389,7 @@ class TestFileBasedSink(_TestCaseWithTempDirCleanUp):
   def test_pre_finalize_error(self, delete_mock):
     temp_path = os.path.join(self._new_tempdir(), 'pre_finalize')
     sink = MyFileBasedSink(
-        temp_path, file_name_suffix='.output', coder=coders.ToBytesCoder())
+        temp_path, file_name_suffix='.output', coder=coders.ToStringCoder())
     init_token, [res1, res2] = self._common_init(sink)
 
     # no-op
diff --git a/sdks/python/apache_beam/io/textio.py b/sdks/python/apache_beam/io/textio.py
index 4099e87..79095fc 100644
--- a/sdks/python/apache_beam/io/textio.py
+++ b/sdks/python/apache_beam/io/textio.py
@@ -348,7 +348,7 @@ class _TextSink(filebasedsink.FileBasedSink):
                append_trailing_newlines=True,
                num_shards=0,
                shard_name_template=None,
-               coder=coders.ToBytesCoder(),  # type: coders.Coder
+               coder=coders.ToStringCoder(),  # type: coders.Coder
                compression_type=CompressionTypes.AUTO,
                header=None):
     """Initialize a _TextSink.
@@ -400,7 +400,7 @@ class _TextSink(filebasedsink.FileBasedSink):
   def open(self, temp_path):
     file_handle = super(_TextSink, self).open(temp_path)
     if self._header is not None:
-      file_handle.write(coders.ToBytesCoder().encode(self._header))
+      file_handle.write(coders.ToStringCoder().encode(self._header))
       if self._append_trailing_newlines:
         file_handle.write(b'\n')
     return file_handle
@@ -586,7 +586,7 @@ class WriteToText(PTransform):
       append_trailing_newlines=True,
       num_shards=0,
       shard_name_template=None,  # type: Optional[str]
-      coder=coders.ToBytesCoder(),  # type: coders.Coder
+      coder=coders.ToStringCoder(),  # type: coders.Coder
       compression_type=CompressionTypes.AUTO,
       header=None):
     r"""Initialize a :class:`WriteToText` transform.