kaelri / enigma

A featured "suite" for the Windows system monitoring application, Rainmeter.
https://www.kaelri.com/project/enigma/
273 stars 94 forks source link

GCal reader no longer showing feed #84

Open lew101 opened 9 years ago

lew101 commented 9 years ago

I've had the Gcal reader installed and working for about half a year now but it's now showing Invalid Feed Format, Could not identify a valid feed format. I have tried giving the reader another XML address and it still isn't working.

St3vilK3evil commented 9 years ago

Same here. Hope a solution is found soon.

vbjay commented 9 years ago

Same here.

sjcliffe commented 9 years ago

Google obsoleted the V2 API spec as of November 17th - https://developers.google.com/google-apps/calendar/v2/developers_guide_protocol

I suspect Gcal is using V2 and will need to be updated to use the V3 version.

jasb commented 9 years ago

You can change the feed from https://www.google.com/calendar/feeds/username/public/Full to https://..../basic to at least get the calendar items. Unfortunately this won't give you the time of the events, just the event name. Click through still works though.

Gregory2001 commented 9 years ago

Sorry but that isn't working for me. Any idea when we can get a fix? Thanks.

jallison86 commented 9 years ago

Same problem here.

Gregory2001 commented 9 years ago

Anyone?

steventan11 commented 9 years ago

I'm having the same problem too, solution anyone? this GCal is one of the important desktop display widget to me, please help!

Gregory2001 commented 9 years ago

Hello?

BillFarquharson commented 9 years ago

I agree in that GCal is one of the most useful widget. Hope there is a fix soon.

chernobog commented 9 years ago

You all should probably read the comments to this commit: https://github.com/Kaelri/Enigma/commit/ce64141369586e8c0015ee9e4212ebc95a9c4e71

jallison86 commented 9 years ago

