def __load_properties(self):
        with open(self._property_file, 'r') as property_file:
            props = json.load(property_file)

            self._version_num_pattern = props["version_number_pattern"]

            matching = props["tag_matching"]
            self._tag_prefix = prefix = matching["prefix"]
            self._tag_suffix = suffix = matching["suffix"]
            tag_pattern = prefix + self._version_num_pattern + suffix
            self._tag_pattern = "^" + tag_pattern + "$"

            exclude = props["exclude_commits"]
            self._excluded_emails = exclude["from_email"]
            self._exclude_commits_containing_version_num = exclude[
                "containing_version_number"]

            project = props["project"]
            self._project_name = project["name"]
            self._project_path = util.unify_paths(
                self.__script_root, project["path"])
            self._repo_web_url = util.sanitize_path(project["repo_web_url"])

            git = project["git"]
            self._project_remote = git["remote"]

            tickets = props["tickets"]
            self._ticket_pattern = tickets["pattern"]
            self._ticket_url = util.sanitize_path(tickets["url"])

            wiki = props["wiki"]
            self.wiki_path = util.unify_paths(self.__script_root, wiki["path"])

            release_notes = wiki["release_notes"]
            self._release_notes_index = release_notes["index"]
            self._release_notes_archive = util.sanitize_path(
                release_notes["archive"])
            self._release_notes_archive = util.sanitize_subpath(
                self.release_notes_archive)

            git = wiki["git"]
            self._wiki_remote = git["remote"]
            self._wiki_branch = git["branch"]
 def test_sanitize_subpath(self):
     subpath = "/subpath/to/sanitize"
     eq_(subpath[1:], util.sanitize_subpath(subpath))