Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GCal reader no longer showing feed #84

Open
lew101 opened this issue Nov 17, 2014 · 154 comments
Open

GCal reader no longer showing feed #84

lew101 opened this issue Nov 17, 2014 · 154 comments

Comments

@lew101
Copy link

lew101 commented Nov 17, 2014

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
Copy link

Same here. Hope a solution is found soon.

@vbjay
Copy link

vbjay commented Nov 17, 2014

Same here.

@sjcliffe
Copy link

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
Copy link

jasb commented Nov 19, 2014

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
Copy link

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

@jallison86
Copy link

Same problem here.

@Gregory2001
Copy link

Anyone?

@steventan11
Copy link

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

@Gregory2001
Copy link

Hello?

@BillFarquharson
Copy link

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

@chernobog
Copy link

You all should probably read the comments to this commit: ce64141

@jallison86
Copy link

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
Copy link

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

@willrun4fun
Copy link

Same problem here

@St3vilK3evil
Copy link

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

@Gregory2001
Copy link

No.

@ScarletShadow
Copy link

  • jasb

"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
Copy link

ghonk commented Dec 14, 2014

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

@BillFarquharson
Copy link

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
Copy link

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
Copy link

t0mmy9 commented Dec 27, 2014

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
Copy link

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

@steventan11
Copy link

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
Copy link

t0mmy9 commented Dec 29, 2014

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
Copy link

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

@ghonk
Copy link

ghonk commented Dec 29, 2014

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
Copy link

ghonk commented Dec 29, 2014

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

@willrun4fun
Copy link

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
#84 (comment).

@steventan11
Copy link

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

@Gregory2001
Copy link

I am copying the private URL. How can it be invalid? In the browser - nothing happens. Can anybody help with this? Thanks.

@steventan11
Copy link

@jayzee2001 and @t0mmy9 , i open the basic.ics in Chrome and it download the .ics file, i suppose this means it's a valid URL... i wonder should i reinstall Enigma or not...

@Gregory2001
Copy link

Nothing?

@t0mmy9
Copy link

t0mmy9 commented Jan 9, 2016

@steventan11 are you using the latest version of the Reader.lua file we've been working on? Reinstalling Enigma alone will not fix the calendar. @Gregory2001 you've just shown this is a problem with you PC setup and not Enigma if going to the URL in a browser doesn't download the feed.

@steventan11
Copy link

@t0mmy9 , yeah, i'm using the latest one that you guys working on, but strange thing happen last Friday, the Calendar events suddenly shown up but top there still showing "Invalid Feed Format"...... then I restart the PC, then events is not show up anymore...... :(
desctop screenshot

@Gregory2001
Copy link

Shouldn't the URL that Google has assigned open in a browser? How can the PC setup be wrong if I'm using the URL Google has provided? Thanks.

@cearner
Copy link

cearner commented Jan 11, 2016

@Gregory2001 That URL should download the ICS file to your PC. It won't open a new webpage.

@t0mmy9 Thanks for the fix!

@Gregory2001
Copy link

https://calendar.google.com/calendar/ical/g2fstlpnc5kotbsr57k1mv501g%40group
calendar.google.com/private-b50f8b3112f57604a9dc142364c1feb5/basic.ics
OK

-------Original Message-------

From: cearner
Date: 1/11/2016 11:05:19 AM
To: Kaelri/Enigma
Cc: Gregory2001
Subject: Re: [Enigma] GCal reader no longer showing feed (#84)

@Gregory2001 That URL should download the ICS file to your PC. It won't open
a new webpage.
@t0mmy9 Thanks for the fix!

Reply to this email directly or view it on GitHub.

@steventan11
Copy link

This is how my calendar show right now, shown something, but missing something... not sure what is going on...
desctop screenshot

@mdlark1966
Copy link

Thanks to all who have helped sort this out. I'm so thrilled to have my calendar back on my desktop!

I have updated my reader.lua file with the pastebin file that t0mmy9 provided, along with the changes to show the title and yearly events correctly. But I'm still having one odd problem - there are some events that are still acting strange. For example, I have a birthday listed as a recurring yearly event on September 23, but for some reason Enigma is showing it on January 23. Another is that I recently added an event, then edited the title of the event, and Enigma is showing the edited version and the original version as two separate events on the same day.

Not sure if these are Enigma problems, or something to do with Google. Any thoughts would be most appreciated. Thank you!

EDIT: Interesting. I deleted the birthday from Google Calendar, then created a new event for it and refreshed Enigma. It got the date right this time, but for some reason it is forcing the birthday onto the Enigma list of events, even though it is 9 months away and there are many other events before that. UGH! Why can't Google leave well enough alone????

@mdlark1966
Copy link

Just checking in again to see if there has been any progress on this.

Regarding my post above - I have realized that the problem is with recurring events that are on some kind of weekly recurrence. For example, I have one event that recurs every two weeks, and only the first event is showing. I have another that recurs every six weeks, but I have changed the title on each event, and they are showing up fine, although the first one I created is showing up twice - once with the original title, and once with the changed title.

Very strange.

I hope someone is able to come up with a solution. I didn't realize that I had grown so dependent on seeing those events on my desktop!

Thanks to all who are working on this. What would we do without you? :)

