Review Request: Better management of comics that aren't update every day

Marco Martin notmart at gmail.com
Thu Feb 7 13:12:44 CET 2008


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://matt.rogers.name/r/85/
-----------------------------------------------------------

(Updated 2008-02-07 06:12:44.465625)


Review request for Plasma.


Summary
-------

ok, this is a ginormous patch again, but things were too correlated...

This patch adds two items to the dataengine: nextIdentifierSuffix and previousIdentifierSuffix
that says where to search the previous and next comics (if any) so now it's not tied to a date and to the concept of having one update a day.
and this fixes the xkcd comic (bug 153872)  that uses integer identifiers instead of dates for the comic
so now the logic to where search the next/previous is delegated to the comicprovider, and if there is no suffix the dataengine simply loads the today's comic.
the cache still works, but is disabled for today's comic, because it can become stale if it was actually an old comic and a new one is published today, and of course today it won't have a nextIdentifierSuffix but tomorrow will.

i still have some questions:
all the qdate are really to convert to kdatetimes? i really don't care about the time...
the names of the dataengine sources are ok with a sintax like previousIdentifierSuffix or should be preferred something user friendly like "Previous identifier suffix" ?

update: the data source got nicer names like "Next identifier suffix"
oh, and it's beginning to get old, if there are not complaints i'll commit that, i hate leaving a so big patch for post-review, but yeah :)


This addresses bug 153872.


Diffs
-----

  /trunk/extragear/plasma/applets/comic/comic.h
  /trunk/extragear/plasma/applets/comic/comic.cpp
  /trunk/extragear/plasma/dataengines/comic/cachedprovider.h
  /trunk/extragear/plasma/dataengines/comic/cachedprovider.cpp
  /trunk/extragear/plasma/dataengines/comic/comic.h
  /trunk/extragear/plasma/dataengines/comic/comic.cpp
  /trunk/extragear/plasma/dataengines/comic/comicprovider.h
  /trunk/extragear/plasma/dataengines/comic/comicprovider.cpp
  /trunk/extragear/plasma/dataengines/comic/dilbertprovider.h
  /trunk/extragear/plasma/dataengines/comic/dilbertprovider.cpp
  /trunk/extragear/plasma/dataengines/comic/garfieldprovider.h
  /trunk/extragear/plasma/dataengines/comic/garfieldprovider.cpp
  /trunk/extragear/plasma/dataengines/comic/osnewsprovider.h
  /trunk/extragear/plasma/dataengines/comic/osnewsprovider.cpp
  /trunk/extragear/plasma/dataengines/comic/snoopyprovider.h
  /trunk/extragear/plasma/dataengines/comic/snoopyprovider.cpp
  /trunk/extragear/plasma/dataengines/comic/userfriendlyprovider.h
  /trunk/extragear/plasma/dataengines/comic/userfriendlyprovider.cpp
  /trunk/extragear/plasma/dataengines/comic/xkcdprovider.h
  /trunk/extragear/plasma/dataengines/comic/xkcdprovider.cpp

Diff: http://matt.rogers.name/r/85/diff


Testing
-------

tried to navigate back and forward on all comics
tried to do some corrupt queries with the engine explorer (no more assert failed:)
now xkcd works


Thanks,

Marco



More information about the Panel-devel mailing list