| 608 | self.parse(text, overrides) |
| 609 | |
| 610 | def parse(self, text, overrides={}): |
| 611 | if not text: |
| 612 | # we did not get a text to parse, so we try to fetch from the environment |
| 613 | text = os.environ.get(self.repo_env_var) |
| 614 | if not text: # None or "" |
| 615 | return |
| 616 | |
| 617 | self.raw = text # as given by user, might contain placeholders |
| 618 | self.processed = replace_placeholders(self.raw, overrides) # after placeholder replacement |
| 619 | valid = self._parse(self.processed) |
| 620 | if valid: |
| 621 | self.valid = True |
| 622 | else: |
| 623 | raise ValueError('Invalid location format: "%s"' % self.processed) |
| 624 | |
| 625 | def _parse(self, text): |
| 626 | m = self.ssh_or_sftp_re.match(text) |