def __iter__(self): for item in self.previous: if item.get('_ratings', False): obj = self.context.unrestrictedTraverse(str(item['_path']).lstrip('/'), None) if obj is None: # path doesn't exist yield item; continue yays = 'cioppino.twothumbs.yays' nays = 'cioppino.twothumbs.nays' rate.setupAnnotations(obj) annotations = IAnnotations(obj) annotations[yays] = item['_ratings']['ups'] annotations[nays] = item['_ratings']['downs'] yield item
def send_request(self, data): user = self.create_user(data) if data["vote"] == "FOR": for project in data["project"]: context = api.content.find(UID=project)[0].getObject() setupAnnotations(context) loveIt(context, userid=user.id) else: for project in data["project"]: context = api.content.find(UID=project)[0].getObject() setupAnnotations(context) hateIt(context, userid=user.id) self.request.response.redirect("{0}/@@vote_encoding".format( self.context.absolute_url()))
def add_project( container, project_id, title, project_theme, project_body, image_source, project_author, project_like, project_unlike, project_status, ): img_extensions = ("jpg", "png", "gif") with api.env.adopt_user(username="******"): project = api.content.create( type="Project", title=title, project_theme=project_theme, body=u"<br>".join(project_body.decode("utf8").splitlines()), container=container, original_author=project_author, original_id=project_id, ) for ext in img_extensions: filename = "{0}.{1}".format(project_id, ext) img_path = os.path.join(image_source, filename) if os.path.exists(img_path): add_image_from_file(project, filename, image_source) break rate.setupAnnotations(project) if project_like: for x in range(0, int(project_like)): rate.loveIt(project, "userimportp" + str(x)) if project_unlike: for x in range(0, int(project_unlike)): rate.hateIt(project, "userimportn" + str(x)) with api.env.adopt_user(username="******"): if project_status in ["selected", "rejected"]: api.content.transition(obj=project, transition="deposit") api.content.transition(obj=project, transition="to_be_analysed") api.content.transition(obj=project, transition="vote") api.content.transition(obj=project, transition="vote_analysis") if project_status == "selected": api.content.transition(obj=project, transition="accept") else: api.content.transition(obj=project, transition="reject")
def migrate_ratings(self): """ contentratings and twothumbs both use annotations. Just want to move one to another. Here we say anything >= 3 rating is a thumbs up """ from cioppino.twothumbs import rate as thumbrate transaction.begin() item = self.obj annotations = IAnnotations(item) if annotations: if 'contentratings.userrating.psc_stars' in annotations: ratings = annotations[ 'contentratings.userrating.psc_stars'].all_user_ratings() annotations = thumbrate.setupAnnotations(item) for rating in ratings: if rating >= 3.0: thumbrate.loveIt(item, rating.userid) else: thumbrate.hateIt(item, rating.userid) # we need to reindex th object anyways item.reindexObject() transaction.commit()
def migrate_ratings(self): """ contentratings and twothumbs both use annotations. Just want to move one to another. Here we say anything >= 3 rating is a thumbs up """ from cioppino.twothumbs import rate as thumbrate transaction.begin() item = self.obj annotations = IAnnotations(item) if annotations: if 'contentratings.userrating.psc_stars' in annotations: ratings = annotations['contentratings.userrating.psc_stars'].all_user_ratings() annotations = thumbrate.setupAnnotations(item) for rating in ratings: if rating >= 3.0: thumbrate.loveIt(item, rating.userid) else: thumbrate.hateIt(item, rating.userid) # we need to reindex th object anyways item.reindexObject() transaction.commit()
def __iter__(self): for item in self.previous: if item.get("_ratings", False): obj = self.context.unrestrictedTraverse( str(item["_path"]).lstrip("/"), None) if obj is None: # path doesn't exist yield item continue yays = "cioppino.twothumbs.yays" nays = "cioppino.twothumbs.nays" rate.setupAnnotations(obj) annotations = IAnnotations(obj) annotations[yays] = item["_ratings"]["ups"] annotations[nays] = item["_ratings"]["downs"] yield item
def __init__(self, context, request): self.context = context self.request = request self.annotations = rate.setupAnnotations(self.context)
def contextThumbs(context, event): if not ILoveThumbsDontYou.providedBy(context): alsoProvides(context, ILoveThumbsDontYou) rate.setupAnnotations(context) rate.hateIt(context) context.reindexObject()
def update(self): rate.setupAnnotations(self.context) if self.statusmessage is None: self.statusmessage = IStatusMessage(self.request)