def metadata(): """ Show all metadata available to this user. """ # show static lists based on QA group qa_url = 'firmware-%s.xml.gz' % _qa_hash(session['qa_group']) qa_disp = 'firmware-%s….xml.gz' % _qa_hash(session['qa_group'])[0:8] return render_template('metadata.html', qa_group=session['qa_group'], qa_url=qa_url, qa_desc=qa_disp)
def metadata_update_qa_group(qa_group): """ updates metadata for a specific qa_group """ # explicit affidavit = create_affidavit() if qa_group: filename = 'firmware-%s.xml.gz' % _qa_hash(qa_group) _generate_metadata_kind(filename, qa_group=qa_group, affidavit=affidavit) return # do for all db = LvfsDatabase(os.environ) db_firmware = LvfsDatabaseFirmware(db) qa_groups = db_firmware.get_qa_groups() for qa_group in qa_groups: filename_qa = 'firmware-%s.xml.gz' % _qa_hash(qa_group) _generate_metadata_kind(filename_qa, qa_group=qa_group, affidavit=affidavit)
def metadata_update_qa_group(qa_group): """ updates metadata for a specific qa_group """ # explicit if qa_group: filename = 'firmware-%s.xml.gz' % _qa_hash(qa_group) _generate_metadata_kind(filename, qa_group=qa_group) return [os.path.join(DOWNLOAD_DIR, filename)] # do for all db = LvfsDatabase(os.environ) db_firmware = LvfsDatabaseFirmware(db) qa_groups = db_firmware.get_qa_groups() filenames = [] for qa_group in qa_groups: filename_qa = 'firmware-%s.xml.gz' % _qa_hash(qa_group) filename = _generate_metadata_kind(filename_qa, qa_group=qa_group) filenames.append(filename) # return all the files we have to sign return filenames
def firmware_id(fwid): """ Show firmware information """ # get details about the firmware db = LvfsDatabase(os.environ) db_firmware = LvfsDatabaseFirmware(db) try: item = db_firmware.get_item(fwid) except CursorError as e: return error_internal(str(e)) if not item: return error_internal('No firmware matched!') # we can only view our own firmware, unless admin qa_group = item.qa_group if qa_group != session['qa_group'] and session['username'] != 'admin': return error_permission_denied('Unable to view other vendor firmware') if not qa_group: embargo_url = '/downloads/firmware.xml.gz' qa_group = 'None' else: embargo_url = '/downloads/firmware-%s.xml.gz' % _qa_hash(qa_group) db = LvfsDatabase(os.environ) db_clients = LvfsDatabaseClients(db) cnt_fn = db_clients.get_firmware_count_filename(item.filename) data_fw = db_clients.get_stats_for_fn(12, 30, item.filename) return render_template('firmware-details.html', fw=item, qa_capability=session['qa_capability'], orig_filename='-'.join(item.filename.split('-')[1:]), embargo_url=embargo_url, qa_group=qa_group, cnt_fn=cnt_fn, fwid=fwid, graph_labels=_get_chart_labels_months()[::-1], graph_data=data_fw[::-1])