Exemple #1
0
 def create(self):
     """Create a transcript."""
     # TODO remove model checking after api defaults to waiting for models
     self.log.debug("validating create()")
     self.validate()
     self.log.debug("validation complete")
     if self.model:
         self.model = self.model.get()
     if self.model and self.model.status != 'trained':
         self.status = 'waiting for model'
     else:
         data = {}
         data['audio_src_url'] = self.audio_url
         if self.model:
             data['model_id'] = self.model.id
         if self.speaker_count:
             data['speaker_count'] = self.speaker_count
         if not self.format_text:
             data['options'] = {'format_text': self.format_text}
         payload = json.dumps(data)
         url = self.api + '/transcript'
         self.log.debug("posting transcript")
         response = requests.post(url, data=payload, headers=self.headers)
         self.log.debug("transcript posted")
         self.warning = handle_warnings(response, 'transcript', self.log)
         response = response.json()['transcript']
         self.id, self.status = response['id'], response['status']
         self.log.debug('Transcript %s %s' % (self.id, self.status))
     return self
 def get(self, id=None):
     """Get a language model."""
     self.reset(id)
     url = ASSEMBLYAI_URL + '/model/' + str(self.id)
     response = requests.get(url, headers=self.headers)
     self.warning = handle_warnings(response, 'model')
     response = response.json()['model']
     # self.phrases = response['phrases']
     self.dict = response
     self.status = response['status']
     logging.debug('Model %s %s' % (self.id, self.status))
     return self
Exemple #3
0
 def create(self):
     data = {}
     data["phrases"] = self.phrases  # TODO validate phrases
     if self.name:
         data['name'] = self.name
     payload = json.dumps(data)
     url = ASSEMBLYAI_URL + '/model'
     response = requests.post(url, data=payload, headers=self.headers)
     self.warning = handle_warnings(response, 'model', self.log)
     response = response.json()['model']
     self.id, self.status = response['id'], response['status']
     self.log.debug('Model %s %s' % (self.id, self.status))
     return self
Exemple #4
0
 def create(self):
     # TODO remove model checking after api defaults to waiting for models
     if self.model:
         self.model = self.model.get()
     if self.model and self.model.status != 'trained':
         self.status = 'waiting for model'
     else:
         data = {}
         data['audio_src_url'] = self.audio_url
         if self.model:
             data['model_id'] = self.model.id
         payload = json.dumps(data)
         url = self.api + '/transcript'
         response = requests.post(url, data=payload, headers=self.headers)
         self.warning = handle_warnings(response, 'transcript')
         response = response.json()['transcript']
         self.id, self.status = response['id'], response['status']
         logging.debug('Transcript %s %s' % (self.id, self.status))
     return self
Exemple #5
0
 def get(self, id=None):
     """Get a transcript."""
     self.reset(id)
     if self.model:
         self.check_model()
     if self.id:
         url = self.api + '/transcript/' + str(self.id)
         response = requests.get(url, headers=self.headers)
         self.warning = handle_warnings(response, 'transcript')
         response = response.json()['transcript']
         self.dict = response
         self.id, self.status = response['id'], response['status']
         # if self.status == 'completed':
         self.text_raw = response['text']
         self.text = response['text_formatted']
         self.confidence = response['confidence']
         self.segments = response['segments']
         self.speaker_count = response['speaker_count']
     logging.debug('Transcript %s %s' % (self.id, self.status))
     return self
Exemple #6
0
 def request(self):
     url = self.api + '/transcript/' + str(self.id)
     response = requests.get(url, headers=self.headers)
     self.warning = handle_warnings(response, 'transcript', self.log)
     response = response.json()['transcript']
     return response