A revision, and current events

May 19, 2009

What is this about?

The last ODFTOPS script was pretty generic, it was done keeping in mind only the abiword 2.6.8 version. So here we have a pretty efficient script which works checking for capabilities a specific version of abiword would have, and writes the PostScript accordingly for maximum efficiency.

Did I stumble into any glitches while making this?

Yes, in fact the problem was I didn’t realize that CUPS and its executioner the lp user write to their own special TMPDIR, and when I was debugging defining it to /tmp/ , it wouldn’t work. Also the new script invites subshells, so we dont have to mess with system specific messages like “Aborted” and/or abiword specific messages. But SubShells could not write in the lp user’s TMPDIR, so I had to make define a TMPDIR1 in /tmp/, so as to perform the subshell related operations there.

Do we have an algorithm for the approach?

Yes, we do.
1) Check if abiword can output to different folders other than the one in which the input file is in. Meaning we would be checking if our abiword is 2.6.6+
for that output to .doc, so that we wouldnt be crossing out 2.6.8, as it can write to other folders, but not output directly as .ps
2) if true, check if its abiword 2.6.8, so that we do an intermediate doc conversion and then proceed
3) Else, just convert to ps directly
4) if 2.6.6–, then do a cp into the cups defined tmp dir and then perform operations

Where is the code?

The filter code

Thats about it.

Current Activities
* I am currently reading the D-BUS Specification, so I get a grip on how our IPC model works, and how objects are handled in read.

Current Design scheme for the fork of Read, i.e. The Print Activity, that I am following is,
1) Abandon edit, as the print activity is meant only for preview purposes, the parent activity is better imo for editing
2) Make a new toolbar to Open and close documents from within the journal. Also make a Print toolbar
3) Implement a module which converts odt to pdf using pycups code, and in the end results in that pdf being displayed
4) Add pycups code as a handler to another print button, and save that already converted pdf into journal as the execution for the PDFify button
5) As a bonus configure the pycups print configuration features realistically based on how our document looks in the Print activity. Essentially this would mean, add pycups code in each module of the Print activity for configuring.

I’m open for suggestions on this design scheme. Also, I’ve started work only on the most generic features, I will proceed with the actual design once we agree on it.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: