0

我将 mp3 文件存储在 Amazon S3 中,并且我有一个 MySQL 数据库,其中包含一个名为 Songs 的表。我想运行一个 Python 脚本,通过转到 Amazon S3 来更新我的数据库,检索 mp3 文件的详细信息(例如使用 ID3),然后在我的数据库中填充 Songs 表。我正在使用 Django。有什么方法可以让我通过简单地点击“更新库”按钮来运行这个脚本,例如通过 Django 管理面板?另外,是否可以按计划运行它?

PS 我是 Django 和 Amazon S3 的新手

编辑:我写了一个小脚本,从我的本地机器中的 mp3 文件中获取元标记。这是它的代码:

import eyeD3
import sys
import urllib
import os

class Track():
    def __init__(self, audioFile):
        self.title = audioFile.getTag().getTitle()
        self.artist = audioFile.getTag().getArtist()
        self.year = audioFile.getTag().getYear()
    self.genre = audioFile.getTag().getGenre()
    self.length = audioFile.getPlayTimeString()
    self.album = audioFile.getTag().getAlbum()

def main():
    for root, dirs, files in os.walk('.'):
        for f in files:
            if eyeD3.isMp3File(f):
                audioFile = eyeD3.Mp3AudioFile(root+'/'+f)
                t = Track(audioFile)
                print t.artist," ",t.title, " ", t.length, " ", t.album, " ", t.genre    




if __name__ == '__main__':
    main()

即使 ti 在本地,我也想找到一种在 Django 上运行此脚本的方法。我希望我的观点更清楚。

提前致谢 !

4

1 回答 1

0

你需要看看Botodjango-storages来了解如何做你想做的事。django-storages 使替换 Django 的 FileStorage 机制变得非常简单,因此您可以将图像/文件直接上传到 S3 的存储桶。

从 S3 读取和更新数据库对象只是相反的工作流程,但 Boto 使连接到存储桶和读取信息变得简单。

希望对您有所帮助。

于 2012-04-22T04:39:33.697 回答