Ejemplo n.º 1
0
    def _update_setup_py(self, new_version):
        """
        If this project has a setup.py, attempt to update it's version.
        """
        setup_file = os.path.join(self.full_project_dir, "setup.py")
        if not os.path.exists(setup_file):
            return

        debug("Found setup.py, attempting to update version.")

        # We probably don't want version-release in setup.py as release is
        # an rpm concept. Hopefully this assumption on
        py_new_version = new_version.split('-')[0]

        f = open(setup_file, 'r')
        buf = StringIO.StringIO()
        for line in f.readlines():
            buf.write(replace_version(line, py_new_version))
        f.close()

        # Write out the new setup.py file contents:
        f = open(setup_file, 'w')
        f.write(buf.getvalue())
        f.close()
        buf.close()

        run_command("git add %s" % setup_file)
Ejemplo n.º 2
0
    def _update_setup_py_in_dir(self, new_version, package_dir=None):
        """
        If this subdir has a setup.py, attempt to update it's version.
        (This is a very minor tweak to the original _update_setup_py method from VersionTagger
        """

        if package_dir is not None:
            full_package_dir = os.path.join(self.full_project_dir, package_dir)
        else:
            full_package_dir = self.full_project_dir

        setup_file = os.path.join(full_package_dir, "setup.py")
        if not os.path.exists(setup_file):
            return

        debug("Found setup.py in {}, attempting to update version.".format(package_dir))

        # We probably don't want version-release in setup.py as release is
        # an rpm concept. Hopefully this assumption on
        py_new_version = new_version.split('-')[0]

        f = open(setup_file, 'r')
        buf = six.StringIO()
        for line in f.readlines():
            buf.write(replace_version(line, py_new_version))
        f.close()

        # Write out the new setup.py file contents:
        f = open(setup_file, 'w')
        f.write(buf.getvalue())
        f.close()
        buf.close()

        run_command("git add %s" % setup_file)
Ejemplo n.º 3
0
    def _update_setup_py_in_dir(self, new_version, package_dir=None):
        """
        If this subdir has a setup.py, attempt to update it's version.
        (This is a very minor tweak to the original _update_setup_py method from VersionTagger
        """

        if package_dir is not None:
            full_package_dir = os.path.join(self.full_project_dir, package_dir)
        else:
            full_package_dir = self.full_project_dir

        setup_file = os.path.join(full_package_dir, "setup.py")
        if not os.path.exists(setup_file):
            return

        debug("Found setup.py in {}, attempting to update version.".format(
            package_dir))

        # We probably don't want version-release in setup.py as release is
        # an rpm concept. Hopefully this assumption on
        py_new_version = new_version.split('-')[0]

        f = open(setup_file, 'r')
        buf = six.StringIO()
        for line in f.readlines():
            buf.write(replace_version(line, py_new_version))
        f.close()

        # Write out the new setup.py file contents:
        f = open(setup_file, 'w')
        f.write(buf.getvalue())
        f.close()
        buf.close()

        run_command("git add %s" % setup_file)
Ejemplo n.º 4
0
    def _update_setup_py(self, new_version):
        """
        If this project has a setup.py, attempt to update it's version.
        """
        self._update_version_file(new_version)

        setup_file = os.path.join(self.full_project_dir, "setup.py")
        if not os.path.exists(setup_file):
            return

        debug("Found setup.py, attempting to update version.")

        # We probably don't want version-release in setup.py as release is
        # an rpm concept. Hopefully this assumption on
        py_new_version = new_version.split('-')[0]

        f = open(setup_file, 'r')
        buf = StringIO()
        for line in f.readlines():
            buf.write(replace_version(line, py_new_version))
        f.close()

        # Write out the new setup.py file contents:
        f = open(setup_file, 'w')
        f.write(buf.getvalue())
        f.close()
        buf.close()

        run_command("git add %s" % setup_file)
Ejemplo n.º 5
0
 def test_replace_version_no_match(self):
     line = "this isn't a version fool.\n"
     self.assertEquals(line, replace_version(line, "2.5.3"))
Ejemplo n.º 6
0
 def test_replace_version_uppercase(self):
     line = "VERSION='1.0'\n"
     expected = "VERSION='2.5.3'\n"
     self.assertEquals(expected, replace_version(line, "2.5.3"))
Ejemplo n.º 7
0
 def test_replace_version_crazy_new_version(self):
     line = "version='1.0'\n"
     expected = "version='91asj.;]][[a]sd[]'\n"
     self.assertEquals(expected, replace_version(line, "91asj.;]][[a]sd[]"))
Ejemplo n.º 8
0
 def test_replace_version_crazy_old_version(self):
     line = "version='1.0asjhd82371kjsdha98475h87asd7---asdai.**&'\n"
     expected = "version='2.5.3'\n"
     self.assertEquals(expected, replace_version(line, "2.5.3"))
Ejemplo n.º 9
0
 def test_replace_version_trailing_chars(self):
     line = "version = '1.0', blah blah blah\n"
     expected = "version = '2.5.3', blah blah blah\n"
     self.assertEquals(expected, replace_version(line, "2.5.3"))
Ejemplo n.º 10
0
 def test_replace_version_double_quote(self):
     line = 'version="1.0"\n'
     expected = 'version="2.5.3"\n'
     self.assertEquals(expected, replace_version(line, "2.5.3"))
Ejemplo n.º 11
0
 def test_replace_version_some_whitespace(self):
     line = "version = '1.0'\n"
     expected = "version = '2.5.3'\n"
     self.assertEquals(expected, replace_version(line, "2.5.3"))
Ejemplo n.º 12
0
 def test_replace_version_uppercase(self):
     line = "VERSION='1.0'\n"
     expected = "VERSION='2.5.3'\n"
     self.assertEquals(expected, replace_version(line, "2.5.3"))
Ejemplo n.º 13
0
 def test_replace_version_no_match(self):
     line = "this isn't a version fool.\n"
     self.assertEquals(line, replace_version(line, "2.5.3"))
Ejemplo n.º 14
0
 def test_replace_version_crazy_new_version(self):
     line = "version='1.0'\n"
     expected = "version='91asj.;]][[a]sd[]'\n"
     self.assertEquals(expected, replace_version(line,
         "91asj.;]][[a]sd[]"))
Ejemplo n.º 15
0
 def test_replace_version_crazy_old_version(self):
     line = "version='1.0asjhd82371kjsdha98475h87asd7---asdai.**&'\n"
     expected = "version='2.5.3'\n"
     self.assertEquals(expected, replace_version(line, "2.5.3"))
Ejemplo n.º 16
0
 def test_replace_version_trailing_chars(self):
     line = "version = '1.0', blah blah blah\n"
     expected = "version = '2.5.3', blah blah blah\n"
     self.assertEquals(expected, replace_version(line, "2.5.3"))
Ejemplo n.º 17
0
 def test_replace_version_double_quote(self):
     line = 'version="1.0"\n'
     expected = 'version="2.5.3"\n'
     self.assertEquals(expected, replace_version(line, "2.5.3"))
Ejemplo n.º 18
0
 def test_replace_version_some_whitespace(self):
     line = "version = '1.0'\n"
     expected = "version = '2.5.3'\n"
     self.assertEquals(expected, replace_version(line, "2.5.3"))