@steventan11
Copy link

surprisingly, the feed suddenly works on my GCal reader! The only thing i notice is, the "today's" event is missing, it shown up the next events onwards....

@lew101
Copy link
Author

lew101 commented Jan 31, 2016

I just wanted to say a massive thanks for the huge effort put in by everyone since I first started this thread (especially as I haven't actually done anything). It's always good to see people who are willing to keep trying to get the results they want.

Because I don't have much knowledge of lua and how the Reader.lua file that @t0mmy9 posted actually works, I wanted to pick the brains of those who did. My GCal seems to be working perfectly, even with today's events showing up correctly, I am however still getting the issue related to Untitled calendar names. Any ideas?

@BillFarquharson
Copy link

@lew101 If you look back to 29th Dec, @jayzee2001 wrote some lines to add round about 83 to fix the titles

@t0mmy9
Copy link

t0mmy9 commented Jan 31, 2016

No problem :)
The best method to fix any of these problems is to go to the ics link in your browser and open the file that gets downloaded in a text editor and check what's in there.

For the main calendar title it's looking for the line begging with "X-WR-CALNAME" that should be near the top of the file. For events it is looking for the "SUMMARY" and "DESCRIPTION" lines. There are duplicates in the downloaded feed causing problems. There's also various checks trying to remove duplicates so if there are 2 events with the same details one may get removed.

You can see all the checks being done in the "DefineTypes" function in Reader.lua. At the moment it does yearly, monthly, day and nth day of month events. Every 2 weeks probably won't work. Compared to the previous format this is horrible, events don't repeat and nothing is in order or consistent. I would need to know what the "DTSTART" and "RRULE" lines look like for any broken events.

@lew101
Copy link
Author

lew101 commented Jan 31, 2016

Thanks for that @BillFarquharson, I probably should look harder next time and thanks @jayzee2001 for the fix.

Thank you @t0mmy9 for the run through for that too, it was very helpful. I'll see if I can get a crash course in lua and try to help out with the duplicates problem. And it may be horrible but it's a start and it's a pretty good start at that too.

Do you think you can incorporate the fix that @jayzee2001 and you wrote into the current lua file in pastebin?

@mrshllstock
Copy link

@t0mmy9 I am sorry but I was not able to follow what happened here, are you using the standard Enigma calendar here? What files do I need to replace? I'm somewhat illiterate in terms of Rainmeter but I really want to get a working calendar function. Could you make a simpler guide as to the steps neccesary for the default enigma calendar? Or lua calendar or something?

@Gregory2001
Copy link

Good luck. I have been asking for this for a long time with no results.

@lew101
Copy link
Author

lew101 commented Feb 1, 2016

Hey @kirbyplz. So firstly this is for the GCal part of Enigma which can be found in Sidebar --> Reader --> Gcal, not the Calendar in Sidebar --> Calendar. If GCal is what your looking for then great, here's what to do in a basic form.

This is not an entire fix. The good people here have done a lot but are not magicians so there are still a few bugs.

GUIDE:
1.
You firstly want to download the lua file that @t0mmy9 made which can be found here: http://pastebin.com/MA1FxgED

2.
You next want to open it with a text editor and add in the following code from @jayzee2001 into line 83.

        -- GET NEW DATA

         if (t == 'GoogleCalendar') then

            Feeds[f].Title = Raw:match('X%-WR%-CALNAME:(.-)\n') or 'Untitled'

        else

            Feeds[f].Title = Raw:match('<title.->(.-)</title>') or 'Untitled'

        end

        Feeds[f].Link  = Raw:match(Type.MatchLink) or nil

        local Items = {}

