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
67a2095b
Commit
67a2095b
authored
Dec 14, 2024
by
Mario Chirinos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bulk upload
parent
789e2d00
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
60 additions
and
58 deletions
+60
-58
loadNews.py
catalog/management/commands/loadNews.py
+60
-58
No files found.
catalog/management/commands/loadNews.py
View file @
67a2095b
...
...
@@ -53,20 +53,20 @@ class Command(BaseCommand):
publisher
=
publisher
[
0
]
#----------------------------------------------------------------
#
news = News.objects.all().filter(publisher=publisher.id).order_by("-date")
#
minYear = 0
#
lastDate = datetime.datetime(1950,1,1)
news
=
News
.
objects
.
all
()
.
filter
(
publisher
=
publisher
.
id
)
.
order_by
(
"-date"
)
minYear
=
0
lastDate
=
datetime
.
datetime
(
1950
,
1
,
1
)
#
if news.count()>0:
#
minYear = news[0].date.year
#
lastDate = news[0].date
if
news
.
count
()
>
0
:
minYear
=
news
[
0
]
.
date
.
year
lastDate
=
news
[
0
]
.
date
# Year list from directory structure
yearList
=
sorted
([
int
(
y
)
for
y
in
os
.
listdir
(
'.'
)
if
os
.
path
.
isdir
(
y
)
])
print
(
yearList
)
for
y
in
sorted
(
yearList
):
#
if y >=minYear:
if
y
>=
minYear
:
os
.
chdir
(
str
(
y
))
print
(
os
.
getcwd
())
...
...
@@ -75,8 +75,10 @@ class Command(BaseCommand):
for
f
in
filesList
:
fileDate
=
datetime
.
datetime
.
strptime
(
f
[:
f
.
find
(
"."
)],
"
%
Y-
%
m-
%
d"
)
.
date
()
# if fileDate >= lastDate.date():
print
(
fileDate
)
if
fileDate
>=
lastDate
.
date
():
#delete news form the most recent day in the database so it can upload the day again
News
.
objects
.
filter
(
date__gte
=
fileDate
)
.
delete
()
with
open
(
f
)
as
data_file
:
try
:
print
(
f
)
...
...
@@ -85,7 +87,7 @@ class Command(BaseCommand):
for
d
in
data
:
newsDate
=
dateutil
.
parser
.
parse
(
d
[
'date'
])
#check for repeted news
# if News.objects.all().filter(Q(publisher=publisher.id)&Q(title=d['title'])&Q(date__gte=newsDate)).count() == 0:
# if News.objects.all().filter(Q(publisher=publisher.id)&Q(title=d['title'])&Q(date__gte=newsDate)).count() == 0:
if
d
[
'title'
]
==
None
:
d
[
'title'
]
=
"Sin Titulo"
...
...
@@ -100,24 +102,24 @@ class Command(BaseCommand):
news
.
date
=
newsDate
# print ("topic type:", type(d['topic']))
# print (d['topic'])
# print ("topic type:", type(d['topic']))
# print (d['topic'])
if
"topic"
not
in
d
or
d
[
'topic'
]
==
""
or
d
[
'topic'
]
==
None
or
d
[
'topic'
]
==
[]:
topicstr
=
[
"Sin Tema"
]
if
type
(
d
[
'topic'
])
==
list
:
topicstr
=
d
[
'topic'
]
# for t in d['topic']:
## topic, created = Topic.objects.all().get_or_create(name=t)
# topic, created = Topic.objects.get_or_create(name=t)
# news.topic.add(topic)
# for t in d['topic']:
## topic, created = Topic.objects.all().get_or_create(name=t)
# topic, created = Topic.objects.get_or_create(name=t)
# news.topic.add(topic)
else
:
# topic, created = Topic.objects.get_or_create(name=d['topic'])
# news.topic.add(topic)
# topic, created = Topic.objects.get_or_create(name=d['topic'])
# news.topic.add(topic)
topicstr
=
[
d
[
'topic'
]]
news
.
topic_raw
=
json
.
dumps
(
topicstr
)
# news.save()
# news.save()
objectsList
.
append
(
news
)
News
.
objects
.
bulk_create
(
objectsList
)
...
...
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