Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
beat.web
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
beat
beat.web
Commits
9fa28f2f
Commit
9fa28f2f
authored
4 years ago
by
Flavio TARSETTI
Browse files
Options
Downloads
Patches
Plain Diff
[utils/accounts][management][commands] add expired temporary urls cleanup
Fixes
#542
parent
7deb2298
No related branches found
Branches containing commit
No related tags found
Tags containing commit
1 merge request
!328
Improve automatic emails with temporary urls
Pipeline
#39777
passed
4 years ago
Stage: build
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
beat/web/accounts/management/commands/clean_expired_temporary_urls.py
+81
-0
81 additions, 0 deletions
...ounts/management/commands/clean_expired_temporary_urls.py
beat/web/utils/management/commands/daily_cron_actions.py
+4
-1
4 additions, 1 deletion
beat/web/utils/management/commands/daily_cron_actions.py
with
85 additions
and
1 deletion
beat/web/accounts/management/commands/clean_expired_temporary_urls.py
0 → 100644
+
81
−
0
View file @
9fa28f2f
#!/usr/bin/env python
# vim: set fileencoding=utf-8 :
# encoding: utf-8
###############################################################################
# #
# Copyright (c) 2020 Idiap Research Institute, http://www.idiap.ch/ #
# Contact: beat.support@idiap.ch #
# #
# This file is part of the beat.web module of the BEAT platform. #
# #
# Commercial License Usage #
# Licensees holding valid commercial BEAT licenses may use this file in #
# accordance with the terms contained in a written agreement between you #
# and Idiap. For further information contact tto@idiap.ch #
# #
# Alternatively, this file may be used under the terms of the GNU Affero #
# Public License version 3 as published by the Free Software and appearing #
# in the file LICENSE.AGPL included in the packaging of this file. #
# The BEAT platform is distributed in the hope that it will be useful, but #
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY #
# or FITNESS FOR A PARTICULAR PURPOSE. #
# #
# You should have received a copy of the GNU Affero Public License along #
# with the BEAT platform. If not, see http://www.gnu.org/licenses/. #
# #
###############################################################################
from
django.core.management.base
import
BaseCommand
import
datetime
import
sys
from
...models
import
TemporaryUrl
class
Command
(
BaseCommand
):
help
=
'
Clean expired temporary urls
'
def
add_arguments
(
self
,
parser
):
parser
.
add_argument
(
'
--noinput
'
,
action
=
'
store_false
'
,
dest
=
'
interactive
'
,
default
=
False
,
help
=
(
'
Tells Django to NOT prompt the user for input of any kind.
'
))
def
handle
(
self
,
*
args
,
**
options
):
if
options
[
'
interactive
'
]:
try
:
answer
=
self
.
get_input_data
(
'
Clean expired temporary url(s) that have not been used? (y/n)?
'
,
'
y
'
).
lower
()
except
KeyboardInterrupt
:
self
.
stderr
.
write
(
"
\n
Operation canceled.
"
)
sys
.
exit
(
1
)
if
answer
!=
'
y
'
:
self
.
stdout
.
write
(
'
Clean expired temporary urls operation canceled
'
)
sys
.
exit
(
1
)
temporary_urls
=
TemporaryUrl
.
objects
.
all
()
count
=
0
for
temporary_url
in
temporary_urls
:
now
=
datetime
.
datetime
.
now
()
if
temporary_url
.
expires
<
now
:
count
+=
1
temporary_url
.
delete
()
self
.
stdout
.
write
(
'
{} Expired temporary url(s) successfully cleaned/
'
.
format
(
count
)
+
'
{} Total temporary url(s) checked
'
.
format
(
temporary_urls
.
count
()))
def
get_input_data
(
self
,
message
,
default
=
None
):
"""
Override this method if you want to customize data inputs or
validation exceptions.
"""
raw_value
=
raw_input
(
message
)
if
default
and
raw_value
==
''
:
raw_value
=
default
return
raw_value
This diff is collapsed.
Click to expand it.
beat/web/utils/management/commands/daily_cron_actions.py
+
4
−
1
View file @
9fa28f2f
...
...
@@ -46,7 +46,7 @@ class Command(BaseCommand):
help
=
'
Daily CRON actions
'
def
handle
(
self
,
*
args
,
**
options
):
# Send attestations cleanup warnings and cleanup attestations
call_command
(
'
send_attestation_cleanup_warning
'
)
...
...
@@ -64,3 +64,6 @@ class Command(BaseCommand):
# Yearly revalidation process with warnings, status change and blockage
call_command
(
'
year_revalidation_users
'
)
# Clean expired temporary urls for account activation/re-activation
call_command
(
'
clean_expired_temporary_urls
'
)
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment