Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mason-today-web
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
8
Issues
8
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
SRCT
mason-today-web
Commits
9d3d7ec3
Commit
9d3d7ec3
authored
Apr 26, 2018
by
Landon DeCoito
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
getconnectedscript is now pep8 compliant
parent
8e6136c7
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
68 additions
and
49 deletions
+68
-49
mason-today/getconnectedscript.py
mason-today/getconnectedscript.py
+68
-49
No files found.
mason-today/getconnectedscript.py
View file @
9d3d7ec3
...
...
@@ -5,12 +5,14 @@ import feedparser
# TODO: ADD "getconnected" ATTRIBUTE TO LOAD_DATA DICTLIST
def
splitAndConvertTime
(
strin
):
strin
=
strin
.
replace
(
" "
,
""
)
strin
=
strin
.
split
(
"-"
)
returnlist
=
[
""
,
""
]
returnlist
=
[
""
,
""
]
returnlist
[
1
]
=
convertTime
(
strin
[
1
])
if
not
(
strin
[
0
][
-
2
:]
==
"am"
or
strin
[
0
][
-
2
:]
==
"AM"
)
and
not
(
strin
[
0
][
-
2
:]
==
"pm"
or
strin
[
0
][
-
2
:]
==
"PM"
):
if
not
(
strin
[
0
][
-
2
:]
==
"am"
or
strin
[
0
][
-
2
:]
==
"AM"
)
\
and
not
(
strin
[
0
][
-
2
:]
==
"pm"
or
strin
[
0
][
-
2
:]
==
"PM"
):
if
(
strin
[
1
][
-
2
:]
==
"am"
):
returnlist
[
0
]
=
convertTime
(
strin
[
0
]
+
"am"
)
else
:
...
...
@@ -19,8 +21,10 @@ def splitAndConvertTime(strin):
returnlist
[
0
]
=
convertTime
(
strin
[
0
])
return
returnlist
def
load_getconn_data
():
feedtext
=
requests
.
get
(
"https://getconnected.gmu.edu/events/events.rss"
).
text
feedtext
=
requests
.
get
(
"https://getconnected.gmu.edu/events/events.rss"
).
text
feedtext
=
cleanup
(
feedtext
)
# this calls the RSS feed parser from !feedparser
...
...
@@ -34,66 +38,81 @@ def load_getconn_data():
title
=
entry
.
title
# print title
sumdetsoup
=
BeautifulSoup
(
entry
.
summary_detail
[
"value"
].
encode
(
"utf-8"
),
"html.parser"
)
sumdetsoup
=
BeautifulSoup
(
entry
.
summary_detail
[
"value"
]
.
encode
(
"utf-8"
),
"html.parser"
)
location
=
[
sumdetsoup
.
div
.
span
.
text
]
# print location
description
=
sumdetsoup
.
find_all
(
"div"
)[
1
].
text
# print description
datetime
=
sumdetsoup
.
b
.
text
# print datetime
# this handles events which start and end on the same day
if
(
datetime
.
count
(
"("
)
==
1
):
datesplit
=
datetime
.
split
(
", "
)
weekday
=
datesplit
[
0
]
temp
=
datesplit
[
1
].
split
(
" "
)
monthday
=
temp
[
1
]
month
=
temp
[
0
]
year
=
datesplit
[
2
][:
5
]
# uses helper function to get the start and end time
parsedtimelist
=
splitAndConvertTime
(
datesplit
[
2
][
6
:
-
1
])
timestart
=
parsedtimelist
[
0
]
timestop
=
parsedtimelist
[
1
]
dictlist
.
append
({
"id"
:
uniqueid
,
"title"
:
title
,
"dayofweek"
:
weekday
,
"dayofmonth"
:
monthday
,
"month"
:
month
,
"year"
:
year
,
"timestart"
:
timestart
,
"timestop"
:
timestop
,
"location"
:
location
,
"description"
:
description
})
try
:
datesplit
=
datetime
.
split
(
", "
)
# parses out date info
weekday
=
datesplit
[
0
]
temp
=
datesplit
[
1
].
split
(
" "
)
monthday
=
temp
[
1
]
month
=
temp
[
0
]
year
=
datesplit
[
2
][:
5
]
# uses helper function to get the start and end time
parsedtimelist
=
splitAndConvertTime
(
datesplit
[
2
][
6
:
-
1
])
timestart
=
parsedtimelist
[
0
]
timestop
=
parsedtimelist
[
1
]
dictlist
.
append
({
"id"
:
uniqueid
,
"title"
:
title
,
"dayofweek"
:
weekday
,
"dayofmonth"
:
monthday
,
"month"
:
month
,
"year"
:
year
,
"timestart"
:
timestart
,
"timestop"
:
timestop
,
"location"
:
location
,
"description"
:
description
})
except
Exception
as
e
:
dictlist
.
append
({
"id"
:
uniqueid
,
"error"
:
str
(
e
)})
# this handles events which start on one day and end on another
else
:
datesplit
=
datetime
.
split
(
" - "
)
# getting the information for the start day/time
tempsplits
=
datesplit
[
0
].
split
(
", "
)
weekday
=
tempsplits
[
0
]
month
=
tempsplits
[
1
].
split
(
" "
)[
0
]
monthday
=
tempsplits
[
1
].
split
(
" "
)[
1
]
year
=
tempsplits
[
2
].
split
(
" "
)[
0
]
timestart
=
datesplit
[
0
].
split
(
"("
)[
1
][:
-
1
]
timestart
=
convertTime
(
timestart
)
# getting the information for the end day/time
tempsplits
=
datesplit
[
1
].
split
(
", "
)
endweekday
=
tempsplits
[
0
]
endmonth
=
tempsplits
[
1
].
split
(
" "
)[
0
]
endmonthday
=
tempsplits
[
1
].
split
(
" "
)[
1
]
endyear
=
tempsplits
[
2
].
split
(
" "
)[
0
]
timestop
=
datesplit
[
1
].
split
(
"("
)[
1
][:
-
1
]
timestop
=
convertTime
(
timestop
)
dictlist
.
append
({
"id"
:
uniqueid
,
"title"
:
title
,
"dayofweek"
:
weekday
,
"dayofmonth"
:
monthday
,
"month"
:
month
,
"year"
:
year
,
"timestart"
:
timestart
,
"timestop"
:
timestop
,
"location"
:
location
,
"description"
:
description
,
"enddayofweek"
:
endweekday
,
"enddayofmonth"
:
endmonthday
,
"endmonth"
:
endmonth
,
"endyear"
:
endyear
})
try
:
datesplit
=
datetime
.
split
(
" - "
)
# getting the information for the start day/time
tempsplits
=
datesplit
[
0
].
split
(
", "
)
weekday
=
tempsplits
[
0
]
month
=
tempsplits
[
1
].
split
(
" "
)[
0
]
monthday
=
tempsplits
[
1
].
split
(
" "
)[
1
]
year
=
tempsplits
[
2
].
split
(
" "
)[
0
]
timestart
=
datesplit
[
0
].
split
(
"("
)[
1
][:
-
1
]
timestart
=
convertTime
(
timestart
)
# getting the information for the end day/time
tempsplits
=
datesplit
[
1
].
split
(
", "
)
endweekday
=
tempsplits
[
0
]
endmonth
=
tempsplits
[
1
].
split
(
" "
)[
0
]
endmonthday
=
tempsplits
[
1
].
split
(
" "
)[
1
]
endyear
=
tempsplits
[
2
].
split
(
" "
)[
0
]
timestop
=
datesplit
[
1
].
split
(
"("
)[
1
][:
-
1
]
timestop
=
convertTime
(
timestop
)
dictlist
.
append
({
"id"
:
uniqueid
,
"title"
:
title
,
"dayofweek"
:
weekday
,
"dayofmonth"
:
monthday
,
"month"
:
month
,
"year"
:
year
,
"timestart"
:
timestart
,
"timestop"
:
timestop
,
"location"
:
location
,
"description"
:
description
,
"enddayofweek"
:
endweekday
,
"enddayofmonth"
:
endmonthday
,
"endmonth"
:
endmonth
,
"endyear"
:
endyear
})
except
Exception
as
e
:
dictlist
.
append
({
"id"
:
uniqueid
,
"error"
:
str
(
e
)})
return
dictlist
# dictlist.append({"id":uniqueid, "title":entry_title, "dayofweek":weekday, "dayofmonth":monthday, "month":month, "year":year, "timestart":timestart, "timestop":timestop, "location":location, "description":description})
# This was intended to figure out what objects are in each entry and what appears only sometimes
# The results are:
# Every event has:
# -------summary
# -------published_parsed
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment