Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
RecommenderXBlock
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
RecommenderXBlock
Commits
21dce2e1
Commit
21dce2e1
authored
Dec 04, 2014
by
swdanielli
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'singingwolfboy-minor-improvements'
parents
bc236f3b
7691a5c5
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
20 deletions
+11
-20
recommender/recommender.py
+11
-20
No files found.
recommender/recommender.py
View file @
21dce2e1
...
...
@@ -82,7 +82,7 @@ class RecommenderXBlock(XBlock):
default_recommendations
=
Dict
(
help
=
"Dict of default help resources"
,
default
=
{},
scope
=
Scope
.
content
)
# A dict of default recommenations, it is a JSON object across all users,
# A dict of default recommen
d
ations, it is a JSON object across all users,
# all runs of a course, for this xblock.
# Usage: default_recommendations[index] = {
# "id": (String) id of a resource,
...
...
@@ -97,8 +97,8 @@ class RecommenderXBlock(XBlock):
# we use url as key (index) of resourcs
recommendations
=
Dict
(
help
=
"Dict of help resources"
,
default
=
{},
scope
=
Scope
.
user_state_summary
)
# A dict of recommen
ations provided by students, it is a JSON object
)
# A dict of recommend
ations provided by students, it is a JSON object
# aggregated across many users of a single block.
# Usage: the same as default_recommendations
...
...
@@ -220,18 +220,6 @@ class RecommenderXBlock(XBlock):
data
=
pkg_resources
.
resource_string
(
__name__
,
path
)
return
data
.
decode
(
"utf8"
)
def
md5_check_sum
(
self
,
data
):
"""
Generate the MD5 hash of file
Args:
data: the content of the file (e.g., open(filePath, 'rb').read())
Returns:
The MD5 hash
"""
md5
=
hashlib
.
md5
()
md5
.
update
(
data
)
return
md5
.
hexdigest
()
def
get_onetime_url
(
self
,
filename
):
"""
Return one time url for uploaded screenshot
...
...
@@ -413,7 +401,7 @@ class RecommenderXBlock(XBlock):
try
:
content
=
request
.
POST
[
'file'
]
.
file
.
read
()
file_id
=
self
.
md5_check_sum
(
content
)
file_id
=
hashlib
.
md5
(
content
)
.
hexdigest
(
)
file_name
=
(
file_id
+
'.'
+
file_type
)
fhwrite
=
self
.
fs
.
open
(
file_name
,
"wb"
)
...
...
@@ -511,6 +499,7 @@ class RecommenderXBlock(XBlock):
result
=
{}
result
[
'id'
]
=
resource_id
result
[
'old_id'
]
=
resource_id
for
field
in
self
.
resource_content_fields
:
result
[
'old_'
+
field
]
=
self
.
recommendations
[
resource_id
][
field
]
if
data
[
field
]
==
""
:
...
...
@@ -651,6 +640,7 @@ class RecommenderXBlock(XBlock):
result
=
{}
result
[
'id'
]
=
resource_id
if
resource_id
in
self
.
endorsed_recommendation_ids
:
result
[
'status'
]
=
'undo endorsement'
endorsed_index
=
self
.
endorsed_recommendation_ids
.
index
(
resource_id
)
...
...
@@ -794,10 +784,11 @@ class RecommenderXBlock(XBlock):
The primary view of the RecommenderXBlock, shown to students
when viewing courses.
"""
if
not
self
.
recommendations
:
self
.
recommendations
=
self
.
default_recommendations
if
not
self
.
recommendations
:
self
.
recommendations
=
{}
self
.
recommendations
=
(
self
.
recommendations
or
self
.
default_recommendations
or
{}
)
# Transition between two versions. In the previous version, there is
# no endorsed_recommendation_reasons. Thus, we add empty reasons to
...
...
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