Parsing a schedule to upload to Google Calendar - c

I've got half a C class and maybe one or two shell scripts I've written to draw from as experience. I'm trying to parse data from a schedule in order to upload it to Google Calendar from a terminal. I receive the schedule in a block of text like this:
Sat Sep 01 2012 00:00:00 GMT-0700 (PDT) Saturday 2:00PM 11:00PM
Sun Sep 02 2012 00:00:00 GMT-0700 (PDT) Sunday 00:00AM 00:00AM
Mon Sep 03 2012 00:00:00 GMT-0700 (PDT) Monday 9:00AM 6:00PM
Tue Sep 04 2012 00:00:00 GMT-0700 (PDT) Tuesday 9:00AM 6:00PM
Wed Sep 05 2012 00:00:00 GMT-0700 (PDT) Wednesday 00:00AM 00:00AM
Thu Sep 06 2012 00:00:00 GMT-0700 (PDT) Thursday 8:00AM 4:00PM
Fri Sep 07 2012 00:00:00 GMT-0700 (PDT) Friday 10:00AM 7:00PM
And I've figured out that with googlecl I can type this into my terminal:
$ google calendar add "Sep 3 Work 9 to 6"
And I'll get a calendar event I can then have automagically synced to my phone.
I've read through some of the documentation on sed and awk figuring I could just use these to grab say the 5th through 10th (ie Sep 01) characters of each line and the time the shifts start and end, add the "Work" title, and pipe this directly to googlecl. I haven't gotten it down yet though.
I've also tried researching file i/o in C, as I could export my schedule as seen above to a text file and then maybe use C to pipe the schedule in plain-er English to Google Calendar.
Is sed and awk the preferred way of doing this? (I guess doing it with just common *nix commands is my first choice if I can figure it out) Should I instead write a little program in C to do this? Any help (even if it's just linking me to your favorite tutorials on either so I can do some more reading) would be appreciated, as many of the pages I've found Googling were both very long and a little over my head. Thanks.

awk '{ if ($9 != $10) {print "google calendar add \"" $2, $3, "Work", $9, "to", $10"\""}}' cal
Result:
google calendar add "Sep 01 Work 2:00PM to 11:00PM"
google calendar add "Sep 03 Work 9:00AM to 6:00PM"
google calendar add "Sep 04 Work 9:00AM to 6:00PM"
google calendar add "Sep 06 Work 8:00AM to 4:00PM"
google calendar add "Sep 07 Work 10:00AM to 7:00PM"
Explanation:
if ($9 != $10) {...}
If they are the same it looks like you don't need to enter them in your calendar. Also, implicitly checks for non-empty lines.
print "google calendar add \"" $2, $3, "Work", $9, "to", $10"\""
Print the string with relevant fields, escaping the quotes.
edit: As for executing it automatically, there is quite some delicate quoting issues going on, so putting this line in a for-loop is not trivial (for me!). One easy way out is to store the results in "file", and then "sh file".

Related

Moment returns wrong datetime

I am using React as a front-end framework, python as a back-end language.
Python returns UTC datetime to React. Somehow, react+moment shows wrong local datetime (Berlin timezone). May I know, what to fix this issue ?
Case 1 is correct, but case 2 is wrong
Case 1:
Python returns to React: "2019-10-02T22:00:00Z"
React+Moment returns: Thu Oct 03 2019 00:00:00 GMT+0200 (Central European Summer Time) {}
moment('2019-10-02T22:00:00Z').toDate()
Thu Oct 03 2019 00:00:00 GMT+0200 (Central European Summer Time)
Case 2:
Python returns to React: "2019-10-30T22:00:00Z"
React+Moment returns: Wed Oct 30 2019 23:00:00 GMT+0100 (Central European Standard Time) {}
moment('2019-10-30T22:00:00Z').toDate()
Wed Oct 30 2019 23:00:00 GMT+0100 (Central European Standard Time)
Python is using utc while moment.js is using an extra offset of +1 or whatever (your local time). If you want moment.js to use utc too, do this:
const m = moment.utc('2019-10-30T22:00:00Z')
console.log(m.toDate())

TIME Format Issue in AngularJS

When i am posting date and time .. the date is Okay but the time appeared Like this
: Thu Jan 01 1970 12:59:00 GMT+0200 (Eastern European Standard Time)
And when i checked the DB it was :
In DB ( Time Not the same Because of the Eastern European Standard Time

How to deal with the categorical varaible that is not in training set (new categories in test set)?

I want to create a categorical variable for the semester column in my dataset. I have other additional variables with the target-not shown in the table.
Training set: include 2016-2017
Test set or validation set: include only 2018
My Concern is when I make the predictive model I will have categorical variables (factors) that do not exist in the training set (i.e SPRING 2018, SUMMER 2018–First SESSION,...etc). Is this will be a problem theoretically? How to deal with that?
Start End Semester
Jan 19,2016 May 6,2016 SPRING 2016
May 16,2016 Jun 25,2016 SUMMER 2016-FIRST SESSION
Jun 27,2016 Aug 6,2016 SUMMER 2016-SECOND SESSION
Aug 24,2016 Dec 16,2016 FALL 2016
Jan 17,2017 May 5,2017 SPRING 2017
May 15,2017 Jun 24,2017 SUMMER 2017–First SESSION
Jun 26,2017 Aug 5,2017 SUMMER 2017-SECOND SESSION
Aug 23,2017 Dec 15,2017 FALL 2017
Jan 16,2018 May 4,2018 SPRING 2018
May 14,2018 June 23,2018 SUMMER 2018–First SESSION
Jun 25,2018 Aug 4,2018 SUMMER 2018-SECOND SESSION
Aug 22,2018 Dec 14,2018 Fall 2018
The machine learning algorithms learn patterns in data, if we do not have any repeated pattern then with high probability they failed to provide adequate answer. I think you need to transform adequate information to your model for getting a rational output. Regarding to your research question, it can be different:
For instance, If you want to answer the question of when is the starting and ending time of semester x in year y?
You can convert the semester column into 4 ordinal categorical variables of 1 to 4 for Spring to Fall. In addition you should provide a year column in your data and DD,MM for ending and starting time.

Time conversion to IST

I'm trying to convert date & time stamp to IST using Moment. I tried following
moment(1369266934311).utcOffset("+05:30").format() I'm getting output as 2017-12-05T00:00:00+05:30.
But my required format is Tue Dec 05 2017 00:00:00 GMT+0530 (India Standard Time).
Get the date object from the moment object and call its .toString() method.
moment(1369266934311).utcOffset("+05:30").toDate().toString();
// => "Thu May 23 2013 05:25:34 GMT+0530 (IST)"
And, by the way, 1369266934311 is a different date from what you mentioned in your question.

Oracle db stops working frequently

Recently, I faced a problem with Oracle 11g. It stops working frequently, every few hours, and respectively, must be started again. This was never happened before, it just began during last month.
Here is the content of clsc.log file
2016-10-06 07:00:14.344: [ default][2031720192]utgdv:2:ocr loc file /etc/oracle/olr.loc cannot be opened. errno 2
[ CLSE][2031720192]clse_get_crs_home: Error retrieving OLR configuration [0] [Error opening olr.loc file. No such file or directory]
Can anyone help me?
Edit: There is alert log messages like here, each time instance has stopped working (In this case, it has stopped working on Wed night and started again on Thu)
Thread 1 advanced to log sequence 35012 (LGWR switch)
Current log# 2 seq# 35012 mem# 0: /home/db/app/oracle/oradata/orcl/redo02.log
Wed Oct 05 18:53:08 2016
Thread 1 advanced to log sequence 35013 (LGWR switch)
Current log# 3 seq# 35013 mem# 0: /home/db/app/oracle/oradata/orcl/redo03.log
Wed Oct 05 19:05:08 2016
Thread 1 advanced to log sequence 35014 (LGWR switch)
Current log# 1 seq# 35014 mem# 0: /home/db/app/oracle/oradata/orcl/redo01.log
Wed Oct 05 19:15:03 2016
Thread 1 advanced to log sequence 35015 (LGWR switch)
Current log# 2 seq# 35015 mem# 0: /home/db/app/oracle/oradata/orcl/redo02.log
Thu Oct 06 06:41:11 2016
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 3
Using LOG_ARCHIVE_DEST_1 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on.
.
.
.

Resources