Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
m3_webInterface
Project
Project
Details
Activity
Releases
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
m3
m3_webInterface
Commits
b34d29ff
Commit
b34d29ff
authored
Dec 10, 2024
by
Mario Chirinos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
api
parent
60cd6644
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
36 additions
and
4 deletions
+36
-4
middleware.py
catalog/middleware.py
+1
-1
urls.py
catalog/urls.py
+1
-1
views.py
catalog/views.py
+34
-2
No files found.
catalog/middleware.py
View file @
b34d29ff
...
...
@@ -22,7 +22,7 @@ class AuthRequiredMiddleware(object):
if
request
.
path_info
==
reverse
(
'ws-news-list2'
)
or
request
.
path_info
==
reverse
(
'signup'
):
if
request
.
path_info
==
reverse
(
'
api-download-news'
)
reverse
(
'
ws-news-list2'
)
or
request
.
path_info
==
reverse
(
'signup'
):
return
response
if
not
request
.
user
.
is_authenticated
and
request
.
path_info
!=
reverse
(
'login'
):
...
...
catalog/urls.py
View file @
b34d29ff
...
...
@@ -24,7 +24,7 @@ urlpatterns = [
url
(
r'^ws/playlist/(?P<publisher>\w+)/(?P<start>\w+)/(?P<end>\w+)/$'
,
views
.
wsAudioList
,
name
=
'ws-audio-list'
),
url
(
r'^ws/wordcloud/(?P<newsId>\w+)/$'
,
views
.
wsWordCloud
,
name
=
'ws-wordcloud'
),
url
(
r'^ws/suggestions/(?P<newsId>\w+)/$'
,
views
.
wsSuggestions
,
name
=
'ws-suggestions'
),
url
(
r'^api/download/$'
,
views
.
apiDownloadNews
,
name
=
'api-download-news'
),
url
(
r'^audio/$'
,
views
.
audioList
,
name
=
'audio'
),
url
(
r'^audio/(?P<publisher>\w+)$'
,
views
.
audioPublisher
,
name
=
'audio'
),
...
...
catalog/views.py
View file @
b34d29ff
...
...
@@ -5,7 +5,7 @@ from django.shortcuts import render
# Create your views here.
from
django.conf
import
settings
from
catalog.models
import
Publisher
,
News
,
Search
,
audioTime
from
catalog.models
import
Publisher
,
News
,
Search
,
audioTime
,
Apikey
from
django.core.exceptions
import
ObjectDoesNotExist
from
django.shortcuts
import
redirect
from
django.http
import
HttpResponse
...
...
@@ -381,7 +381,7 @@ def wsNewsList(request):#, publisherShortName="all"):
except
PageNotAnInteger
:
news
=
paginator
.
page
(
1
)
except
EmptyPage
:
news
=
paginator
.
page
(
paginator
.
num_pages
)
news
=
paginator
.
page
(
paginator
.
num_pages
)
for
n
in
news
:
row
=
list
()
...
...
@@ -426,6 +426,38 @@ def wsDownloadNews(request):
response
=
HttpResponse
(
s
.
getvalue
(),
content_type
=
"application/x-zip-compressed"
)
response
[
'Content-Disposition'
]
=
'attachment; filename="news_'
+
str
(
int
(
time
.
time
()))
+
'.zip"'
return
response
#-------------------------------------------------------------------------------
def
apiDownloadNews
(
request
):
apiuser
=
Apikey
.
objects
.
get
(
key
=
request
.
GET
[
"key"
]])
.
user
if
apiuser
is
None
:
return
HttpResponse
(
json
.
dumps
(
"{}"
),
content_type
=
"application/json"
)
else
:
request
.
user
=
apiuser
news
=
getNewsByRequest
(
request
)
s
=
BytesIO
()
zf
=
zipfile
.
ZipFile
(
s
,
"w"
)
zf
.
writestr
(
"setting.txt"
,
json
.
dumps
(
request
.
GET
))
data
=
news2JSON
(
news
);
if
request
.
GET
[
'format'
]
==
"JSON"
:
zf
.
writestr
(
"data.json"
,
json
.
dumps
(
data
))
if
request
.
GET
[
'format'
]
==
"CSV"
:
csvString
=
StringIO
()
writer
=
csv
.
writer
(
csvString
,
quoting
=
csv
.
QUOTE_ALL
)
for
d
in
data
:
row
=
[
d
[
k
]
for
k
in
d
]
writer
.
writerow
(
row
)
zf
.
writestr
(
"data.csv"
,
csvString
.
getvalue
())
zf
.
close
()
response
=
HttpResponse
(
s
.
getvalue
(),
content_type
=
"application/x-zip-compressed"
)
response
[
'Content-Disposition'
]
=
'attachment; filename="news_'
+
str
(
int
(
time
.
time
()))
+
'.zip"'
return
response
#-------------------------------------------------------------------------------
def
wsWordCloud
(
request
,
newsId
):
text
=
News
.
objects
.
filter
(
id
=
newsId
)[
0
]
.
text
...
...
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