def sync_designs(self, design_path, design_name=None): design_name = design_name or self.db_name logging.info("syncing design docs from %s/%s" % (design_path, design_name)) try: designs = load_design_doc(design_path + "/" + design_name, strip=True) view_defs = [] logging.debug("Found designs: %s" % designs.keys()) for name in designs: design = designs[name] views = design['views'] for v_name in views: view = views[v_name] vd = ViewDefinition(name, v_name, view['map'], view.get('reduce')) logging.debug("Found view def", vd) view_defs.append(vd) return ViewDefinition.sync_many(self.db, view_defs) except OSError as ose: logging.error("Error syncing: %s" % ose) return None
def clobber(): doc = loader.load_design_doc(self.directory, strip=True, predicate=lambda x: \ not x.endswith('language.xml'))
def bad_directory(): doc = loader.load_design_doc('directory_does_not_exist')
def test_loader(self): doc = loader.load_design_doc(self.directory, strip=True, predicate=lambda x: \ not x.endswith('.xml')) self.assertEqual(doc, expected)