Hi Niels, bugs.cgi started as a huge amount of spaghetti code, and is slightly become better.
On 08/03/15 at 10:36 +0100, Niels Thykier wrote: > Package: qa.debian.org > Severity: minor > > Hi, > > The generated YAML contains raw HTML and Ruby specific objects, example > (from the query in [1]): > > """ > - id: 644047 > package: gdm3 > [...] > title: ! 'gdm3: /etc/default/locale ignored, locale set to C, breaks > gnome-terminal' > last_modified: !ruby/object:DateTime 2015-03-05 22:36:21.000000000 +00:00 > [...] > chints: ! '<a href="http://release.debian.org/britney/hints/nthykier" > title="3.14.1-4 > nthykier #2015-03-06 > > # #644047, #774889">unblock</a> ' > [...] > caffected: (<abbr title='affects testing'>T</abbr>) > """ > > At least, chints and caffected is basically just raw HTML dumped in a > YAML stream. The last_modified is a seriraled Ruby object. The rest > of the fields are just there fore reference and to make it easier to > find the example (as long as it lasts). > > For me the issue with: > * Raw HTML is that it is a poor machine parsable representation of the data. > - For caffected, a list of the distribution names would be better (e.g. > ["testing"]). > - For chints, it would probably need to be split into a list of > dictionaries with the following fields: > - hinter => "nthykier" in this example > - hint (or hint name/type) => "unblock" in this example > - hinter_comment => The contents of the "title" attribute > * Ruby objects is that the client may not be written in Ruby. In such > cases, we have "massage" the > data to parse it with conventional parsers of other languages. > - Note, I certainly do not mind that the YAML uses Ruby objects in > addition to regular values. > Alternatively, it could be an "opt-in"/"opt-out" feature to get ruby > objects. > > NB: Feel free to apply a healthy amount of bikeshedding to the above. > The proposed formats are only meant as a suggestion. For last_modified, I've added a new 'last_modified_string' field that shows the date as text. Should be easily parsable by about everything. For caffected, the raw data is already available: affects_stable: false affects_testing: true affects_unstable: false affects_experimental: true For cdeferred, it's probably easy enough to parse right now. For chints, I did not manage to output something clean, for strange reasons. bugs.cgi needs a fall rewrite (with a design similar to DMD). In the meantime, it's not possible to fix this properly. Lucas -- To UNSUBSCRIBE, email to debian-qa-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150318173826.ga22...@xanadu.blop.info