Ticket #2557: __init__.py

File __init__.py, 1.5 KB (added by dummy@…, 18 years ago)

django/contrib/media/init.py

Line 
1from django.core.servers.basehttp import app_media_dirs
2from os import listdir, sep, mkdir
3from os.path import abspath, basename, isdir
4from shutil import copy
5
6def list_media_dirs():
7 for media_dir in app_media_dirs:
8 print media_dir
9
10def 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
33def 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
Back to Top