Skip to content

Commit

Permalink
Refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
hvelarde committed Jan 25, 2017
1 parent 9a9850a commit 3e30a0a
Showing 1 changed file with 11 additions and 21 deletions.
32 changes: 11 additions & 21 deletions src/collective/behavior/featuredimage/subscriber.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,26 @@
from PIL import Image
from plone.namedfile.file import NamedBlobImage
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait

import signal
import transaction


def _get_screenshot(page):
"""Get screenshot of Fetured Image"""
driver = webdriver.PhantomJS()
browser = webdriver.PhantomJS()
# Use minimun image size while don't break image proportion
driver.set_window_size(1300, 1300)
driver.get(page)
data = driver.get_screenshot_as_png()
browser.set_window_size(1300, 1300)
browser.get(page)
data = browser.get_screenshot_as_png()
# crop image
location = None
size = None
try:
el = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, 'featuredimage'))
)
# Put these lines after driver.quit will raise URLError exception
location = el.location
size = el.size
finally:
driver.service.process.send_signal(signal.SIGTERM)
driver.quit()
if location is None or size is None:
return
el = browser.find_element_by_id('featuredimage')
# XXX: quit() does not terminate PhantomJS process
# https://github.com/SeleniumHQ/selenium/issues/767
browser.service.process.send_signal(signal.SIGTERM)
browser.quit()
location = el.location
size = el.size
im = Image.open(StringIO(data))
im = im.crop((
location['x'], location['y'],
Expand Down

0 comments on commit 3e30a0a

Please sign in to comment.