Dreamstime

Showing posts with label Raven/RavenPlus General. Show all posts
Showing posts with label Raven/RavenPlus General. Show all posts

Saturday, 23 February 2019

Test Picture Upload To Flickr

Chinese New Year 2019 Parkson

Someone mentioned that the photo uploads to Flickr from Raven+ is broken (here and here). Looks like it is not. Here is an excerpt from the log for this blog post for my Flickr upload for the picture above:

Friday, 22 February 2019

Some Rumbling Going Round About Google Photos API

The following is from the OLW (Open Live Writer) Github support page dated Feb 13, 2019 by one danielpunkass.

Now, I haven't looked into the Google Photos term of service yet, so I am not too sure about the embedding-images bit. But judging by how Google is closing down is numerous software services over the last couple of years, it is not a bad idea, indeed prudent, to move away from the Blogger platform if your livelihood depends on it.

Have a read and see what you think. The problem with baseURL is valid, as mentioned in one of the links, by the way. It is only valid for 60 minutes after a picture upload (look under the heading 'Caching').

Tuesday, 5 February 2019

Python API Libraries For Google Photos

I thought I hit a dead-end when I couldn't find any Python API libraries for uploading my images to Google Photos via Raven+.

But a couple of hour search later via Google for "Google Photos Python Uploads" lead me to this:

Tuesday, 23 January 2018

Test Image Upload To PicasaWeb Via Raven+

There has been some problems with uploading images to PicasaWeb via Raven+ since January 23rd 2018. A peek into Raven+'s log says this:

[ZUploadContentPrePublishHandler] Failed to upload file 1 of 1 (F:\Temp\TEST_RAVEN.JPG)
[EXCEPTION][ZUploadContentPrePublishHandler] ZBlogAppException [Failed to upload file 'TEST_RAVEN.JPG'.([500, 'Internal Server Error', 'Internal error, try again later'])].

What does it mean? I am absolutely clueless.

Well anyway it seems to be fixed now - some 2 days later. I just managed to upload this picture a moment ago.

TEST_RAVEN.JPG

I'm not too sure what happened. I didn't change anything on my side, that's for sure. No official announcement from Google either.

Arrogance like Microsoft some 20 years ago? Or IBM some 30 to 40 years ago? Who knows?

Thursday, 5 May 2016

Python Script For Posting To Blogger (Via OAuth2)

I hope somebody will find this Python script useful. I actually used this Python script to test things out first (and make sure that everything works) before I started work on fixing RavenPlus last year. I can't remember now, but I think the gist of this script came off from b.py - a Python script for posting blog posts to Blogger and Wordpress.

To post to your blog from this script, remember to replace the blogID "1087XXX5764091XXX95" in the line

post = service.posts().insert(blogId="1087XXX5764091XXX95", body=body, isDraft=False).execute(credentials.authorize(Http()))

with your blog's blogID.

To update an existing blog post, just replace the line above with the following (NOTE: you will need to find out what your blog post postID is, otherwise the statement will fail):

post = service.posts().update(blogId="1087XXX5764091XXX95", postId="4781959859649019078", body=body, publish=True).execute(credentials.authorize(Http()))


The OAuth2 login credentials is named 'plus.dat' and it must be located in the same directory as this Python script file.

I ran this script file under Python 2.4 with some customisation made to the Google API Python Client Library Version 1.2.



The Source Code

Monday, 29 February 2016

My First Google OAuth2 Python Program

Below is the code for my first Google OAuth2 Python program. The last time I had a look at it was something like 6 months ago - that long already? As I recall, the sample script file blogger.py that was bundled in 'google-api-python-client-samples-1.2.zip', if I am not mistaken, by Google didn't work. I had to debug it myself to get it working.

What this program does is to print out the user's Google login name, the list of blogs at Blogger.com that is associated with this account and the list of blog entries for each blog. The OAuth2 login credentials is named 'plus.dat' and it must be located in the same directory as this Python script file.

I ran this script file under Python 2.4 with some customisation made to the Google API Python Client Library Version 1.2.

I hope somebody will find this useful.

The Source Code

Sunday, 14 February 2016

Google Is Shutting Down PicasaWeb

My Oh My. After put in so much time and effort into integrating Picasa and OAuth2 into RavenPlus, Google has now announced that it is shutting down PicasaWeb. May 1 2016 is the date to look out for as that is when Google will start rolling out the changes.

I have had a look at the PicasaWeb API developer page and it seems that pictures uploads via RavenPlus should work as what we have now in version 1.0.507. This is what the notice in this page says:

PicasaWebNotice_Feb2016.jpg

Looks okay to me. But who knows, Google has pulled the rug from right under our feet before.

Tuesday, 5 January 2016

Process Flow Diagram For Picture Uploads

