本文整理汇总了Python中models.Album.create方法的典型用法代码示例。如果您正苦于以下问题:Python Album.create方法的具体用法?Python Album.create怎么用?Python Album.create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类models.Album
的用法示例。
在下文中一共展示了Album.create方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: sync_to
# 需要导入模块: from models import Album [as 别名]
# 或者: from models.Album import create [as 别名]
def sync_to(self, sync_cls):
objs = []
# traverse the dir
for dirpath, folders, files in os.walk(self.folder):
for fname in files:
fpath = os.path.join(dirpath, fname)
# get album, if have
rel = os.path.relpath(dirpath, self.folder)
if rel != '.': # has sub dir
try:
album = Album.get(name=rel)
except Album.DoesNotExist:
album = Album.create(name=rel, folder=rel)
else:
album = None
# TODO: should a file extension filter here?
md5 = hashlib.md5(open(fpath).read()).hexdigest()
try: # if file has been exists before
local = Local.get(md5=md5)
opath = local.path.encode('utf8')
if opath != fpath:
logging.debug('%s path change: %s --> %s' % (local, local.path, fpath))
# file was moved, rename filename or folder
local.title, ext = os.path.splitext(fname)
local.album = album
#local.fpath = fpath
local.last_modified = datetime.datetime.now()
local.save()
objs.append(local) # objs: path modified.
except Local.DoesNotExist: # new file
try:
# file content modified
local = Local.get(path=fpath)
logging.debug('%s modified, path: %s' % (local, fpath))
except Local.DoesNotExist:
# brand new file
logging.debug('new file %s' % fpath)
local = Local()
local.title, ext = os.path.splitext(fname)
local.album = album
local.path = fpath
local.md5 = md5
local.last_modified = datetime.datetime.now()
local.save()
objs.append(local)
# for those have not been upload
for l in Local.select():
sets = getattr(l, sync_cls.model.local.related_name)
if sets.count() == 0 and l not in objs:
objs.append(l)
# pass objs that needs update to sync class
logging.info('local: sync to %s, count %d' % (sync_cls, len(objs)))
sync_cls.sync_from_local(objs)
示例2: addReleases
# 需要导入模块: from models import Album [as 别名]
# 或者: from models.Album import create [as 别名]
def addReleases(artist_id, update_artist = True):
artist_record = Artist.get(id=artist_id)
musicbrainz_artist = musicbrainz.getBestArtistMatch(artist_record.name)
release_ids = []
for release in musicbrainz_artist.getReleases():
release_ids.append(utils.extractUuid(release.id))
# These release results do not contain all the information, we must re-query for that info...
for rid in release_ids:
release = musicbrainz.getRelease(rid)
if not release: continue
release_group_id = utils.extractUuid(release.getReleaseGroup().id)
try:
release_group_tracked = Album.get(release_group_id=release_group_id)
except peewee.DoesNotExist:
release_group_tracked = None
if release_group_tracked: continue
release_record = Album.create(
musicbrainz_id = rid,
asin = release.getAsin(),
release_group_id = release_group_id,
artist_id = artist_id,
name = release.getTitle(),
type = release.getType(),
released_on = release.getEarliestReleaseDate(),
state = 'wanted')
track_number = 1
for track in release.getTracks():
Track.create(
album_id = release_record.id,
number = track_number,
title = track.getTitle(),
length = track.getDuration(),
state = 'wanted')
track_number += 1
# Rescan the Music Library after adding new releases to see if the user has
# them or not. Will not run if explicitly told not to by the caller.
if(update_artist): ThreadPool.put(updateArtist, {'artist_id': artist_id})
示例3: create_one_album
# 需要导入模块: from models import Album [as 别名]
# 或者: from models.Album import create [as 别名]
def create_one_album(self, album_title = 'Album'):
pictures = Picture.objects.all()
album = Album.create(album_title, 'First Page', self.pick_a_random_profile())
page_count = random.randrange(5,101) # 5 <= page_count <= 100
for i in xrange(1, page_count):
text = 'Page ' + i.__str__()
page = Page.create(text)
picture_count = random.randrange(1,5) # 1 <= picture_count <= 4
for j in xrange(1, picture_count):
# pick a random picture from database and add it to a page
random_index = random.randrange(0, pictures.count())
random_picture = pictures[random_index]
page.add_picture(random_picture, j.__str__())
# Page ready to be added to album
album.add_page(page)
return self