#980 cli: rename _unique_path to unique_path, and deprecate the old one
Merged 3 years ago by mikem. Opened 3 years ago by julian8628.
julian8628/koji issue/975  into  master

file modified
+9 -9
@@ -39,7 +39,7 @@ 

          _unique_path, _running_in_bg, _progress_callback, watch_tasks, \

          arg_filter, linked_upload, list_task_output_all_volumes, \

          print_task_headers, print_task_recurse, download_file, watch_logs, \

-         error, greetings, _list_tasks

+         error, greetings, _list_tasks, unique_path

  

  

  def _printable_unicode(s):
@@ -485,7 +485,7 @@ 

          #treat source as an srpm and upload it

          if not build_opts.quiet:

              print("Uploading srpm: %s" % source)

-         serverdir = _unique_path('cli-build')

+         serverdir = unique_path('cli-build')

          if _running_in_bg() or build_opts.noprogress or build_opts.quiet:

              callback = None

          else:
@@ -1179,7 +1179,7 @@ 

          if options.test:

              print(_("Test mode -- skipping import for %s") % path)

              return

-         serverdir = _unique_path('cli-import')

+         serverdir = unique_path('cli-import')

          if options.link:

              linked_upload(path, serverdir)

          else:
@@ -1299,7 +1299,7 @@ 

  

      # get upload path

      # XXX - need a better way

-     serverdir = _unique_path('cli-import')

+     serverdir = unique_path('cli-import')

  

      for localpath, info in to_upload:

          relpath = os.path.join(serverdir, info.get('relpath', ''))
@@ -2159,7 +2159,7 @@ 

      for filepath in args[1:]:

          filename = os.path.basename(filepath)

          print("Uploading archive: %s" % filename)

-         serverdir = _unique_path('cli-import')

+         serverdir = unique_path('cli-import')

          if _running_in_bg() or suboptions.noprogress:

              callback = None

          else:
@@ -5589,7 +5589,7 @@ 

              # only scratch builds can omit indirection_template_url

              raise koji.GenericError(_("Non-scratch builds must provide a URL for the indirection template"))

          templatefile = task_opts.indirection_template

-         serverdir = _unique_path('cli-image-indirection')

+         serverdir = unique_path('cli-image-indirection')

          session.uploadWrapper(templatefile, serverdir, callback=callback)

          task_opts.indirection_template = os.path.join('work', serverdir,

              os.path.basename(templatefile))
@@ -5786,7 +5786,7 @@ 

      ksfile = args[4]

  

      if not task_opts.ksurl:

-         serverdir = _unique_path('cli-' + img_type)

+         serverdir = unique_path('cli-' + img_type)

          session.uploadWrapper(ksfile, serverdir, callback=callback)

          ksfile = os.path.join(serverdir, os.path.basename(ksfile))

          print('')
@@ -5862,7 +5862,7 @@ 

              # only scratch builds can omit ksurl

              raise koji.GenericError(_("Non-scratch builds must provide ksurl"))

          ksfile = task_opts.kickstart

-         serverdir = _unique_path('cli-image')

+         serverdir = unique_path('cli-image')

          session.uploadWrapper(ksfile, serverdir, callback=callback)

          task_opts.kickstart = os.path.join('work', serverdir,

              os.path.basename(ksfile))
@@ -6970,7 +6970,7 @@ 

          parser.error(_('allow_missing_signatures and skip_missing_signatures '

                  'are mutually exclusive'))

      activate_session(session, options)

-     stuffdir = _unique_path('cli-dist-repo')

+     stuffdir = unique_path('cli-dist-repo')

      if task_opts.comps:

          if not os.path.exists(task_opts.comps):

              parser.error(_('could not find %s') % task_opts.comps)

file modified
+7 -1
@@ -402,7 +402,7 @@ 

      return dict([fn, ['DEFAULT']] for fn in output)

  

  

- def _unique_path(prefix):

+ def unique_path(prefix):

      """Create a unique path fragment by appending a path component

      to prefix.  The path component will consist of a string of letter and numbers

      that is unlikely to be a duplicate, but is not guaranteed to be unique."""
@@ -414,6 +414,12 @@ 

                        ''.join([random.choice(string.ascii_letters) for i in range(8)]))

  

  

+ def _unique_path(prefix):

+     koji.util.deprecated('_unique_path is deprecated, use unique_path instead.'

+                          ' See: https://pagure.io/koji/issue/975')

+     return unique_path(prefix)

+ 

+ 

  def _format_size(size):

      if (size / 1073741824 >= 1):

          return "%0.2f GiB" % (size / 1073741824.0)

@@ -146,7 +146,7 @@ 

        callback = None

      else:

        callback = _progress_callback

-     serverdir = _unique_path('cli-image')   # create a unique path on the hub

+     serverdir = unique_path('cli-image')   # create a unique path on the hub

      session.uploadWrapper(somefile, serverdir, callback=callback)

  

  Task Arguments

