def quick_search(self, pattern): "Perform a quick search on code, title and collector name" from telemeta.models.media import MediaCollection pattern = pattern.strip() mod = MediaCollection() fields = mod.to_dict() keys = fields.keys() q = self.by_fuzzy_collector_q(pattern) for field in keys: field_str = str(mod._meta.get_field(field)) if 'CharField' in field_str or 'TextField' in field_str: q = q | word_search_q(field, pattern) return self.filter(q)
def set_collection(self, collection_name): if not collection_name: collection_name = 'Unkown' code = collection_name.replace(' ','_') code = re.sub(r'\W+', '_', code) from telemeta.models.media import MediaCollection collections = MediaCollection.objects.filter(code=code) if not collections: collection = MediaCollection(code=code,title=collection_name) collection.save() msg = 'created' self.logger.write_info('collection ' + collection_name, msg) else: collection = collections[0] return collection
def set_collection(self, collection_name): if not collection_name: collection_name = 'Unkown' code = collection_name.replace(' ', '_') code = re.sub(r'\W+', '_', code) from telemeta.models.media import MediaCollection collections = MediaCollection.objects.filter(code=code) if not collections: collection = MediaCollection(code=code, title=collection_name) collection.save() msg = 'created' self.logger.write_info('collection ' + collection_name, msg) else: collection = collections[0] return collection