• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Python setup.parse_setup_cmd函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中mrjob.setup.parse_setup_cmd函数的典型用法代码示例。如果您正苦于以下问题:Python parse_setup_cmd函数的具体用法?Python parse_setup_cmd怎么用?Python parse_setup_cmd使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了parse_setup_cmd函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_hash_path_alone

 def test_hash_path_alone(self):
     self.assertEqual(parse_setup_cmd("foo#bar"), [{"type": "file", "path": "foo", "name": "bar"}])
     self.assertEqual(parse_setup_cmd("/dir/foo#bar"), [{"type": "file", "path": "/dir/foo", "name": "bar"}])
     self.assertEqual(parse_setup_cmd("foo#bar/"), [{"type": "archive", "path": "foo", "name": "bar"}, "/"])
     self.assertEqual(
         parse_setup_cmd("/dir/foo#bar/"), [{"type": "archive", "path": "/dir/foo", "name": "bar"}, "/"]
     )
开发者ID:irskep,项目名称:mrjob,代码行数:7,代码来源:test_setup.py


示例2: test_no_name

 def test_no_name(self):
     self.assertEqual(
         parse_setup_cmd('foo#'),
         [{'type': 'file', 'path': 'foo', 'name': None}])
     self.assertEqual(
         parse_setup_cmd('foo#/'),
         [{'type': 'archive', 'path': 'foo', 'name': None}, '/'])
开发者ID:anirudhreddy92,项目名称:mrjob,代码行数:7,代码来源:test_setup.py


示例3: test_archive_hash_path_alone

 def test_archive_hash_path_alone(self):
     self.assertEqual(
         parse_setup_cmd('foo#/'),
         [{'type': 'archive', 'path': 'foo', 'name': None}, '/'])
     self.assertEqual(
         parse_setup_cmd('foo#bar/'),
         [{'type': 'archive', 'path': 'foo', 'name': 'bar'}, '/'])
     self.assertEqual(
         parse_setup_cmd('/dir/foo#bar/'),
         [{'type': 'archive', 'path': '/dir/foo', 'name': 'bar'}, '/'])
开发者ID:Affirm,项目名称:mrjob,代码行数:10,代码来源:test_setup.py


示例4: test_file_hash_path_alone

 def test_file_hash_path_alone(self):
     self.assertEqual(
         parse_setup_cmd('foo#'),
         [{'type': 'file', 'path': 'foo', 'name': None}])
     self.assertEqual(
         parse_setup_cmd('foo#bar'),
         [{'type': 'file', 'path': 'foo', 'name': 'bar'}])
     self.assertEqual(
         parse_setup_cmd('/dir/foo#bar'),
         [{'type': 'file', 'path': '/dir/foo', 'name': 'bar'}])
开发者ID:Affirm,项目名称:mrjob,代码行数:10,代码来源:test_setup.py


示例5: _parse_setup

    def _parse_setup(self):
        """Parse the *setup* option with
        :py:func:`mrjob.setup.parse_setup_cmd()`.

        If *bootstrap_mrjob* and ``self.BOOTSTRAP_MRJOB_IN_SETUP`` are both
        true, create mrjob.tar.gz (if it doesn't exist already) and
        prepend a setup command that adds it to PYTHONPATH.

        Also patch in the deprecated
        options *python_archives*, *setup_cmd*, and *setup_script*
        as setup commands.
        """
        setup = []

        # python_archives
        for path in self._opts['python_archives']:
            path_dict = parse_legacy_hash_path('archive', path)
            setup.append(['export PYTHONPATH=', path_dict, ':$PYTHONPATH'])

        # setup
        for cmd in self._opts['setup']:
            setup.append(parse_setup_cmd(cmd))

        # setup_cmds
        for cmd in self._opts['setup_cmds']:
            if not isinstance(cmd, basestring):
                cmd = cmd_line(cmd)
            setup.append([cmd])

        # setup_scripts
        for path in self._opts['setup_scripts']:
            path_dict = parse_legacy_hash_path('file', path)
            setup.append([path_dict])

        return setup
开发者ID:DepengLuan,项目名称:mrjob,代码行数:35,代码来源:runner.py


示例6: test_resolve_path_but_not_name

 def test_resolve_path_but_not_name(self):
     with patch.dict(os.environ, {'HOME': '/home/foo',
                                  'USER': 'foo',
                                  'BAR': 'bar'}, clear=True):
         self.assertEqual(
             parse_setup_cmd(r'. ~/tmp/$USER/\$BAR.sh#$USER.sh'),
             ['. ',
              {'path': '/home/foo/tmp/foo/$BAR.sh',
               'name': '$USER.sh',
               'type': 'file'}])
开发者ID:anirudhreddy92,项目名称:mrjob,代码行数:10,代码来源:test_setup.py


