Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
groupe-calcul
spip2pelican
Commits
37b8208b
Commit
37b8208b
authored
Jun 27, 2018
by
Matthieu Boileau
Browse files
Convert get_attached_files.sh into python
Fix
#20
parent
d55b3739
Changes
3
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
37b8208b
# Conversion du site Spip <calcul.math.cnrs.fr> en site Pelican
# Conversion d'un site Spip en site Pelican
## Dépendances
-
`wget`
-
`python3`
-
paquets python listés dans
`requirements.txt`
à installer avec :
```
bash
pip
install
-r
requirements.txt
```
## Utilisation
### 1. Récupérer les fichiers joints
C
e script aspire les répertoires
`IMG/`
et
`Documents/`
du site Spip pour récupérer les fichiers qui ne sont pas des pages web :
L
e script
suivant
aspire les répertoires
`IMG/`
et
`Documents/`
du site Spip pour récupérer les fichiers qui ne sont pas des pages web :
```
./
get_attached_files.
sh
python3
get_attached_files.
py
```
Les fichiers récupérés sont dans
`attachments/spip/`
.
Les fichiers récupérés sont dans
`attachments/spip/`
### 2. Exporter certaines tables de la base de données
s
pip
### 2. Exporter certaines tables de la base de données
S
pip
1.
Se connecter à la base mysql du site spip avec phpmyadmin
2.
Exporter la table globale du site en format
`yaml`
, par exemple dans le fichier
`spip_site.yml`
...
...
get_attached_files.py
0 → 100755
View file @
37b8208b
#!/usr/bin/env python3
"""
Retrieve attached files from current Spip website
"""
import
os
from
ruamel.yaml
import
YAML
import
shutil
import
subprocess
yaml
=
YAML
(
typ
=
'safe'
)
DOWNLOAD_DIR
=
os
.
path
.
join
(
"attachments"
,
"spip"
)
if
__name__
==
'__main__'
:
config_filename
=
"config.yml"
with
open
(
config_filename
,
'r'
)
as
ymlfile
:
cfg
=
yaml
.
load
(
ymlfile
)
url
=
cfg
[
'site_url'
]
if
os
.
path
.
exists
(
DOWNLOAD_DIR
):
shutil
.
rmtree
(
DOWNLOAD_DIR
)
os
.
makedirs
(
DOWNLOAD_DIR
)
for
directory
in
"IMG"
,
"Documents"
:
dest_dir
=
os
.
path
.
join
(
DOWNLOAD_DIR
,
directory
)
print
(
f
"Downloading
{
directory
}
to
{
dest_dir
}
"
)
cmd
=
f
"""wget --quiet --show-progress
\
--no-parent --recursive
\
--reject "index.html*"
\
--directory-prefix=
{
DOWNLOAD_DIR
}
\
--no-host-directories
\
--execute robots=off
\
--continue
\
{
url
}
/
{
directory
}
/"""
subprocess
.
run
(
cmd
.
split
())
get_attached_files.sh
deleted
100755 → 0
View file @
d55b3739
#!/bin/bash
URL
=
"http://calcul.math.cnrs.fr"
SCRIPTDIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
DOWNLOADDIR
=
$SCRIPTDIR
/attachments/spip
mkdir
-p
$DOWNLOADDIR
# Attached files are either in ./IMG/ or in ./Documents/
for
dir
in
IMG Documents
do
DESTDIR
=
$DOWNLOADDIR
/
$dir
echo
"Downloading
$dir
to
$DESTDIR
"
rm
-rf
$DESTIR
wget
--quiet
--show-progress
\
--no-parent
--recursive
\
--reject
"index.html*"
\
--directory-prefix
=
$DOWNLOADDIR
\
--no-host-directories
\
--execute
robots
=
off
\
--continue
\
$URL
/
$dir
/
done
Write
Preview
Supports
Markdown
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