Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
gargantext
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
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
humanities
gargantext
Commits
ab062576
Commit
ab062576
authored
Nov 05, 2014
by
Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[FEATURE] PARSING, form and parsing OK.
parent
2f8b61b7
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
34 additions
and
79 deletions
+34
-79
urls.py
gargantext_web/urls.py
+1
-2
views.py
gargantext_web/views.py
+27
-61
admin.py
node/admin.py
+1
-1
models.py
node/models.py
+5
-13
FileParser.py
parsing/FileParsers/FileParser.py
+0
-1
project.html
templates/project.html
+0
-1
No files found.
gargantext_web/urls.py
View file @
ab062576
...
...
@@ -3,7 +3,7 @@ from django.conf.urls import patterns, include, url
from
django.contrib
import
admin
from
gargantext_web.views
import
home
,
projects
,
project
,
corpus
from
gargantext_web.views
import
add_corpus
,
delete_project
,
delete_corpus
from
gargantext_web.views
import
delete_project
,
delete_corpus
from
gargantext_web.views
import
exploration
from
gargantext_web.views
import
explorer_graph
,
explorer_matrix
...
...
@@ -22,7 +22,6 @@ urlpatterns = patterns('',
url
(
r'^project/(\d+)/delete/$'
,
delete_project
),
url
(
r'^project/(\d+)/$'
,
project
),
url
(
r'^project/(\d+)/add/$'
,
add_corpus
),
url
(
r'^project/(\d+)/corpus/(\d+)/$'
,
corpus
),
url
(
r'^project/(\d+)/corpus/(\d+)/delete/$'
,
delete_corpus
),
...
...
gargantext_web/views.py
View file @
ab062576
...
...
@@ -8,7 +8,7 @@ from django.template import Context
#from documents.models import Project, Corpus, Document
from
node.models
import
Language
,
ResourceType
,
Resource
from
node.models
import
Node
,
NodeType
,
Project
,
Corpus
from
node.models
import
Node
,
NodeType
,
Node_Resource
,
Project
,
Corpus
from
node.admin
import
CorpusForm
,
ProjectForm
,
ResourceForm
from
django.contrib.auth.models
import
User
...
...
@@ -24,7 +24,8 @@ from collections import defaultdict
from
parsing.FileParsers
import
*
from
gargantext_web.settings
import
MEDIA_ROOT
from
time
import
time
# SOME FUNCTIONS
...
...
@@ -140,48 +141,45 @@ def project(request, project_id):
if
request
.
method
==
'POST'
:
#form = CorpusForm(request.POST, request.FILES)
name
=
str
(
request
.
POST
[
'name'
])
try
:
language
=
Language
.
objects
.
get
(
id
=
str
(
request
.
POST
[
'language'
]))
except
:
language
=
None
#print(str(request.POST))
try
:
bdd_type
=
ResourceType
.
objects
.
get
(
id
=
str
(
request
.
POST
[
'bdd_type'
]))
except
:
bdd_type
=
None
resource_type
=
ResourceType
.
objects
.
get
(
id
=
str
(
request
.
POST
[
'type'
]))
except
Exception
as
error
:
print
(
error
)
resource_type
=
None
try
:
file
=
request
.
FILES
[
'file'
]
except
:
except
Exception
as
error
:
print
(
error
)
file
=
None
if
language
is
not
None
and
name
!=
""
and
bdd_type
!=
None
and
file
!=
None
:
resource
=
Resource
(
user
=
request
.
user
,
guid
=
str
(
date
),
bdd_type
=
bdd_type
,
file
=
file
)
resource
.
save
()
node_type
=
NodeType
.
objects
.
get
(
name
=
'Corpus'
)
#if name != "" and resource_type is not None and file is not None:
try
:
parent
=
Node
.
objects
.
get
(
id
=
project_id
)
node_type
=
NodeType
.
objects
.
get
(
name
=
'Corpus'
)
#language = Language.objects.get(iso2='fr')
corpus
=
Node
(
parent
=
parent
,
type
=
node_type
,
name
=
name
,
user
=
request
.
user
)
corpus
.
save
()
node
=
Node
(
parent
=
parent
,
type
=
node_type
,
name
=
name
,
user
=
request
.
user
,
language
=
language
)
node
.
save
()
node
.
resource
.
add
(
resource
)
#file_path = str(MEDIA_ROOT + '/corpora/' + request.user.username + '/' + str(file))
#corpus.add_resource(type=resource_type, file=str(file))
resource
=
Resource
(
user
=
request
.
user
,
guid
=
str
(
time
()),
type
=
resource_type
,
file
=
file
,
digest
=
str
(
time
()))
resource
.
save
()
#
node_resource
=
Node_Resource
(
node
=
corpus
,
resource
=
resource
)
node_resource
.
save
()
try
:
for
resource
in
node
.
resource
.
all
():
print
(
resource
.
bdd_type
.
name
)
if
resource
.
bdd_type
.
name
==
"PubMed"
:
fileparser
=
PubmedFileParser
(
file
=
'/var/www/gargantext/media/'
+
str
(
resource
.
file
))
fileparser
.
parse
(
node
)
elif
resource
.
bdd_type
.
name
==
"Web Of Science (WOS), ISI format"
:
fileparser
=
IsiParser
(
file
=
'/var/www/gargantext/media/'
+
str
(
resource
.
file
))
fileparser
.
parse
(
node
)
elif
node
.
bdd_type
.
name
==
"Europresse"
:
pass
try
:
corpus
.
parse_resources
()
except
Exception
as
error
:
print
(
error
)
return
HttpResponseRedirect
(
'/project/'
+
str
(
project_id
))
else
:
except
Exception
as
error
:
print
(
'ee'
,
error
)
form
=
CorpusForm
(
request
=
request
)
formResource
=
ResourceForm
()
...
...
@@ -313,38 +311,6 @@ def corpus(request, project_id, corpus_id):
return
HttpResponse
(
html
)
def
add_corpus
(
request
):
form
=
CorpusForm
(
request
=
request
)
if
request
.
method
==
'POST'
:
#form = CorpusForm(request.POST, request.FILES)
name
=
str
(
request
.
POST
[
'name'
])
try
:
#language = Language.objects.get(name=str(request.POST['language']))
language
=
Language
.
objects
.
get
(
name
=
'French'
)
except
Exception
as
e
:
print
(
e
)
language
=
None
if
name
!=
""
:
project_id
=
1047
node_type
=
NodeType
.
objects
.
get
(
name
=
'Corpus'
)
parent
=
Node
.
objects
.
get
(
id
=
project_id
)
Corpus
(
parent
=
parent
,
type
=
node_type
,
name
=
name
,
user
=
request
.
user
,
language
=
language
)
.
save
()
# try:
# for resource in node.resource.all():
# fileparser = PubmedFileParser.PubmedFileParser(file='/var/www/gargantext/media/' + str(resource.file))
# fileparser.parse(node)
#
# except Exception as error:
# print(error)
return
HttpResponseRedirect
(
'/project/'
+
str
(
project_id
))
else
:
form
=
CorpusForm
(
request
=
request
)
return
render
(
request
,
'add_corpus.html'
,
{
'form'
:
form
})
def
delete_project
(
request
,
node_id
):
Node
.
objects
.
filter
(
id
=
node_id
)
.
all
()
.
delete
()
...
...
node/admin.py
View file @
ab062576
...
...
@@ -56,7 +56,7 @@ class NodeAdmin(admin.ModelAdmin):
user
=
request
.
user
,
\
name
=
obj
.
name
,
\
metadata
=
obj
.
metadata
,
\
resource
=
obj
.
resource
)
)
#nodeParent.save()
#node.save()
...
...
node/models.py
View file @
ab062576
...
...
@@ -12,13 +12,12 @@ from parsing.FileParsers import *
from
time
import
time
from
collections
import
defaultdict
from
gargantext_web.settings
import
MEDIA_ROOT
# Some usefull functions
# TODO: start the function name with an underscore (private)
def
upload_to
(
instance
,
filename
):
return
'corpora/
%
s/
%
s'
%
(
instance
.
user
.
username
,
filename
)
#return 'corpora/%s/%f/%s' % (instance.user.username, time(), filename)
def
_upload_to
(
instance
,
filename
):
return
MEDIA_ROOT
+
'/corpora/
%
s/
%
s'
%
(
instance
.
user
.
username
,
filename
)
# All classes here
...
...
@@ -42,9 +41,10 @@ class Ngram(models.Model):
terms
=
models
.
CharField
(
max_length
=
255
)
class
Resource
(
models
.
Model
):
user
=
models
.
ForeignKey
(
User
)
guid
=
models
.
CharField
(
max_length
=
255
)
type
=
models
.
ForeignKey
(
ResourceType
,
blank
=
True
,
null
=
True
)
file
=
models
.
FileField
(
upload_to
=
upload_to
,
blank
=
True
)
file
=
models
.
FileField
(
upload_to
=
_
upload_to
,
blank
=
True
)
digest
=
models
.
CharField
(
max_length
=
32
)
# MD5 digest
class
NodeType
(
models
.
Model
):
...
...
@@ -52,7 +52,6 @@ class NodeType(models.Model):
def
__str__
(
self
):
return
self
.
name
class
NodeQuerySet
(
models
.
query
.
QuerySet
):
"""Methods available from Node querysets."""
def
extract_ngrams
(
self
,
keys
,
ngramsextractorscache
=
None
,
ngramscaches
=
None
):
...
...
@@ -85,12 +84,6 @@ class Node(CTENode):
date
=
models
.
DateField
(
default
=
timezone
.
now
,
blank
=
True
)
metadata
=
hstore
.
DictionaryField
(
blank
=
True
)
# TODO: remove the three following fields
#fichier = models.FileField(upload_to=upload_to, blank=True)
#resource = models.ForeignKey(Resource, blank=True, null=True)
#ngrams = models.ManyToManyField(NGrams)
def
__str__
(
self
):
return
self
.
name
...
...
@@ -171,7 +164,6 @@ class Node(CTENode):
for
ngram_text
,
weight
in
associations
.
items
()
])
class
Node_Resource
(
models
.
Model
):
node
=
models
.
ForeignKey
(
Node
,
related_name
=
'node_resource'
)
resource
=
models
.
ForeignKey
(
Resource
)
...
...
parsing/FileParsers/FileParser.py
View file @
ab062576
...
...
@@ -3,7 +3,6 @@ import dateutil.parser
import
zipfile
from
parsing.Caches
import
LanguagesCache
class
FileParser
:
...
...
templates/project.html
View file @
ab062576
...
...
@@ -78,7 +78,6 @@
</h3>
<h4>{{ corpus.count }} Documents </h4>
<p>{{ corpus.language }} {{ corpus.database}}</p>
<h5>Activity:</h5>
<div class="chart" data-percent="73">73%</div>
...
...
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