| 1 | from django.core.servers.basehttp import app_media_dirs
|
|---|
| 2 | from os import listdir, sep, mkdir
|
|---|
| 3 | from os.path import abspath, basename, isdir
|
|---|
| 4 | from shutil import copy
|
|---|
| 5 |
|
|---|
| 6 | def list_media_dirs():
|
|---|
| 7 | for media_dir in app_media_dirs:
|
|---|
| 8 | print media_dir
|
|---|
| 9 |
|
|---|
| 10 | def sync_media_root():
|
|---|
| 11 | from django.conf import settings
|
|---|
| 12 | media_file_list = []
|
|---|
| 13 | media_dir_list = []
|
|---|
| 14 | for media_dir in app_media_dirs:
|
|---|
| 15 | files, dirs = tree(media_dir)
|
|---|
| 16 | media_file_list = media_file_list + files
|
|---|
| 17 | media_dir_list = media_dir_list + dirs
|
|---|
| 18 | for dir in media_dir_list:
|
|---|
| 19 | idx = dir.index('media')
|
|---|
| 20 | rel_media_path = dir[idx+6:]
|
|---|
| 21 | new_media_path = settings.MEDIA_ROOT + rel_media_path
|
|---|
| 22 | if not isdir(new_media_path):
|
|---|
| 23 | print "Creating %s in MEDIA_ROOT" % rel_media_path
|
|---|
| 24 | mkdir(new_media_path)
|
|---|
| 25 | for file in media_file_list:
|
|---|
| 26 | idx = file.index('media')
|
|---|
| 27 | rel_media_path = file[idx+6:]
|
|---|
| 28 | new_media_path = settings.MEDIA_ROOT + rel_media_path
|
|---|
| 29 | print "Syncing %s" % rel_media_path
|
|---|
| 30 | copy(file, new_media_path)
|
|---|
| 31 |
|
|---|
| 32 |
|
|---|
| 33 | def tree(dir):
|
|---|
| 34 | files_list = []
|
|---|
| 35 | dirs_list = []
|
|---|
| 36 | files = []
|
|---|
| 37 | files = listdir(dir)
|
|---|
| 38 | count = 0
|
|---|
| 39 | for file in files:
|
|---|
| 40 | if file == '.svn':
|
|---|
| 41 | continue
|
|---|
| 42 | path = dir + sep + file
|
|---|
| 43 | if isdir(path):
|
|---|
| 44 | dirs_list.append(abspath(path))
|
|---|
| 45 | files, dirs = tree(path)
|
|---|
| 46 | files_list = files_list + files
|
|---|
| 47 | dirs_list = dirs_list + dirs
|
|---|
| 48 | else:
|
|---|
| 49 | files_list.append(abspath(path))
|
|---|
| 50 | return files_list, dirs_list
|
|---|