As an alternative I installed Rainlender (http://www.rainlendar.net/cms/index.php). It's not a Rainmeter skin, nor is it free, but it does a very nice job of presenting calendar information on the desktop.

Gregory2001 commented 9 years ago

No one is asking for an update. We just need Google Calendar repaired.

willrun4fun commented 9 years ago

Same problem here

St3vilK3evil commented 9 years ago

Alright well if no fix is coming soon is there an alternate rainmeter skin that provides the same function that still works?

Gregory2001 commented 9 years ago

No.

ScarletShadow commented 9 years ago

"You can change the feed from https://www.google.com/calendar/***/Full to https://..../Basic to at least get the calendar items. Unfortunately this won't give you the time of the events, just the event name. Click through still works though."

This works for me as long as I use a capital B for Basic

ghonk commented 9 years ago

Ahh @ScarletShadow thanks for the pointer re capitalization. one step closer!

BillFarquharson commented 9 years ago

Great. Now that we have the events showing. Can anyone edit the .lua file or whatever it is to show the time of events?

chernobog commented 9 years ago

I've looked at the lua script. The logic is sound, and when I manually retrieve the link to a GCal RSS feed it is formatted as expected by the script. I haven't been able to figure out why the script can't parse the feed correctly anymore. It is looking for text that is specific to GCal feeds, and that text is still in the feed, but the script doesn't appear to be finding it anymore.

t0mmy9 commented 9 years ago

Hi everyone

I had the same problem and have got my Reader.lua file working again using the following: http://pastebin.com/LAVcMrqd anyone else want to test and confirm?

BillFarquharson commented 9 years ago

You are a star!!!!!!! copied and pasted into the Reader.lau and it now shows the correct times.

steventan11 commented 9 years ago

t0mmy9, thanks for the tips and it's works again!

Just a questions, how to edit the event's time/date format? In fact, all the events now showing 12.00AM..... Example: mine is showing the Event's date/time as 12.00AM on 29 December 2014, can i change to 29 DEC 2014 - 12.00AM?

Please advise, thanks!

t0mmy9 commented 9 years ago

Change the Output function from: local Timestamp = SELF:GetOption('Timestamp', '%I.%M %p on %d %B %Y') to local Timestamp = SELF:GetOption('Timestamp', '%d %B %Y - %I.%M %p')

Just read the Lua documentation to change it further http://www.lua.org/pil/22.1.html

willrun4fun commented 9 years ago

I tried the above but I am still just getting the times all set to the last refresh pull.

ghonk commented 9 years ago

t0mmy9, thanks for the effort and Im happy to hear that it has worked for some folks. Unfortunately, i too am still missing the times (time is latest refresh). When i have a chance to dig around I'll report back if I can get it functioning

ghonk commented 9 years ago

could you all advise wrt what the end of your calendar link looks like - ie full, basic, Basic etc

willrun4fun commented 9 years ago

Basic. It is from the full xml link in my google calendar settings.

“You don't stop running because you get old, you get old because you stop running.” Andy Rhine

On Mon, Dec 29, 2014 at 1:17 PM, garrett notifications@github.com wrote:

could you all advise wrt what the end of your calendar link looks like - ie full, basic, Basic etc

— Reply to this email directly or view it on GitHub https://github.com/Kaelri/Enigma/issues/84#issuecomment-68290717.

steventan11 commented 9 years ago

Thanks t0mmy9, it's works perfectly! So happy to get the GCal works again!

limbenjamin commented 9 years ago

thanks t0mmy9, the fix works

Gregory2001 commented 9 years ago

Can someone please tell me how to do this? It isn't working for me. I must be doing something wrong. Thanks.

BillFarquharson commented 9 years ago

Open the Reader.lua file located in \Documents\Rainmeter\Skins\Enigma\@Resources\Measures Highlight lines 334 thru to 353 (Starts with GoogleCalendar = { and ends with },) Paste in the lines from t0mmy9's link to over right. Save and refresh rainmeter.

jimbobillyjoe commented 9 years ago

The fix is bringing in the feed, the problem seems to be that it is not writing to the \Enigma\@Resources\User\Calendars\GoogleCalendar1.xml file correctly. I haven't been able to figure out why yet

Lefky commented 9 years ago

This still doesn't work for me... I tried adding the xml private and normal address: https://www.google.com/calendar/feeds/.../public/basic https://www.google.com/calendar/feeds/.../private-b...6/basic

Can anyone tell me what i'm doing wrong?

mdlark1966 commented 9 years ago

Thanks t0mmy9 for the fix! Nice to have GCal back. But I too am still only showing the current date/time for all my events. As suggested, I entered the new xml address using the Enigma options, as opposed to editing the file. But I am still having the problem.

Any chance anyone has a fix for this?

chernobog commented 9 years ago

The issue is that this line no longer parses the correct start time for appointments, and t0mmy9's update to that line, "MatchItemDate = '(.-)'," is parsing too much data. So, when IdentifyDate(t,s) runs it can't find a valid date and defaults to the retrieval date. The MatchItemDate variable just needs a better regular expression to scrape the appointment date. I tried a few different regexs, but couldn't get it right.

mdlark1966 commented 9 years ago

Thanks for the quick reply, chernobog. It sounds like some (BillFarquharson and t0mmy9) are getting the correct dates while others are not, which seems strange.

For what it's worth, mine didn't work at all until I replaced "full" with "Basic" (capital B!) at the end of my links in the options. Could it be something simple like that?

limbenjamin commented 9 years ago

yep, the regex seems a little iffy. My date stopped working again. What are you guys using to debug lua? I couldnt get it to print to screen or write to file.

chernobog commented 9 years ago

Trial and error . . .

Lefky commented 9 years ago

bump? i would be glad if i could just get the showing to work...

btw isn't enigma supported anymore? it's one of the best skins out there

mdlark1966 commented 9 years ago

Lefky - I got mine to work yesterday using t0mmy9's solution above. I had to use the Enigma options panel to put in the addresses of my calendars. However, copying them directly from Google Calendar, the last word of the address was "full", which I had to change to "Basic" (with a capital B). While the times and dates are still screwed up, I at least have a list of my events.

Lefky commented 9 years ago

allright thx! So to be clear to others:

mdlark1966 commented 9 years ago

Don't forget to fix the Reader.lua file, too.

Per BillFarquharson above:

"Open the Reader.lua file located in \Documents\Rainmeter\Skins\Enigma\@Resources\Measures Highlight lines 334 thru to 353 (Starts with GoogleCalendar = { and ends with },) Paste in the lines from t0mmy9's link to over right. Save and refresh rainmeter."

BillFarquharson commented 9 years ago

As above. I also changed line 192 in the reader.lua as mentioned by t0mmy9 local Timestamp = SELF:GetOption('Timestamp', '%I.%M %p on %d %B %Y') to local Timestamp = SELF:GetOption('Timestamp', '%d %B %Y - %I.%M %p')

This made the skin show Date, Month, Year then Time Great work. Thanks to all.

emichael commented 9 years ago

Just to clarify, here: has anyone actually got the dates working properly again?

ghonk commented 9 years ago

@emichael some have reported success. i just spent an hour or so trying to get a write to file statement to work so i could start debugging with no luck. I'm not so sure that the problem is what chernobog suggested:

"MatchItemDate = '<summary.->(.-)</summary>'," is parsing too much data

it'd be great to have a simple write-to-file to see the state of the date variable at a given time. The problem could also be somewhere in the identifydate function. anyways i still dont have a way to test it and no amount of fiddling with the range of info for matchitemdate helped me

emichael commented 9 years ago

@ghonk okay, that makes sense. Just after a cursory glance at the XML, it seems like part of the problem is that parts of the XML format (including the date) are in a form for human rather than machine consumption. So, the format keeps changing and is fairly difficult to parse. I may be wrong there, though.

Anyways, I don't have near enough time or experience with Lua to take a deep dive into this. :frowning:

jimbobillyjoe commented 9 years ago

@ghonk I've been using a combination of the webparser debug function http://docs.rainmeter.net/manual/plugins/webparser

and the regex utility http://docs.rainmeter.net/tips/webparser-debugging-regexp#RainRegExp

Not quite a write to file but it's been better than nothing

Lefky commented 9 years ago

The date and time is still the current date :s But at least I can see my events now, which is nice...

limbenjamin commented 9 years ago

I found that sometimes GCal returns dates in form of Mon Jan 26, 2015 12:30pm to 2pm instead of Mon 19 Jan 2015 14:00 to 15:00. I am unable to reliably obtain dates of both form.

The code below worked for me when dates were in AM/PM form.

http://pastebin.com/FY7ZUd8f