def obj_get(self, bundle, **kwargs): domain = kwargs['domain'] doc_id = kwargs['pk'] doc_type = 'XFormInstance' # Logic borrowed from util.get_object_or_not_exist try: doc = couchforms_models.get(doc_id) if doc and doc.domain == domain: return doc except ResourceNotFound: pass # covered by the below except AttributeError: # there's a weird edge case if you reference a form with a case id # that explodes on the "version" property. might as well swallow that # too. pass raise object_does_not_exist(doc_type, doc_id)
def handle(self, *args, **options): if len(args) == 1: filename = args[0] else: raise CommandError('Usage: %s\n%s' % (self.args, self.help)) doc_id_index = HEADERS.index('doc_id') domain_index = HEADERS.index('domain') with open(filename, 'r') as f: reader = csv.reader(f) for row in reader: domain = row[domain_index] doc_id = row[doc_id_index] # don't process the header row if doc_id == "doc_id": continue print 'reprocessing form %s in domain %s' % (doc_id, domain) form = get(doc_id) try: reprocess_form_cases(form) except AssertionError: print 'form %s FAILED' % doc_id