Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

Publicaciones sobre programming (publicaciones antiguas, página 34)

Urssus: July 25th - approaching parity

My stat­ed goal of Akre­ga­tor fea­ture par­i­ty is look­ing even bet­ter. With screen­shot!

urssus7

If you did­n't read (or care about) last night's up­dates to yes­ter­day's post, here they are:

  • Im­­ple­­men­t­ed "Mark posts as read on ar­ri­val for this feed"

  • Im­­ple­­men­t­ed cus­­tomup­­date in­­ter­­vals for feeds

  • Fixed ar­ti­­cle fil­ter­ing

  • Im­­ple­­men­t­ed fil­ter­ing by ar­ti­­cle sta­­tus

  • Im­­ple­­men­t­ed fold­er-as-feed (not per­fec­t)

  • Ex­­port as OPML

And to­day I did the­se:

  • Switched from Mako to Ten­jin (which I can just bundle)

  • Im­­ple­­men­t­ed "Com­bined View" mode (y­ou can see it in the screen­shot above)

  • Im­­ple­­men­t­ed "Im­­port Tech­no­rati top 10"

  • Or­­ga­nized the code cor­rec­t­­ly

  • Wrote a Paver script so it can be in­­stalled nice­­ly (some­­day)

  • Re­­moved all gen­er­at­ed files from the re­po (now you gen­er­ate them us­ing paver and/or set­up.py)

So, on the TO­DO we have:

  • Fav­i­­cons

  • Im­­ple­­ment app pre­f­er­ences di­a­log

  • Bug­­fix­es

  • Pag­i­­na­­tion for com­bined­View (so you don't have a page with 90000 posts in it which takes a month to load)

  • Akre­­ga­­tor DB im­­port scrip­t, so I can com­­pare per­­for­­mances rea­­son­ably.

And still fun!

Cur­rent LOC coun­t: 1295

Urssus: July 24th

I in­tend to keep wo­rking like this for a cou­ple of weeks, and see how far I can get in fea­tu­re pa­ri­ty to ak­re­ga­to­r.

No, I do­n't ex­pect to rea­ch fea­tu­re pa­ri­ty, I on­ly want to stri­ve for it. SIn­ce I la­ck the fo­cu­san­d/or ener­gy for a multi year co­m­mit­ment it re­qui­res to wri­te the ave­ra­ge free so­ftwa­re, I want to see how far a sprint ge­ts me.

To my sur­pri­se, on­ly 9 da­ys in­to the pro­jec­t, fea­tu­re pa­ri­ty is at han­d.

Wha­t's not do­ne?

  • So­­­me feed pro­­­pe­r­­ties (cus­­tom ar­­chi­­ving mo­­­des, ma­­rk as read on arri­­va­­l)

  • Fix ar­ti­­cle fi­l­­te­­ring (i­­t's not qui­­te bro­­ken, but in­­te­­ra­c­­ts ba­d­­ly wi­­th many things)

  • Im­­ple­­ment app pre­­fe­­ren­­ces dia­­log

  • Fi­l­­te­­ring by ar­ti­­cle sta­­tus

  • Fo­l­­de­­r-a­s-­­feed

  • Ex­­port as OPML

  • Fa­­vi­­cons

And so­me things in the ba­cken­d, whi­ch are not pro­per fea­tu­res.

What ha­ve I do­ne to­da­y?

  • New ar­ti­­cles no­­­ti­­fi­­ca­­tion via sys­­tray

  • Cus­­tom up­­da­­te in­­te­r­­vals pe­­r-­­feed

  • Ma­­de Fee­­d.un­­rea­­dCoun­­t() fast enou­­gh

  • Fixed a lot of bugs (no­­­ne of whi­­ch cra­s­hed uR­S­­Sus, take that Ak­­re­­ga­­to­­­r! ;-)

And sti­ll I ha­ve wri­tten on­ly 1066 li­nes of co­de, ac­cor­ding to sloc­coun­t.

Urssus: July 23rd (early)

So I did work on it a lit­tle last night:

  • Feed/­­Fold­er con­­text menus

  • Open Feed Home­­­page ac­­tion

  • New Feed (us­es Mark Pil­­grim's feedfind­­er.py, which is awe­­some)

  • New Fold­er

  • Delete Feed/­­Fold­er

  • Some UI fix­es (fi­­nal­­ly fig­ured out how to make a QTree­View's head­­ers look right!)

  • Some bug­­fix­es in tree traver­s­ing (where else ;-)

  • Im­­ple­­men­t­ed "fetch the web page in­­stead of the feed con­­tents" op­­tion for feeds (be­­cause of your an­noy­ing feed, DZone!)

Sad­ly no vis­i­ble changes, so a screen­shot would be use­less.

Urssus: July 22nd / looking good

To­day it was a bit more than two hours, but spread in 10 minute chunks, which is not ex­act­ly ef­fi­cien­t.

Im­prove­ments:

  • Rewrote the whole nex­t/next un­read­­/ar­ti­­cle/feed spaghet­ti in a de­­cent way. It's bro­ken re­­gard­ing fil­tered/­­sort­ed ar­ti­­cle list­s, but it's triv­ial to fix.

  • A few UI fea­­tures:

    • Show on­­­ly feeds with un­read ar­ti­­­cles google-read­­­er style

    • Show in dark red the un­read ar­ti­­­cles

    • Show ti­­­tle / date of ar­ti­­­cles in sep­a­rate col­umns

  • Im­­ple­­men­t­ed "Match case" for the search

  • Im­­ple­­men­t­ed dumb systray icon (need to make it use­­ful)

  • Im­­ple­­men­t­ed ar­ti­­cle counts in fold­ers (but not ar­ti­­cle lists which is, of course, hard­er)

And of course, a screen­shot:

urssus5

A bad side is that the main win­dow takes about 3 sec­onds to ap­pear, but I am pret­ty sure that's fix­able re­order­ing the start­up code.

TODO:

  • Feed CRUD

  • Post mark as (read­­/un­read­­/im­­por­­tan­t/what­ev­er)

  • Fil­ter by post sta­­tus

  • Search in all feeds

  • Vir­­tu­al feeds

  • Per­­sis­­tent set­t­ings

  • More ag­­gres­­sive feed fetch­ing (now it's a sin­­gle queue, should be a con­­fig­urable num­ber)

  • Lots of mi­nor fix­es

And it will be pret­ty much in fea­ture par­i­ty with Akre­ga­tor, and ready to start the pack­ag­ing work. Not bad for a week of work (BTW: if any­one has any ex­pe­ri­ence pack­ag­ing PyQt stuff for win­dows/­Mac I can use the help ;-).

Still fun (although tree travers­ing is start­ing to get quite an­noy­ing)

Urssus: July 20th / eating my own dogfood

Yes, I am now us­ing uRSSus in­stead of Akre­ga­tor.

On the pro­gram­ming side, I did very lit­tle work be­cause it's sun­day...

  • Im­­ple­­men­t­ed the Find wind­get back­­end code and it works for­wad and back­­ward (but not "Match case" which is pret­­ty triv­ial).

  • Fixed a few fo­­cus is­­sues. When you have a mul­ti­-wid­get main win­­dow, it can get kin­­da trick­­y, and you may end need­ing to move fo­­cus around man­u­al­­ly (not in this case yet).

I have found a few bugs, main­ly re­lat­ed to travers­ing the feed tree, but they are all fix­able with some ef­fort (or by do­ing it cor­rect­ly the sec­ond time ;-)


Contents © 2000-2024 Roberto Alsina