file modified
+16 -16
@@ -25,7 +25,7 @@ 

  

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_from_srpm(
@@ -77,7 +77,7 @@ 

  

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_from_scm(
@@ -127,7 +127,7 @@ 

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('sys.stderr', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_no_arg(
@@ -173,7 +173,7 @@ 

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('sys.stderr', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_help(
@@ -232,7 +232,7 @@ 

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('sys.stderr', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_arch_override_denied(
@@ -280,7 +280,7 @@ 

  

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_none_tag(
@@ -326,7 +326,7 @@ 

  

      @mock.patch('sys.stderr', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_target_not_found(
@@ -373,7 +373,7 @@ 

  

      @mock.patch('sys.stderr', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_dest_tag_not_found(
@@ -424,7 +424,7 @@ 

  

      @mock.patch('sys.stderr', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_dest_tag_locked(
@@ -475,7 +475,7 @@ 

  

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_arch_override(
@@ -531,7 +531,7 @@ 

  

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_background(
@@ -580,7 +580,7 @@ 

  

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=True)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_running_in_bg(
@@ -631,7 +631,7 @@ 

  

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_noprogress(
@@ -684,7 +684,7 @@ 

  

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_quiet(
@@ -734,7 +734,7 @@ 

  

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_wait(
@@ -788,7 +788,7 @@ 

  

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands.activate_session')

-     @mock.patch('koji_cli.commands._unique_path', return_value='random_path')

+     @mock.patch('koji_cli.commands.unique_path', return_value='random_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.watch_tasks', return_value=0)

      def test_handle_build_nowait(

@@ -53,7 +53,7 @@ 

          self.setUpMocks()

  

      def setUpMocks(self):

-         self.unique_path = mock.patch('koji_cli.commands._unique_path').start()

+         self.unique_path = mock.patch('koji_cli.commands.unique_path').start()

          self.unique_path.return_value = '/path/to/cli-dist-repo'

          self.activate_session = mock.patch('koji_cli.commands.activate_session').start()

  

@@ -113,7 +113,7 @@ 

          # mocks

          self.activate_session = mock.patch('koji_cli.commands.activate_session').start()

          self.watch_tasks = mock.patch('koji_cli.commands.watch_tasks').start()

-         self.unique_path = mock.patch('koji_cli.commands._unique_path').start()

+         self.unique_path = mock.patch('koji_cli.commands.unique_path').start()

          self.unique_path.return_value = '/path/to/cli-image'

          self.running_in_bg = mock.patch('koji_cli.commands._running_in_bg').start()

          self.running_in_bg.return_value = False

@@ -53,7 +53,7 @@ 

          self.options.weburl = self.weburl

          self.session = mock.MagicMock()

          self.activate_session = mock.patch('koji_cli.commands.activate_session').start()

-         self.unique_path = mock.patch('koji_cli.commands._unique_path').start()

+         self.unique_path = mock.patch('koji_cli.commands.unique_path').start()

  

          self.task_opts = Options(TASK_OPTIONS)

  

@@ -95,7 +95,7 @@ 

          upload_rpm_mock = kwargs.get('upload_rpm_mock', session.uploadWrapper)

  

          with mock.patch('koji.get_header_fields') as get_header_fields_mock:

-             with mock.patch('koji_cli.commands._unique_path') as unique_path_mock:

+             with mock.patch('koji_cli.commands.unique_path') as unique_path_mock:

                  with mock.patch('koji_cli.commands.activate_session') as activate_session_mock:

                      with mock.patch('sys.stdout', new_callable=six.StringIO) as stdout:

                          with upload_rpm_mock:
@@ -475,7 +475,7 @@ 

  

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('koji.get_header_fields')

-     @mock.patch('koji_cli.commands._unique_path')

+     @mock.patch('koji_cli.commands.unique_path')

      @mock.patch('koji_cli.commands.activate_session')

      def test_handle_import_with_test_option(

              self,
@@ -524,7 +524,7 @@ 

          expected = "Test mode -- would have created empty build: %s\n" % nvr()

          expected += "Test mode -- skipping import for %s\n" % arguments[0]

  

-         with mock.patch('koji_cli.commands._unique_path') as unique_path_mock:

+         with mock.patch('koji_cli.commands.unique_path') as unique_path_mock:

              handle_import(options, session, arguments)

          self.assert_console_message(stdout, expected)

          unique_path_mock.assert_not_called()
@@ -533,7 +533,7 @@ 

  

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('koji.get_header_fields')

-     @mock.patch('koji_cli.commands._unique_path')

+     @mock.patch('koji_cli.commands.unique_path')

      @mock.patch('koji_cli.commands.activate_session')

      def test_handle_import_with_epoch_option(

              self,

@@ -31,7 +31,7 @@ 

  

      @mock.patch('sys.stdout', new_callable=six.StringIO)

      @mock.patch('koji_cli.commands._progress_callback')

-     @mock.patch('koji_cli.commands._unique_path')

+     @mock.patch('koji_cli.commands.unique_path')

      @mock.patch('koji_cli.commands._running_in_bg', return_value=False)

      @mock.patch('koji_cli.commands.linked_upload')

      @mock.patch('koji_cli.commands.activate_session')

@@ -77,7 +77,7 @@ 

          self.session = mock.MagicMock()

          self.arguments = ['test-image', '1', 'target', 'x86_64', 'image.ks']

          self.activate_session = mock.patch('koji_cli.commands.activate_session').start()

-         self.unique_path = mock.patch('koji_cli.commands._unique_path').start()

+         self.unique_path = mock.patch('koji_cli.commands.unique_path').start()

          self.running_in_bg = mock.patch('koji_cli.commands._running_in_bg').start()

          self.watch_tasks = mock.patch('koji_cli.commands.watch_tasks').start()

  

@@ -6,17 +6,17 @@ 

  

  from six.moves import range

  

- from koji_cli.lib import _unique_path

+ from koji_cli.lib import unique_path

  

  class TestUniquePath(unittest.TestCase):

  

      def test_unique_path(self):

          for i in range(1000):

              self.assertNotEqual(

-                 _unique_path('prefix'),

-                 _unique_path('prefix'))

+                 unique_path('prefix'),

+                 unique_path('prefix'))

              self.assertRegexpMatches(

-                 _unique_path('prefix'),

+                 unique_path('prefix'),

                  '^prefix/\d{10}\.\d{1,7}\.[a-zA-Z]{8}$')

  

  if __name__ == '__main__':