def addDiscussion(portal,discussion,tags,context,discussionTitle=''): from ubify.coretypes import generateDiscussionTitle if discussion == '': return None objDiscussion = None new_id = context.generateUniqueId('Discussion') try: objDiscussion = getOrCreateType(portal,context,new_id,'Discussion') except: objDiscussion = None if objDiscussion <> None: if objDiscussion.title == '': if discussionTitle == '': objDiscussion.title = generateDiscussionTitle(convertHtmlToWebIntelligentPlainText(discussion)) else: objDiscussion.title = discussionTitle objDiscussion.setDescription(discussion) objDiscussion._renameAfterCreation() if tags != '': try: values = tags.split(",") values = [val.strip().lower() for val in values] values = [k.lower() for k in list(unique(values)) if k] except AttributeError: values = [] objDiscussion.setSubject(values) objDiscussion.reindexObject() notify(ObjectInitializedEvent(objDiscussion)) return objDiscussion
def process_form(self, instance, field, form, empty_marker=None, emptyReturnsMarker=False, validating=True): """process keywords from form where this widget has a list of available keywords and any new ones""" # process_form should return : # - a tuple value, kwargs when it did find some value # - None or empty_marker when it found nothing name = field.getName() existing_keywords = form.get('%s_existing_keywords' % name, empty_marker) new_keywords = form.get('%s_keywords' % name, empty_marker) if (new_keywords is empty_marker) and ( existing_keywords is empty_marker): return empty_marker if new_keywords is empty_marker: new_keywords = [] if existing_keywords is empty_marker: existing_keywords = [] value = existing_keywords + new_keywords value = [k for k in list(unique(value)) if k] if not value and emptyReturnsMarker: return empty_marker return value, {}
def process_form(self, instance, field, form, empty_marker=None, emptyReturnsMarker=False, validating=True): """process keywords from form where this widget has a list of available keywords and any new ones""" # process_form should return : # - a tuple value, kwargs when it did find some value # - None or empty_marker when it found nothing name = field.getName() existing_keywords = form.get('%s_existing_keywords' % name, empty_marker) new_keywords = form.get('%s_keywords' % name, empty_marker) if (new_keywords is empty_marker) and (existing_keywords is empty_marker): return empty_marker if new_keywords is empty_marker: new_keywords = [] if existing_keywords is empty_marker: existing_keywords = [] value = existing_keywords + new_keywords value = [k for k in list(unique(value)) if k] if not value and emptyReturnsMarker: return empty_marker return value, {}
def initialize(context): """Initializer called when used as a Zope 2 product.""" try: from atreal.richfile.qualifier.registry import registerRFPlugin except: return supported_mimetypes = unique(HACHOIR_MT + EXIF_MT) registerRFPlugin(IMetadata, supported_mimetypes)
def process_form(self, instance, field, form, empty_marker=None, emptyReturnsMarker=False, validating=True): """process keywords from form where this widget has a list of available keywords and any new ones""" name = field.getName() existing_keywords = form.get('%s_existing_keywords' % name, empty_marker) if existing_keywords is empty_marker: existing_keywords = [] new_keywords = form.get('%s_keywords' % name, empty_marker) if new_keywords is empty_marker: new_keywords = [] value = existing_keywords + new_keywords value = [k for k in list(unique(value)) if k] if not value and emptyReturnsMarker: return empty_marker return value, {}
def process_form(self, instance, field, form, empty_marker=None, emptyReturnsMarker=False): """If a value was typed in the box, use this, else use the selected value. """ name = field.getName() value = form.get(name, empty_marker) if value == '' or value == [''] and emptyReturnsMarker: return ([], {}) try: values = value.split(",") values = [val.strip().lower() for val in values] values = [k.lower() for k in list(unique(values)) if k] except AttributeError: return empty_marker else: return (values, {})
def process_form(self, instance, field, form, empty_marker=None, emptyReturnsMarker=False): """If a value was typed in the box, use this, else use the selected value. """ name = field.getName() value = form.get(name, empty_marker) if value == '' or value == [''] and emptyReturnsMarker: return empty_marker try: values = value.split(",") values = [val.strip().lower() for val in values] values = [k.lower() for k in list(unique(values)) if k] except AttributeError: return empty_marker else: return values, {}
def setTags(self, value, **kwargs): """ Save tags in lower case """ value = unique(value) value.sort(lambda x, y: cmp(x,y)) self.getField('tags').set(self, value, **kwargs)