Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
E
esi-table-data
Project
Project
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
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
esi-data-scrapping
esi-table-data
Commits
89f4e88a
Commit
89f4e88a
authored
Sep 25, 2017
by
Andrii Marynets
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add validation to form
parent
bc2a9800
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
22 deletions
+17
-22
forms.py
esi/scraper/forms.py
+17
-22
No files found.
esi/scraper/forms.py
View file @
89f4e88a
...
...
@@ -3,30 +3,25 @@ from django import forms
from
.models
import
Job
,
Spider
class
CreateJobForm
(
forms
.
Form
):
name
=
forms
.
CharField
(
max_length
=
100
)
spider
=
forms
.
IntegerField
()
query
=
forms
.
CharField
(
max_length
=
255
)
date
=
forms
.
DateTimeField
()
interval
=
forms
.
CharField
(
max_length
=
100
)
count
=
forms
.
IntegerField
()
class
CreateJobForm
(
forms
.
ModelForm
):
def
is_valid
(
self
):
if
self
.
data
.
get
(
'date'
):
if
self
.
data
.
get
(
'date'
)
<
datetime
.
now
()
.
date
():
raise
forms
.
ValidationError
(
'Date should be greater or equal'
)
def
create_job
(
self
):
Job
.
objects
.
create
(
name
=
self
.
cleaned_data
.
get
(
'name'
),
spider
=
Spider
.
objects
.
get
(
pk
=
self
.
cleaned_data
.
get
(
'spider'
)),
query
=
self
.
cleaned_data
.
get
(
'query'
)
)
class
CreateForm
(
forms
.
ModelForm
):
super
(
CreateJobForm
,
self
)
.
is_valid
()
if
self
.
validate_query
():
return
True
else
:
return
False
def
validate_query
(
self
):
query
=
self
.
cleaned_data
[
'query'
]
if
query
:
block
=
[
';'
,
'select'
,
'alter'
,
'drop'
,
'truncate'
,
'update'
]
if
any
(
ext
in
query
for
ext
in
block
):
raise
forms
.
ValidationError
(
'Bad query'
)
else
:
return
True
else
:
return
True
class
Meta
:
model
=
Job
...
...
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