Raven+ Picture Uploads - Process Flow Diagram

Going through the source code of a software application that was written by someone else is never easy. One could easily get lost and confused tracking through the code.

I can still remember the first time when I looked at the source code of Zoundry Raven. I couldn't make head or tail of what I was looking at then. But I persevered.

Tracking The Flow

Having a map of the process flow of the various components of Raven/RavenPlus would be handy. But unfortunately, there was none. The only option left for me then is to draw one myself.

Monday, 5 October 2015

A Brief Update On Picasa And RavenPlus

Python & XML By Christopher A. Jones & Fred L. Drake, Jr. Just a quick note to say that I am still working on the Picasa upload function (via the OAuth2 authentication) in RavenPlus.

To say the least, I am struggling; struggling with XML processing in Python. All this while, I have been avoiding this subject area as it looks complicating. After spending a couple of days on this, it still is. I am not at all familiar with XML processing in Python or in any other computer programming language. There is a 357 pages book written on this topic, but this is something that is not easily digestible in a short time. Hands-on work through the examples in the book is required.

The Google Picasa API part is easy, thanks to an example Python script that found off the Internet. In fact, I managed to upload a few pictures to Picasa web via my own customised Python script with OAuth2 authentication. The problem now is in saving the uploaded picture file's meta-data (the information that is returned from Picasa web) into RavenPlus. Not getting this meta-data into the RavenPlus' Picasa registry means RavenPlus is unaware of the successful picture upload.

Wednesday, 9 September 2015

Customizing Google API Python Client Version 1.2 For Python 2.4

I extended RavenPlus to support Google OAuth2 authentication for Blogger/Blogspot with the help of the Google API Client Library for Python version 1.2. Out of the box, this library does not support Python version 2.4, the version in which RavenPlus (and Raven) was built. Below are the modifications, in RED, that I have made to this library to get it working with version 2.4 of Python.

Tuesday, 4 August 2015

RavenPlus & OAuth2 - 2 Prerequisites For Blogspot Users

If you blog on Google's Blogger/Blogspot, then read on.

Otherwise - users of Wordpress, for example - you have nothing to worry about. This blog post doesn't apply to you.

The 'Google OAuth2 authentication aware' version of RavenPlus, in which I am currently working on, is built using the Google's Blogger API version 3. As a consequence, to publish your blog post to Blogger/Blogspot with RavenPlus, you will need to do two things:

  • activate the Blogger API (version 3) for yourself; and
  • download the "client_secrets.json" file (in which your "Client ID" and "Client Secret" is stored) to your PC.

Sorry for the hassle, but Google's Terms Of Service doesn't allow me to share my "Client ID" and "Client Secret".

Tuesday, 28 July 2015

RavenPlus Updates - 28th July 2015

Here are some updates on what's happening on my work with RavenPlus and OAuth2 since my last update about 4 weeks ago.

What's Working

I have completed the following functions in RavenPlus:

  1. Insert new post
  2. Update an existing post
  3. Delete an existing post
  4. Downloading recent posts (including Blogger labels)

The time taken for item (4) is a little longer because I had to take a detour to learn about Python's 'list', 'tuple' and 'dictionary'. Otherwise I could not proceed. I never had to in my previous fixes as there wasn't a need to.

Saturday, 27 June 2015

RavenPlus And Blogger's OAuth2 - My Work So Far

Hello! I'm Back

After working for something like 60 odd hours over some 20 odd days, I have finally managed to integrate Google's Blogger API Client for Python (version 3) into RavenPlus. Lots of pain; Lots of u-turns; Lots of challenges; And lots of stress along the way. This is something that I hope I will never have to do again.

A Snapshot Of My Work In Notepad++

I have to write 3 extra Python modules in all. These 3 modules are all to do with publishing to Google's Blogger with authentication via OAuth2, obviously. It is a good thing that Raven was well designed. Existing publishing modules (to Wordpress, for example) are not disturbed. It is a good thing too that there is a Python Client Libraries for Blogger API. Otherwise, there will be more work and complexity.

Thursday, 28 May 2015

Unable To Access Blogger/Blogspot From Raven/RavenPlus

I am going to be offline for the next few days, hopefully. Google changed the authentication protocol for Blogger/Blogspot and I can't post anything from Raven/RavenPlus since yesterday 27th May 2015. From what I know, this affects other offline blog editors as well.

This is the error message that I received when I tried publishing to my Blogger blog yesterday:





Not very informative, unfortunately.

Thursday, 12 March 2015

My Checklist When Releasing A New Version Of RavenPlus

Dear ME,

I have noticed that you were struggling with yourself while trying to build the updated release of RavenPlus version 1.0.504 yesterday. RavenPlus version 1.0.503 was released roughly about a year ago, and it is quite obvious that you have forgotten the steps.

