On Wed, 2016-05-04 at 11:01 -0500, Dennis Gilmore wrote: > On Thursday, April 28, 2016 8:37:00 AM CDT Matthew Miller wrote: > > On Thu, Apr 28, 2016 at 10:38:58AM +0200, Martin Bříza wrote: > > > > On Mon, Apr 25, 2016 at 05:19:24PM +0200, Martin Bříza wrote: > > > > > There are some exceptions like reading data from the websites which > > > > > should be possible to be done using jQuery directly (current code > > > > > uses PyQuery which works on the same principle) and probably some > > > > > bits here and there. > > > > > > > > Where does data need to be read from the websites? > > > > > > It fetches the release list, links to downloads, marketing text and > > > screenshots from getfedora.org, spins.fp.o and labs.fp.o. > > > > We should make that available in a away that doesn't require > > screen-scraping. > > > > See https://fedorahosted.org/rel-eng/ticket/5805, as well as some of > > the discussion in https://fedorahosted.org/rel-eng/ticket/5654 > > > We are looking at making changes in f25 so that we can put the compose > metadata on the mirrors. it is some json files. you can see an example > https://kojipkgs.fedoraproject.org/compose/branched/Fedora-24-20160504.n.0/ > compose/metadata/ you probably will need images.json Also there's fedfind. import fedfind.release f23 = fedfind.release.get_release(23) print(f23.location) for img in f23.all_images: print(img['path']) f24b = fedfind.release.get_release(24, 'Beta', '1.6') print(f24b.location) for img in f24b.all_images: print(img['path']) when the Beta is properly released: fedfind.release.get_release(24, 'Beta') will find it. You can also pass get_release a compose ID: fedfind.release.get_release(cid='Fedora-24-20160505.n.0') a label: fedfind.release.get_release(release=24, label='Beta-1.6') or a URL - the URL to the 'compose/' path of a Pungi 4 compose, or the URL to a 2-week Atomic compose: fedfind.release.get_release(url='https://dl.fedoraproject.org/pub/alt/atomic/testing/23-20160505/') fedfind.release.get_release(url='https://kojipkgs.fedoraproject.org/compose/branched/Fedora-24-20160505.n.0/compose/') fedfind tries to provide a consistent interface between 'releases' that have Pungi 4 metadata and ones that don't. It does this by synthesizing metadata in the Pungi 4 / productmd style for releases that don't have it: old stable releases, two-week atomic releases, and releases that were built with Pungi 4 but have had the metadata stripped when they were moved. So you can treat 'f23' just like 'f24b' in my example, even though 'f23' has no Pungi 4 metadata. The items in the 'all_images' list are dicts in the productmd 'images.json' style, flattened out and with the 'variant' stuffed into each image dict. there is a whole lot of quirkiness and detail about Fedora 'releases' (where they show up, where they move to, and what they're called, and what exactly you should get when you say "where is Fedora 24 Beta?") and fedfind's job is to try and make that as easy to deal with as I can manage without going insane. I promise to keep it working until everything is all Pungi 4 all the time, or I go stark raving bonkers and buy a yak farm. -- Adam Williamson Fedora QA Community Monkey IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net http://www.happyassassin.net -- desktop mailing list desktop@xxxxxxxxxxxxxxxxxxxxxxx http://lists.fedoraproject.org/admin/lists/desktop@xxxxxxxxxxxxxxxxxxxxxxx