示例7: test_shell_punctuation_after_name

 def test_shell_punctuation_after_name(self):
     self.assertEqual(
     parse_setup_cmd('touch foo#; cat bar#>baz; cat qux#|grep quux'),
         ['touch ',
          {'type': 'file', 'path': 'foo', 'name': None},
          '; cat ',
          {'type': 'file', 'path': 'bar', 'name': None},
          '>baz; cat ',
          {'type': 'file', 'path': 'qux', 'name': None},
          '|grep quux'])
开发者ID:Anihc,项目名称:mrjob,代码行数:10,代码来源:test_setup.py


示例8: test_shell_punctuation_after_name

 def test_shell_punctuation_after_name(self):
     self.assertEqual(
         parse_setup_cmd("touch foo#; cat bar#>baz; cat qux#|grep quux"),
         [
             "touch ",
             {"type": "file", "path": "foo", "name": None},
             "; cat ",
             {"type": "file", "path": "bar", "name": None},
             ">baz; cat ",
             {"type": "file", "path": "qux", "name": None},
             "|grep quux",
         ],
     )
开发者ID:irskep,项目名称:mrjob,代码行数:13,代码来源:test_setup.py


示例9: _parse_setup

    def _parse_setup(self):
        """Parse the *setup* option with
        :py:func:`mrjob.setup.parse_setup_cmd()`.

        If *bootstrap_mrjob* and ``self.BOOTSTRAP_MRJOB_IN_SETUP`` are both
        true, create mrjob.tar.gz (if it doesn't exist already) and
        prepend a setup command that adds it to PYTHONPATH.

        Also patch in the deprecated
        options *python_archives*, *setup_cmd*, and *setup_script*
        as setup commands.
        """
        setup = []

        # python_archives
        for path in self._opts["python_archives"]:
            path_dict = parse_legacy_hash_path("archive", path)
            setup.append(["export PYTHONPATH=", path_dict, ":$PYTHONPATH"])

        # setup
        for cmd in self._opts["setup"]:
            setup.append(parse_setup_cmd(cmd))

        # setup_cmds
        if self._opts["setup_cmds"]:
            log.warning(
                "setup_cmds is deprecated since v0.4.2 and will be removed" " in v0.6.0. Consider using setup instead."
            )

        for cmd in self._opts["setup_cmds"]:
            if not isinstance(cmd, string_types):
                cmd = cmd_line(cmd)
            setup.append([cmd])

        # setup_scripts
        if self._opts["setup_scripts"]:
            log.warning(
                "setup_scripts is deprecated since v0.4.2 and will be removed"
                " in v0.6.0. Consider using setup instead."
            )

        for path in self._opts["setup_scripts"]:
            path_dict = parse_legacy_hash_path("file", path)
            setup.append([path_dict])

        return setup
开发者ID:irskep,项目名称:mrjob,代码行数:46,代码来源:runner.py


示例10: _parse_setup_and_py_files

    def _parse_setup_and_py_files(self):
        """Parse the *setup* option with
        :py:func:`mrjob.setup.parse_setup_cmd()`, and patch in *py_files*.
        """
        setup = []

        # py_files
        for path in self._opts['py_files']:
            # Spark (at least v1.3.1) doesn't work with # and --py-files,
            # see #1375
            if '#' in path:
                raise ValueError("py_files cannot contain '#'")
            path_dict = parse_legacy_hash_path('file', path)
            setup.append(['export PYTHONPATH=', path_dict, ':$PYTHONPATH'])

        # setup
        for cmd in self._opts['setup']:
            setup.append(parse_setup_cmd(cmd))

        return setup
开发者ID:okomestudio,项目名称:mrjob,代码行数:20,代码来源:runner.py


示例11: __init__

    def __init__(self, **kwargs):
        super(MRJobBinRunner, self).__init__(**kwargs)

        # where a zip file of the mrjob library is stored locally
        self._mrjob_zip_path = None

        # we'll create the setup wrapper scripts later
        self._setup_wrapper_script_path = None
        self._manifest_setup_script_path = None
        self._spark_python_wrapper_path = None

        # self._setup is a list of shell commands with path dicts
        # interleaved; see mrjob.setup.parse_setup_cmd() for details
        self._setup = [parse_setup_cmd(cmd) for cmd in self._opts['setup']]

        if self._setup and self._has_pyspark_steps() and not (
                self._spark_setup_is_supported()):
            log.warning("setup commands aren't supported on Spark master %r" %
                        self._spark_master())

        for cmd in self._setup:
            for token in cmd:
                if isinstance(token, dict):
                    # convert dir archives tokens to archives
                    if token['type'] == 'dir':
                        # feed the archive's path to self._working_dir_mgr
                        token['path'] = self._dir_archive_path(token['path'])
                        token['type'] = 'archive'

                    self._working_dir_mgr.add(**token)

        # --py-files on Spark doesn't allow '#' (see #1375)
        if any('#' in path for path in self._opts['py_files']):
            raise ValueError("py_files cannot contain '#'")

        # Keep track of where the spark-submit binary is
        self._spark_submit_bin = self._opts['spark_submit_bin']
