Skip to content

Commit 62d15eb

Browse files
Merge pull request #921 from robertatakenaka/rc_fix_article_payload_authors
[alimentação direta] Resolve questões que impediam publicação dos artigos
2 parents 696fed2 + c127761 commit 62d15eb

File tree

6 files changed

+25
-51
lines changed

6 files changed

+25
-51
lines changed

journal/migrations/0014_alter_journal_title_alter_officialjournal_title.py

Lines changed: 0 additions & 26 deletions
This file was deleted.

proc/models.py

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -108,33 +108,28 @@ def finished(self):
108108

109109
@classmethod
110110
def create(cls, user, proc, name):
111-
name = name[:64]
112-
cls.exclude_events(user, proc, name)
113111
obj = cls()
114112
obj.proc = proc
115113
obj.name = name
116114
obj.creator = user
117115
obj.save()
118116
return obj
119-
# try:
120-
# return cls.objects.get(proc=proc, name=name)
121-
# except cls.MultipleObjectsReturned:
122-
# return cls.objects.filter(proc=proc, name=name).order_by("-created").first()
123-
# except cls.DoesNotExist:
124-
# obj = cls()
125-
# obj.proc = proc
126-
# obj.name = name
127-
# obj.creator = user
128-
# obj.save()
129-
# return obj
130117

131118
@classmethod
132119
def exclude_events(cls, user, proc, name):
133120
# apaga todas as ocorrências que foram armazenadas no arquivo
134121
try:
135-
cls.objects.filter(proc=proc, name=name).delete()
122+
event = cls.objects.get(proc=proc, name=name)
123+
except cls.MultipleObjectsReturned:
124+
event = cls.objects.filter(proc=proc, name=name).order_by("-created").first()
125+
except cls.DoesNotExist:
126+
return
127+
128+
try:
129+
cls.objects.filter(proc=proc, created__gte=event.created).delete()
130+
logging.info(f"Deleted events for proc {proc} and name {name} starting from {event.created}")
136131
except Exception as e:
137-
pass
132+
logging.info(f"Error deleting events for proc {proc} and name {name}: {e}")
138133

139134
@classmethod
140135
def start(
@@ -143,6 +138,9 @@ def start(
143138
proc,
144139
name=None,
145140
):
141+
logging.info(f"Starting operation {name} for proc {proc} by user {user}")
142+
name = name[:64]
143+
cls.exclude_events(user, proc, name)
146144
return cls.create(user, proc, name)
147145

148146
def finish(

proc/source_classic_website.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ def migrate_journal(
202202
"""
203203
try:
204204
event = None
205-
detail = None
205+
detail = {}
206206
detail = {
207207
"journal_proc": str(journal_proc),
208208
"force_update": force_update,
@@ -270,7 +270,7 @@ def migrate_issue(user, issue_proc, force_update):
270270
"""
271271
try:
272272
event = None
273-
detail = None
273+
detail = {}
274274
detail = {
275275
"issue_proc": str(issue_proc),
276276
"force_update": force_update,

publication/api/publication.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def __init__(
5151
self.password = password
5252
self.token = token
5353
self.enabled = enabled
54-
if not token and enabled:
54+
if not token:
5555
self.get_token()
5656

5757
@property
@@ -72,8 +72,6 @@ def post_data(self, payload, kwargs=None):
7272
# logging.info(f"payload={payload}")
7373
response = None
7474
try:
75-
if not self.enabled:
76-
raise ValueError(_("Website enabled is False ({})").format(self.post_data_url))
7775
if not self.token:
7876
self.get_token()
7977
response = self._post_data(payload, self.token, kwargs)
@@ -118,6 +116,8 @@ def get_token(self):
118116
)
119117
# logging.info(resp)
120118
self.token = resp.get("token")
119+
if not self.token:
120+
raise Exception(f"Failed to get token from {self.get_token_url} with username {self.username}: {resp}")
121121
return self.token
122122

123123
def _post_data(self, payload, token, kwargs=None):

upload/models.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,7 @@ def process_system_decision(self, task_publish_article):
561561
user = self.updated_by or self.creator
562562
# é desejável que o artigo seja publicado diretamente
563563
# prepare_to_publish verficará se há impedimentos
564-
detail = None
564+
detail = {}
565565
event = None
566566
event = self.start(user, "process_system_decision")
567567

@@ -956,9 +956,8 @@ def update_status_and_add_comments(self, user, result, new_status=None):
956956
save = True
957957

958958
if comments:
959-
if not self.qa_comment:
960-
self.qa_comment = ""
961-
self.qa_comment += "\n".join(comments)
959+
self.qa_comment = self.qa_comment or ""
960+
self.qa_comment += "\n".join(str(c) for c in comments)
962961
save = True
963962

964963
if save:
@@ -1001,7 +1000,7 @@ def xml_file_changed_pid_v2(self, user, xml_with_pre):
10011000

10021001
def add_pid_v2(self, user, xml_with_pre):
10031002
try:
1004-
detail = None
1003+
detail = {}
10051004
pid_v2_gen = None
10061005
event = self.start(user, "add_pid_v2")
10071006
pid_v2_gen = PidV2Generator(xml_with_pre)

upload/publication.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,11 +221,14 @@ def publish_article_on_website(
221221
username=website.api_username,
222222
password=website.api_password,
223223
timeout=15,
224+
enabled=website.enabled,
224225
)
225226
api.get_token()
226227
api_data = api.data
227228
except WebSiteConfiguration.DoesNotExist as exc:
228229
return
230+
except Exception as exc:
231+
return
229232

230233
journal_proc = issue_proc.journal_proc
231234

0 commit comments

Comments
 (0)