Changeset 29e319b
- Timestamp:
- 06/07/11 12:39:08 (2 years ago)
- Branches:
- master, crem, crem2, dev, dev2, diadems, forma, generic, instru_search, lam, nlivemulti, production, release/1.4.4, security, social, storage, test, video
- Children:
- 6950984, bc4fa89
- Parents:
- fac4a3b
- git-author:
- yomguy <yomguy@…> (06/07/11 12:39:08)
- git-committer:
- yomguy <yomguy@…> (06/07/11 12:39:08)
- Location:
- telemeta
- Files:
-
- 3 edited
-
cache.py (modified) (2 diffs)
-
models/media.py (modified) (1 diff)
-
web/base.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
telemeta/cache.py
r8e62947 r29e319b 106 106 def write_analyzer_xml(self, data_list, file): 107 107 path = self.dir + os.sep + file 108 data = self.get_analyzer_xml(data_list) 109 f = open(path, "w") 110 f.write(data) 111 f.close() 112 113 def get_analyzer_xml(self, data_list): 108 114 doc = xml.dom.minidom.Document() 109 115 root = doc.createElement('telemeta') … … 120 126 node.setAttribute('value', str(value)) 121 127 root.appendChild(node) 122 f = open(path, "w") 123 f.write(xml.dom.minidom.Document.toprettyxml(doc)) 124 f.close() 128 return xml.dom.minidom.Document.toprettyxml(doc) -
telemeta/models/media.py
rfac4a3b r29e319b 370 370 item = ForeignKey('MediaItem', related_name="analysis", verbose_name=_('item')) 371 371 analyzer_id = CharField(_('id'), required=True) 372 analyzer_name = CharField(_('name'))373 analyzer_value = CharField(_('value'))374 analyzer_unit = CharField(_('unit'))372 name = CharField(_('name')) 373 value = CharField(_('value')) 374 unit = CharField(_('unit')) 375 375 376 376 class Meta(MetaCore): 377 377 db_table = 'media_analysis' 378 ordering = ['name'] 379 380 def to_dict(self): 381 return {'id': self.analyzer_id, 'name': self.name, 'value': self.value, 'unit': self.unit} 378 382 379 383 -
telemeta/web/base.py
rfac4a3b r29e319b 271 271 272 272 previous, next = self.item_previous_next(item) 273 analyzers =self.item_analyze(item)273 self.item_analyze(item) 274 274 playlists = self.get_playlists(request) 275 275 public_access = self.get_public_access(item.public_access, item.recorded_from_date, item.recorded_to_date) … … 277 277 return render(request, template, 278 278 {'item': item, 'export_formats': formats, 279 'visualizers': graphers, 'visualizer_id': grapher_id, 'analysers': analyzers,279 'visualizers': graphers, 'visualizer_id': grapher_id, 280 280 'audio_export_enabled': getattr(settings, 'TELEMETA_DOWNLOAD_ENABLED', True), 281 281 'previous' : previous, 'next' : next, 'marker': marker_id, 'playlists' : playlists, … … 322 322 323 323 previous, next = self.item_previous_next(item) 324 analyzers =self.item_analyze(item)324 self.item_analyze(item) 325 325 326 326 if request.method == 'POST': … … 392 392 393 393 def item_analyze(self, item): 394 public_id = str(item.public_id) 395 analyze_file = public_id + '.xml' 396 397 if self.cache_data.exists(analyze_file): 398 analyzers = self.cache_data.read_analyzer_xml(analyze_file) 394 analyses = MediaItemAnalysis.objects.filter(item=item) 395 396 if analyses: 399 397 if not item.approx_duration: 400 for analy zer in analyzers:401 if analy zer['id']== 'duration':402 value = analy zer['value']398 for analysis in analyses: 399 if analysis.id == 'duration': 400 value = analysis.value 403 401 time = value.split(':') 404 402 time[2] = time[2].split('.')[0] … … 419 417 420 418 mime_type = decoder.format() 421 analyzers.append({'name': 'Mime type', 'id': 'mime_type', 'unit': '', 'value': mime_type}) 422 analyzers.append({'name': 'Channels', 'id': 'channels', 'unit': '', 'value': decoder.channels()}) 419 analysis = MediaItemAnalysis(item=item, name='MimeType', analyzer_id='mime_type', unit='', value=mime_type) 420 analysis.save() 421 analysis = MediaItemAnalysis(item=item, name='Channels', analyzer_id='channels', unit='', value=decoder.channels()) 422 analysis.save() 423 423 424 424 for analyzer in analyzers_sub: … … 433 433 value = datetime.timedelta(0,value) 434 434 435 analyzers.append({'name':analyzer.name(), 436 'id':analyzer.id(), 437 'unit':analyzer.unit(), 438 'value':str(value)}) 439 440 self.cache_data.write_analyzer_xml(analyzers, analyze_file) 441 442 return analyzers 443 435 analysis = MediaItemAnalysis(item=item, name=analyzer.name(), analyzer_id=analyzer.id(), 436 unit=analyzer.unit(), value=str(value)) 437 analysis.save() 438 444 439 def item_analyze_xml(self, request, public_id): 445 440 item = MediaItem.objects.get(public_id=public_id) 446 analyze_file = public_id + '.xml' 447 if not self.cache_data.exists(analyze_file): 448 self.item_analyze(item) 441 analyses = MediaItemAnalysis.objects.filter(item=item) 442 analyzers = [] 443 for analysis in analyses: 444 analyzers.append(analysis.to_dict()) 449 445 mime_type = 'text/xml' 450 response = HttpResponse(self.cache_data. read_stream_bin(analyze_file), mimetype=mime_type)446 response = HttpResponse(self.cache_data.get_analyzer_xml(analyzers), mimetype=mime_type) 451 447 response['Content-Disposition'] = 'attachment; filename='+public_id+'.xml' 452 448 return response
Note: See TracChangeset
for help on using the changeset viewer.
