def beautify(string):
return os.path.splitext(string)[0].replace('_',' ')
+def remove_dir_spaces(root_dir):
+ for resource in os.listdir(root_dir):
+ path = os.path.join(root_dir, resource)
+ if os.path.isdir(path):
+ new_path = path.replace(' ', '_')
+ if new_path != path:
+ os.rename(path, new_path)
+ remove_dir_spaces(new_path)
+
def trim_list(list):
new = []
for item in list:
def handle(self, *args, **options):
root_dir = args[-1]
+ remove_dir_spaces(root_dir)
for root, dirs, files in os.walk(root_dir):
for media_file in files:
+ path = os.path.join(root, media_file)
+
+ if ' ' in media_file:
+ new_media_file = media_file.replace(' ', '_')
+ new_media_path = os.path.join(root, new_media_file)
+ os.rename(path, new_media_path)
+ media_file = new_media_file
+ print media_file
+
media_name = os.path.splitext(media_file)[0]
media_ext = os.path.splitext(media_file)[1][1:]
if media_ext and media_ext in self.media_formats and media_name[0] != '.':
root_list = root.split(os.sep)
-
media_path = os.sep.join(root_list[-4:]) + os.sep + media_file
- print media_path
+
item_name = root_list[-1]
collection_name = root_list[-2]
corpus_name = root_list[-3]
if lines:
item.track = lines[2]
- item.title = lines[3]
+ item.title = lines[3][:255]
item.save()
for related_file in os.listdir(root):
print related_path
if related_ext in self.image_formats:
- related, c = MediaItemRelated.objects.get_or_create(item=item, file=unicode(related_path))
+ related, c = MediaItemRelated.objects.get_or_create(item=item, file=related_path)
if c:
if lines:
related.title = lines[4]
{% for item in items %}
-<table>
- <tr>
- <td>
+<p>
+ <span style="font-size:0.8em;">
+ <b>{{ item.old_code }}</b> : {{ item.title }} (p. {{ item.track }})
+ </span>
+ <br>
{% for image in item.related.all %}
{% if 'image' in image.mime_type %}
<div class="item-image">
- <img width="100" src="{{ image.file }}"/>
+ <img src="{{ image.file }}"/>
</div>
{% endif %}
{% endfor %}
- </td>
- <td width="75">
- <span style="font-size:0.8em;">
- <b>{{ item.old_code }}</b> : {{ item.title }} (p. {{ item.track }})
- </span>
- </td>
- </tr>
-</table>
-
+<br>
<div class="item-audio">
<audio src="{{ item.file }}" controls="controls"></audio>
</div>
+</p>
+
{% endfor %}
for collection in corpus.children.all():
items = {}
for item in collection.items.all():
- id = item.old_code.split(' ')
+ id = item.old_code.split('_')
if len(id) > 1:
id = id[1]
items[item] = int(id.split('.')[1])
if item.file:
audio = open(item.file.path, 'r')
filename = str(item.file)
- epub_item = epub.EpubItem(file_name=cleanup_path(str(item.file)), content=audio.read())
+ epub_item = epub.EpubItem(file_name=str(item.file), content=audio.read())
book.add_item(epub_item)
for related in item.related.all():
if 'image' in related.mime_type:
image = open(related.file.path, 'r')
- epub_item = epub.EpubItem(file_name=cleanup_path((str(related.file)), content=image.read())
+ epub_item = epub.EpubItem(file_name=str(related.file), content=image.read())
book.add_item(epub_item)
context = {'collection': collection, 'site': site, 'items': items}
c = epub.EpubHtml(title=collection.title, file_name=collection.code + '.xhtml', lang='fr')