To prevent this from happening again, I have taken the liberty to write down and document the steps for you. Confucius say : "the palest ink is better than the best memory". Keep this safe somewhere. I'm sure you will need it - again and again.

Tuesday, 14 October 2014

RavenPlus: Where Did My Just Added "Category" Go?

It has been approximately a year since I started using Zoundry Raven. In my opinion, it is definitely the best offline blog editor that I have ever used. More recently, I have been customising Raven (which I now call RavenPlus) and tailoring it to meet my own needs. Hurray for making Raven open-source.

Something Peculiar

I still remember the quirkiness the first time I added a new "Category/Tag" (also called "Labels" on Google's Blogger) in Raven. Adding the "Category" is quite straight forward in the Raven editor - no problems there. After successfully publishing my post with the newly added "Category", everything looked to be in order when I viewed the blog post via a web browser.

I did not suspect anything amiss until a few days later when I tried to reuse the "Category" that I have added in Raven in another blog post. To my surprise, I could not find it in the list of "Categories" in the "Categories" tab, under the "Configure..." pull-down menu in the Raven's editor. But curiously, when I clicked on the "Tags" node on the "Account Navigator" sidebar, all "Categories" are listed, including the missing one.

Poking around, I later realised that for any "Category" that I have added via Raven, they are only available for use in the original blog post in which it was created. I was dumbfounded. Not surprisingly, this happens in RavenPlus too, since it shares almost 99.8% of the code with Raven.

An Undocumented Step?

But luckily I found something within Raven that can overcome the above mentioned shortcomings. I stumbled upon this discovery quite by accident actually, while going through Raven's log ("Tools -> Background Tasks" in the main window).

Monday, 9 June 2014

RavenPlus: Javascript Error With Amazon Affiliate IFrame Ads

The Error Message When Viewing A Blog Post Containing Amazon IFrame Ads

I never had this error message before. This only started happening about 2 weeks ago. A dialog box will appear as show above for my blog posts that contains Amazon Affiliate IFrame ads in RavenPlus. This error message will appear 'n' times if I have 'n' number of Amazon Affiliate IFrame Ads for any particular blog post. The Amazon ad still gets displayed correctly though, but this error message is annoying.

To prevent this error messages from popping up, what I did was to disable Javascript in Internet Explorer (IE). RavenPlus WYSIWYG editor is actually a Microsoft COM based object that is borrowed from IE and embedded into RavenPlus, by the way. To disable Javascript in IE:

Sunday, 10 November 2013

Switching To Zoundry Raven From Scribefire

I have made the switch to Zoundry Raven (or Raven) as my offline blog editor of choice. In fact, I have been composing and posting my blogs with Raven since 21st September 2013.

I was using Scribefire Classic (a version that is no longer supported) on Firefox version 3 previously. I have been happily using it for about 14 months until I had problems inserting "Amazon Affiliate iframe" ads. There were other minor limitations that I have encountered previously in Scribefire Classic but I have always been able to figure out a way round them. Unfortunately there is none that I could find with these "Amazon Affiliate iframe" ads. Upgrading to Scribefire Next/Chrome would be the most logical choice but regrettably there are just too many shortcomings with the later versions - and some are really odd ones. There have been no fixes and development to Scribefire since 2011. So Scribefire Next/Chrome is a no go for me.

Raven is not perfect either. Like Scribefire, it appears to have been abandoned and its support forum has gone offline. But luckily, Raven's code is available online as it is open-source. I have peeked at the code (I have a background in computing by the way) and found the Python code to be well designed, written and easy to follow - much better than Scribefire's. I do have to put in more effort at times as I am still new to the Python programming language. And I made my first fix about a month and a half ago.

Friday, 27 September 2013

Zoundry Raven: Preventing Double Line Spacing In Blogger.com

Enable "Remove Newlines" To Avoid Getting Double Line Spacing Between Paragraphs In Blogger.com

I have to enable the "Remove Newlines" option, found in the "Account Manager" dialog box, when publishing my blog post to Blogger.com. If I do not, I will get double line spacing between paragraphs.

Friday, 16 August 2013

Setting Up Zoundry Raven's Development Environment

When Push Comes To Shove

The offline blog editor Zoundry Raven self-terminates my Amazon Affiliate iframe tags. It converts my <iframe><iframe/> tags to <iframe/> upon publishing my blog posts. And my Amazon Ads do not get displayed correctly when viewed from the Opera web browser. I reported this issue at Zoundry Raven's Open Source website, but I received no reply. I tried accessing the Raven's support forum but it seems to have gone offline. So the only thing that I could do is to install the Raven's development environment, peek at its source code and try to fix this problem myself, if possible.