Skip to main content

Ralsina.Me — Roberto Alsina's website

Posts about programming (old posts, page 35)

Urssus: July 28th late at night - Released 0.2.0 and it's outdated already (with screenshots)

Yes, I re­leased 0.2.0, and an­nounced it on PyP­I, Fresh­meat and kde-app­s.org, we'll see what hap­pen­s.

But why is it out­dat­ed? Be­cause I am do­ing nicer UI work, al­ready.

  • The search wid­get is now a bot­­tom-locked tool­bar, which is much clean­er.

  • There are now 3 win­­dow lay­outs (nor­­mal, widescreen and com­bined) and each has a "long feed list" and a "short feed list" var­i­an­t.

Here is widescreen-­long:

urssus10

And here are widescreen-short, widescreen-­long, nor­mal-short, and com­bined-short, all scrunched in a sin­gle screen (yes, you can run mul­ti­ple urssus (urssus­es? urssi?):

urssus11

Urssus: July 28th - Cleanup

I did a fair amount of work in urssus to­day. The high­light? data­base schema mi­gra­tion.

Here is the (not re­al­ly) full list:

  • Fix­es on the in­­stal­l­er

  • Fix in im­­por­­tOPML

  • Raise the win­­dow when you click on the systray pop­up

  • Fixed sev­er­al is­­sues af­ter feed dele­­tion

  • Fixed sev­er­al is­­sues with feeds not up­­­dat­ing the UI's un­read count

  • Fixed the look of but­­tons on search­Wid­get and fil­ter­Wid­get

  • And sev­er­al more...

And the big one:

  • Im­­ple­­men­t­ed data­base schema ver­­sion­ing us­ing sqlalche­my-mi­­grate.

What does that mean? That I can change the data­base and the us­er will not no­tice any­thing.

On star­tup, uRSSus checks if you are us­ing the cor­rect schema, and up­dates your data­base ac­cord­ing­ly.

For ex­am­ple, I can now im­ple­ment man­u­al feed sort­ing just adding a "po­si­tion" col­umn to the Feed class. If I had not im­ple­ment­ed this, that would re­quire a much greater hack.

Now? I just do it, write an up­grade/­down­grade scrip­t, and that's al­l. Mi­grate is re­al­ly a very cool tool, and shows the strength of us­ing SQLAlche­my (not so much that of us­ing Elixir, be­cause they get along grudg­ing­ly ;-)

Cur­rent LOC coun­t: 1491

Cur­rent sta­tus: still fun! (and ed­u­ca­tion­al!)

Urssus: July 27th - Released into the wild!

I spent the day bug­fix­ing. Then, when I re­al­ized I was fix­ing stull like "when you delete a feed, the un­read count in the par­ent feed is not up­dat­ed cor­rect­ly" and "if you go to Next Un­read ar­ti­cle and there are none, make the search wrap" I de­cid­ed this thing must re­al­ly be work­ing right, since both things failed me in at least one sim­i­lar pro­gram that claims to be pro­duc­tion-ready (not akre­ga­tor! ;-) So I am re­leas­ing it as 0.1.0

And I am do­ing it for re­al:

  • PyPi page for easy_in­stall

  • Work­ing in­­staller! (Not quite work­ing for win­­dows, though)

  • Most known bugs fixed (at least 15 to­­day)

  • Up­­load­­ed to Arch's AUR, so we Arch users can get it pain­­less­­ly ;-)

It has been a nice ex­per­i­men­t, and I will try to write some­thing co­her­ent to­mor­row about lessons learned and such as we reach my self­-im­posed two week dead­line for Akre­ga­tor fea­ture par­i­ty.

Urssus: July 25th (way too late) - new features

Last post for the day, and prob­a­bly un­til mon­day.

  • Fin­ished ex­pi­ra­­tion im­­ple­­men­­ta­­tion (and it works just fine)

  • Fixed a tough bug and now the back­­­ground fetch­er up­­­dates the UI cor­rec­t­­ly

  • Made the tem­­plate lo­­ca­­tion code work cor­rec­t­­ly be­­fore and af­ter in­­stal­la­­tion (thanks to help from PyAr mail­ing list)

  • And the pret­­ty one: cus­­tom CSS file used for all tem­­plates. The de­­fault we­bkit (and kht­m­l, and fire­­fox) CSS is hor­rid. This one is just not pret­­ty, but still an im­prove­­men­t.

And of course, a screen­shot. Akre­ga­tor on the left, uRSSus on the right:

urssus9

Urssus: July 25th (later) - uRSSus on windows

urssus8

So you need to in­stall SQLAlche­my 0.4.6 and Elixir 0.5.2 and python and pyqt and paver, and what­ev­er man­u­al­ly right now... it does work.

I had to change about 10 lines, specif­i­cal­ly stuff about tem­po­rary files.

On Lin­ux, I cre­ate a NamedTem­po­rary­File, write to it, then read it from an­oth­er place of the code. As long as I keep a han­dle to the ob­ject that's ok.

On Win­dows, it seems I can't read the file be­cause it's locked by the writer, but if I close it it's delet­ed, so I switched­to mk­stemp and that's it.

Al­so, it does­n't run well from in­side IDLE for some rea­son.


Contents © 2000-2023 Roberto Alsina