def get_mapping(domain, mapping_name): mapping = SqlExtractMapping.by_name(domain, mapping_name) if not mapping: mapping = SqlExtractMapping() mapping.domains = [domain] mapping.name = mapping_name return mapping
def get_or_create_mapping(domain, mapping_name, date_range=2): mapping = SqlExtractMapping.by_name(domain.name, mapping_name) if not mapping: mapping = SqlExtractMapping() mapping.auto_generated = True mapping.domains = [domain.name] mapping.name = mapping_name mapping.active = True mapping.couch_date_range = date_range return mapping
def get_or_create_mapping(domain, mapping_name, date_range=2): mapping = SqlExtractMapping.by_name(domain, mapping_name) if not mapping: mapping = SqlExtractMapping() mapping.auto_generated = True mapping.domains = [domain] mapping.name = mapping_name mapping.active = True mapping.couch_date_range = date_range mapping.couch_view_params = {} mapping.schedule_type = 'hourly' mapping.schedule_hour = -1 mapping.schedule_day = -1 return mapping
def create(self): if not self.name or not self.domains: raise Exception('Missing name or domains property') mapping = SqlExtractMapping() for domain in self.domains: existing = SqlExtractMapping.by_name(domain, self.name) if existing: mapping = existing break mapping.active = self.schedule_active mapping.auto_generated = True mapping.name = self.name mapping.domains = self.domains mapping.couch_view = self.couch_view mapping.columns = self.columns self.customize(mapping) mapping.save()