This code will replace this bit:

            -- GET NEW DATA
            Feeds[f].Title = Raw:match('<title.->(.-)</title>') or 'Untitled'
            Feeds[f].Link  = Raw:match(Type.MatchLink)          or nil

            local Items = {}

And should end up looking like this: (This is taken from line 80 to 104)

           -- MAKE SYNTAX PRETTIER
            local Type = Types[t]

            -- GET NEW DATA

             if (t == 'GoogleCalendar') then

                Feeds[f].Title = Raw:match('X%-WR%-CALNAME:(.-)\n') or 'Untitled'

            else

                Feeds[f].Title = Raw:match('<title.->(.-)</title>') or 'Untitled'

            end

            Feeds[f].Link  = Raw:match(Type.MatchLink) or nil

            local Items = {}
            for RawItem in Raw:gmatch(Type.MatchItem) do
                    local Item  = {}

                    -- MATCH RAW DATA
                    Item.Unread = 1

                    if (t == 'GoogleCalendar') then

etc...

3.
The next thing to do is take your newly modified lua file and rename it to "Reader" so the whole file is now "Reader.lua".

4.
Following this you want to insert this file into Enigma. This is done by taking the new lua file and replacing the old one.

i. Start by finding your Rainmeter folder. (Mine is in my documents)
ii. Go to "Rainmeter --> Skins --> Enigma --> @ Resources --> Measures." (NB. "@ Resources" does not have a space between the "@" and "Resources", Github just thought it was a person).
iii. Rename the current Reader.lua file "Reader.old.lua" (backups are always good).
iv. Take your new lua file and paste it in the old one's place.

5.
Now the options changing. The old reader used an XML file which Google unfortunately dropped support for so now we're using ICAL instead.

i. Go to Google Calendar and then go to "My Calendars" on the right and click the little arrow that appears when you hover over the calendar you want.
ii. Click on "Calendar Settings".
iii. Right click on the "ICAL" button next to Private Address and copy the link.
iv. Paste this link into the Options widget in Enigma in the section marked with a book.
v. Repeat for your other calendars.

6.
Sit back and enjoy a nearly working GCal :-)

I hope this is what you were looking for.

A massive thanks to everyone involved in this and if I have missed any one out let me know and I'll add them in.

@mrshllstock
Copy link

@lew101 thank you very much for the detailed repl, I tried everything and now the rainmeter Gcal portion is just perputually saying "Loading..."

@mrshllstock
Copy link

@lew101 would it be helpful if I uploaded what I now have as my reader.lua?

http://pastebin.com/HwRye6yr in case it is

@lew101
Copy link
Author

lew101 commented Feb 1, 2016

No problem @kirbyplz. And I think I've worked out what you've done wrong. You have these two lines missing from your file:

        for RawItem in Raw:gmatch(Type.MatchItem) do
                local Item  = {}

image
(Courtesy of https://www.diffnow.com)

They should be between
local Items = {}
And
-- MATCH RAW DATA
So hopefully adding those back should fix it for you

@mrshllstock
Copy link

TYVM that fixed it! Unforunately I don't dig the reader format as well, but it works :) Was hoping to have it in the calendar format but nonetheless it now shows me my events :)

Also incase someone else stumbles upon this issue and wants an easy copy paste fix, here is what is contained in my version of the reader.lua file that lew101 guided me to making! http://pastebin.com/55rMHdqz

@Lefky
Copy link

Lefky commented Feb 4, 2016

mine still says 'could not identify a valid feed format' :( i tried the 2 last files (with changes applied on the first one)

@Gregory2001
Copy link

This has been gone over numerous times. There is no cure.

@misko3000
Copy link

Thank you lew101!

@ississi
Copy link

ississi commented Sep 1, 2016

One calendar says no entries (which is true for that date) the other is stuck on "waiting for data from WebParser". Is there any way I can debug-run reader.lua? thanks.

@sarumans
Copy link

hello
@lew101 and @kirbyplz i have a problem after this step
iv. Paste this link into the Options widget in Enigma in the section marked with a book.

nothing appear...what i have to do?
thanks so much and sorry for my english

@mnh48
Copy link

mnh48 commented Feb 11, 2018

after four years, this issue is still not resolved, could we now get ICS-to-XML converter (like what #94 wanted) as alternative?

the iCal ICS format is still supported and will not be removed soon, there's even two version (public and private) URL provided for ICS format in Google Calendar...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests