def create_screenshot(self, review_request, caption='My caption', draft=False, active=True): """Creates a Screenshot for testing. The Screenshot is tied to the given ReviewRequest. It's populated with default data that can be overridden by the caller. """ screenshot = Screenshot(caption=caption) filename = os.path.join(settings.STATIC_ROOT, 'rb', 'images', 'logo.png') with open(filename, 'r') as f: screenshot.image.save(filename, File(f), save=True) if draft: review_request_draft = ReviewRequestDraft.create(review_request) if active: screenshots = review_request_draft.screenshots else: screenshots = review_request_draft.inactive_screenshots else: if active: screenshots = review_request.screenshots else: screenshots = review_request.inactive_screenshots screenshots.add(screenshot) return screenshot
def create(self, file, review_request): screenshot = Screenshot(caption=self.cleaned_data['caption'], draft_caption=self.cleaned_data['caption']) screenshot.image.save(file.name, file, save=True) draft = ReviewRequestDraft.create(review_request) draft.screenshots.add(screenshot) draft.save() return screenshot
def create_screenshot(self, review_request, caption='My caption'): """Creates a Screenshot for testing. The Screenshot is tied to the given ReviewRequest. It's populated with default data that can be overridden by the caller. """ screenshot = Screenshot(caption=caption) filename = os.path.join(settings.STATIC_ROOT, 'rb', 'images', 'trophy.png') with open(filename, 'r') as f: screenshot.image.save(filename, File(f), save=True) review_request.screenshots.add(screenshot) return screenshot
def create_screenshot(self, review_request, caption='My caption', draft=False, active=True, **kwargs): """Create a Screenshot for testing. The screenshot is tied to the given :py:class:`~reviewboard.reviews.models.review_request.ReviewRequest`. It's populated with default data that can be overridden by the caller. Args: review_request (reviewboard.reviews.models.review_request. ReviewRequest): The review request that ultimately owns the screenshot. caption (unicode, optional): The caption to use for the screenshot. draft (bool or reviewboard.reviews.models.review_request_draft. ReviewRequestDraft): A draft to associate the screenshot with. This can also be a boolean, for legacy reasons, which will attempt to look up or create a draft for the review request. active (bool): Whether this screenshot is considered active (not deleted). **kwargs (dict): Additional fields to set on the screenshot. Returns: reviewboard.reviews.models.screenshot.Screenshot: The resulting screenshot. """ screenshot = Screenshot(caption=caption, **kwargs) filename = os.path.join(settings.STATIC_ROOT, 'rb', 'images', 'logo.png') with open(filename, 'r') as f: screenshot.image.save(filename, File(f), save=True) if draft: if isinstance(draft, ReviewRequestDraft): review_request_draft = draft else: review_request_draft = \ ReviewRequestDraft.create(review_request) if active: screenshots = review_request_draft.screenshots else: screenshots = review_request_draft.inactive_screenshots else: if active: screenshots = review_request.screenshots else: screenshots = review_request.inactive_screenshots screenshots.add(screenshot) return screenshot