def image(self): if self._image is None: # self._image = random_image(self.image_id) self._image = load_image_from_url(self.url) # self._image = resize_image(self._image, 400) basic_image_id = self.basic_image_id angle = db.get_full_item(basic_image_id).get('angle', None) borders = db.get_full_item(basic_image_id).get('borders', None) (self._image, angle, borders) = transform_image(self._image, angle=angle, borders=borders) db.get_full_item(self.image_id)['angle'] = angle db.get_full_item(self.image_id)['borders'] = borders return self._image
def locked(self): lock_time = db.get_full_item(self.image_id).get('lock_time', None) if lock_time is not None: if (dt.now() - lock_time).seconds > LOCKED_TIME_SECONDS: self.remove_lock() return False else: return True return False
def remove_lock(self): db.get_full_item(self.image_id).pop('lock_time', None)
def set_lock(self): db.get_full_item(self.image_id)['lock_time'] = dt.now()
def duplicate(self, value): db.get_full_item(self.image_id)['duplicate'] = value db.save()
def duplicate(self): return db.get_full_item(self.image_id).get('duplicate', False)
def url(self): return db.get_full_item(self.image_id)['url']