运行Python脚本以从Amazon S3检索文件链接

时间:2012-04-21 20:54:04

标签: python django amazon-s3

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

P.S我是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()

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

提前致谢!

1 个答案:

答案 0 :(得分:0)

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

从S3读取并更新数据库对象只是相反的工作流程,但是Boto可以很容易地连接到存储桶并读取信息。

希望能帮到你。