Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
intranet
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
2
Issues
2
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nounous-archives
intranet
Commits
d3e789c9
Commit
d3e789c9
authored
Dec 15, 2015
by
Daniel STAN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
impressions: get_storage_dir (pour env de test)
parent
49afe7ae
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
4 deletions
+14
-4
impressions/views.py
impressions/views.py
+14
-4
No files found.
impressions/views.py
View file @
d3e789c9
...
...
@@ -116,6 +116,18 @@ def get_club(request):
club
=
tuple
(
club
)
return
club
def
get_storage_dir
(
login
,
filename
):
"""Donne le chemin vers le fichier, pour enregistrement"""
if
os
.
getenv
(
'DBG_PRINTER'
,
'0'
)
==
'0'
:
mkdir
=
[
"sudo"
,
"-n"
,
"/usr/scripts/utils/chown_impressions.sh"
,
login
]
pattern
=
"/home/impressions/%s/%s"
else
:
mkdir
=
[
"mkdir"
,
"-p"
,
"/tmp/intranet/%s"
%
login
]
pattern
=
"/tmp/intranet/%s/%s"
subprocess
.
check_call
(
mkdir
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
)
filepath
=
pattern
%
(
login
,
filename
)
return
filepath
class
NotPdfFile
(
Exception
):
"""Exception levée si le fichier uploadé n'est pas un pdf"""
pass
...
...
@@ -162,11 +174,9 @@ def view(request):
login_used
=
club
else
:
login_used
=
login
createdir
=
subprocess
.
Popen
([
"sudo"
,
"/usr/scripts/utils/chown_impressions.sh"
,
login_used
],
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
)
createdir
.
communicate
()
# On y enregistre ensuite le fichier
filename
=
fichier
.
name
filepath
=
"/home/impressions/%s/%s"
%
(
login_used
,
filename
)
filepath
=
get_storage_dir
(
login_used
,
filename
)
with
open
(
filepath
,
'wb+'
)
as
destination
:
for
chunk
in
fichier
.
chunks
():
destination
.
write
(
chunk
)
...
...
@@ -268,7 +278,7 @@ def view(request):
jo
=
Jobs
.
objects
.
filter
(
file
=
filename
,
login
=
login
).
latest
(
'id'
)
if
jo
.
club
:
login
=
jo
.
club
job
=
impression
(
"/home/impressions/%s/%s"
%
(
login
,
filename
),
adh
=
login
)
job
=
impression
(
get_storage_dir
(
login
,
filename
),
adh
=
login
)
# On met à jour les options et on envoie
job
.
changeSettings
(
papier
=
format
,
couleur
=
couleur
,
copies
=
copies
,
agrafage
=
agrafe
,
perforation
=
perforation
,
livret
=
livr
,
recto_verso
=
rv
)
try
:
...
...
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