diff -r d5f4dde387a9 -r 5918a9d353d0 src/core/import_processor.py --- a/src/core/import_processor.py Fri Jun 21 17:09:03 2013 +0200 +++ b/src/core/import_processor.py Mon Jun 24 00:38:29 2013 +0200 @@ -24,6 +24,11 @@ setattr(obj, self.field, value) return {} +class TrimCharFieldProcessor(CharFieldProcessor): + + def process(self, obj, value): + return super(TrimCharFieldProcessor, self).process(obj, value.strip()) + class BooleanFieldProcessor(ImportProcessor): def process(self, obj, value): @@ -32,14 +37,14 @@ class DateFieldProcessor(ImportProcessor): def process(self, obj, value): - setattr(obj, self.field, parser.parse(value)) + setattr(obj, self.field, parser.parse(value) if value else None) class TermProcessor(ImportProcessor): - def __init__(self, field, context, notice_term_klass, re_split = "[;,:]", re_sub = "\(.+?\)"): + def __init__(self, field, context, notice_term_klass, re_split = r"[\;\,\:\(\)]", re_sub = "\(.+?\)"): ImportProcessor.__init__(self, field) - self.re_split = re_split - self.re_sub = re_sub + self.re_split = re.compile(re_split) + self.re_sub = re.compile(re_sub) if re_sub else None self.context = context self.notice_term_klass = notice_term_klass @@ -56,11 +61,10 @@ #remove everything between () value = getattr(obj, self.field) if self.re_sub: - value = re.sub(self.re_sub, "", value) - for token in re.split(self.re_split, value): + value = self.re_sub.sub("", value) + for token in self.re_split.split(value): token = token.strip() nt = self.build_notice_term(token, obj) if nt is not None: res.setdefault(self.notice_term_klass,[]).append(nt) - return res