开发者ID:Affirm,项目名称:mrjob,代码行数:37,代码来源:bin.py


示例12: test_dir_hash_path_alone

 def test_dir_hash_path_alone(self):
     self.assertEqual(
         parse_setup_cmd('foo/#'),
         [{'type': 'dir', 'path': 'foo', 'name': None}, '/'])
     self.assertEqual(
         parse_setup_cmd('foo/#/'),
         [{'type': 'dir', 'path': 'foo', 'name': None}, '/'])
     self.assertEqual(
         parse_setup_cmd('foo/#bar'),
         [{'type': 'dir', 'path': 'foo', 'name': 'bar'}, '/'])
     self.assertEqual(
         parse_setup_cmd('foo/#bar/'),
         [{'type': 'dir', 'path': 'foo', 'name': 'bar'}, '/'])
     self.assertEqual(
         parse_setup_cmd('/dir/foo/#bar'),
         [{'type': 'dir', 'path': '/dir/foo', 'name': 'bar'}, '/'])
     self.assertEqual(
         parse_setup_cmd('/dir/foo/#bar/'),
         [{'type': 'dir', 'path': '/dir/foo', 'name': 'bar'}, '/'])
开发者ID:Affirm,项目名称:mrjob,代码行数:19,代码来源:test_setup.py


示例13: test_start_path_after_equals

 def test_start_path_after_equals(self):
     self.assertEqual(
         parse_setup_cmd("export PYTHONPATH=foo.egg#"),
         ["export PYTHONPATH=", {"type": "file", "path": "foo.egg", "name": None}],
     )
开发者ID:irskep,项目名称:mrjob,代码行数:5,代码来源:test_setup.py


示例14: test_start_path_after_colon

 def test_start_path_after_colon(self):
     self.assertEqual(
         parse_setup_cmd("export PYTHONPATH=$PYTHONPATH:foo.tar.gz#/"),
         ["export PYTHONPATH=$PYTHONPATH:", {"type": "archive", "path": "foo.tar.gz", "name": None}, "/"],
     )
开发者ID:irskep,项目名称:mrjob,代码行数:5,代码来源:test_setup.py


示例15: test_colon_after_name

 def test_colon_after_name(self):
     self.assertEqual(
         parse_setup_cmd("echo foo.egg#:$PYTHONPATH"),
         ["echo ", {"type": "file", "path": "foo.egg", "name": None}, ":$PYTHONPATH"],
     )
开发者ID:irskep,项目名称:mrjob,代码行数:5,代码来源:test_setup.py


示例16: test_no_hash

 def test_no_hash(self):
     self.assertEqual(parse_setup_cmd('foo'), ['foo'])
开发者ID:anirudhreddy92,项目名称:mrjob,代码行数:2,代码来源:test_setup.py


示例17: test_name_slash_included_in_command

 def test_name_slash_included_in_command(self):
     self.assertEqual(
         parse_setup_cmd("sudo dpkg -i my_pkgs.tar#/fooify.deb"),
         ["sudo dpkg -i ", {"type": "archive", "path": "my_pkgs.tar", "name": None}, "/fooify.deb"],
     )
开发者ID:irskep,项目名称:mrjob,代码行数:5,代码来源:test_setup.py


示例18: test_start_path_after_colon

 def test_start_path_after_colon(self):
     self.assertEqual(
         parse_setup_cmd('export PYTHONPATH=$PYTHONPATH:foo.tar.gz#/'),
         ['export PYTHONPATH=$PYTHONPATH:',
          {'type': 'archive', 'path': 'foo.tar.gz', 'name': None},
          '/'])
开发者ID:anirudhreddy92,项目名称:mrjob,代码行数:6,代码来源:test_setup.py


示例19: test_no_name

 def test_no_name(self):
     self.assertEqual(parse_setup_cmd("foo#"), [{"type": "file", "path": "foo", "name": None}])
     self.assertEqual(parse_setup_cmd("foo#/"), [{"type": "archive", "path": "foo", "name": None}, "/"])
开发者ID:irskep,项目名称:mrjob,代码行数:3,代码来源:test_setup.py


示例20: test_double_hash

 def test_double_hash(self):
     self.assertEqual(parse_setup_cmd('foo#bar#baz'),
                      [{'type': 'file', 'path': 'foo#bar', 'name': 'baz'}])
开发者ID:anirudhreddy92,项目名称:mrjob,代码行数:3,代码来源:test_setup.py



注:本文中的mrjob.setup.parse_setup_cmd函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python setup.UploadDirManager类代码示例发布时间:2022-05-27
下一篇:
Python setup.parse_legacy_hash_path函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap