diff -r 658561ea9e65 -r 7db9c7ec691a annot-server/utils.py --- a/annot-server/utils.py Sat Oct 25 05:43:01 2014 +0200 +++ b/annot-server/utils.py Sat Oct 25 06:44:33 2014 +0200 @@ -117,19 +117,6 @@ self.end_date= self.parse_date(str(end_date)) elif self.start_date and self.duration: self.end_date = self.start_date + datetime.timedelta(seconds=self.duration) - elif self.start_date and self.base_url: - # get duration from api - content_url = self.base_url + AnnotationsSynchronizer.LDT_CONTENT_REST_API_PATH + content_id + "/?format=json" - self.logger.debug("get duration " + content_url) #@UndefinedVariable - r = requests.get(content_url, params=self.post_param) - self.logger.debug("get duration resp " + repr(r)) #@UndefinedVariable - self.duration = int(r.json()['duration']) - self.logger.debug("get duration " + repr(self.duration)) #@UndefinedVariable - - self.end_date = self.start_date + datetime.timedelta(seconds=int(self.duration/1000)) - - if self.end_date and self.deltas: - self.end_date = self.end_date + datetime.timedelta(milliseconds=self.deltas[-1][1]) self.content_file = content_file self.project_id = project_id @@ -239,8 +226,8 @@ if ensemble_parent is None: - self.logger.error("Can not process file") #@UndefinedVariable - sys.exit() + self.logger.error("Ensemble parent is None - Can not process file") #@UndefinedVariable + raise Exception("Ensemble parent is None - can not process file") if self.replace: for ens in ensemble_parent.iterchildren(tag=u"ensemble"): @@ -278,6 +265,25 @@ decoupage_id = decoupage.get('id', '') if decoupage is not None else None + if self.end_date is None and self.start_date and self.base_url: + # get duration from api + content_url = self.base_url + AnnotationsSynchronizer.LDT_CONTENT_REST_API_PATH + content_id + "/?format=json" + self.logger.debug("get duration " + content_url) #@UndefinedVariable + r = requests.get(content_url, params=self.post_param) + self.logger.debug("get duration resp " + repr(r)) #@UndefinedVariable + if r.status_code == requests.codes.ok: + self.duration = int(r.json()['duration']) + else: + self.logger.error("Can not get duration form content : %r " % r) + r.raise_for_status() + self.logger.debug("get duration " + repr(self.duration)) #@UndefinedVariable + + self.end_date = self.start_date + datetime.timedelta(seconds=int(self.duration/1000)) + + if self.end_date and self.deltas: + self.end_date = self.end_date + datetime.timedelta(milliseconds=self.deltas[-1][1]) + + filters = self.get_filter()