def test_mongo_get_one(self): self.ext1 = DBSession.merge(self.ext1) response = self.app.get('/editor', params=dict(extraction=self.ext1.uid), extra_environ=self.admin_env, status=200) assert 'Editing mongo_ext1' in response.body.decode('utf-8')
def filters_from_template(self, template=None, field=None, extraction=None): if template == 'alphabetical': for i in range(ord('A'), ord('Z') + 1): c = chr(i) next_c = chr(i + 1) e_filter = ExtractionFilter(extraction=extraction, name=c) expr = '({} >= "{}" and {} <= "{}") or ({} >= "{}" and {} <= "{}")'.format( field, c, field, next_c, field, c.lower(), field, next_c.lower()) DBSession.add( ExtractionStep(extraction_filter=e_filter, function='query', priority=0, options=json.dumps({'expression': expr}))) expr = '({} < "0") or ({} >= ":" and {} <= "A") or ({} >= "[" and {} <= "a") or ({} >= "{")'.replace( '{}', field) e_filter = ExtractionFilter(extraction=extraction, name='Symbols') DBSession.add( ExtractionStep(extraction_filter=e_filter, function='query', priority=0, options=json.dumps({'expression': expr}))) expr = '({} >= "0" and {} <= ":")'.replace('{}', field) e_filter = ExtractionFilter(extraction=extraction, name='0-9') DBSession.add( ExtractionStep(extraction_filter=e_filter, function='query', priority=0, options=json.dumps({'expression': expr}))) else: return dict(extraction=extraction, error=dict( template='unknown template: {}'.format(template), field=None, )) DBSession.flush() extraction = DBSession.merge(extraction) return dict(extraction=extraction, error=None)