turn library into list, list cache fixes
This commit is contained in:
parent
d866b4de91
commit
bf2fc29b54
8 changed files with 86 additions and 51 deletions
|
|
@ -168,7 +168,9 @@ def remove(data):
|
|||
if 'ids' in data and data['ids']:
|
||||
for i in models.Item.query.filter(models.Item.id.in_(data['ids'])):
|
||||
i.remove_file()
|
||||
state.user().clear_smart_list_cache()
|
||||
u = state.user()
|
||||
u.clear_smart_list_cache()
|
||||
u.clear_list_cache()
|
||||
return {
|
||||
'items': []
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,6 +90,12 @@ class Item(db.Model):
|
|||
state.db.session.commit()
|
||||
return item
|
||||
|
||||
def add_user(self, user):
|
||||
self.users.append(user)
|
||||
l = user.library
|
||||
l.items.append(self)
|
||||
state.db.session.add(l)
|
||||
|
||||
def json(self, keys=None):
|
||||
j = {}
|
||||
j['id'] = self.id
|
||||
|
|
@ -384,7 +390,7 @@ class Item(db.Model):
|
|||
if not u in self.users:
|
||||
t = Transfer.get_or_create(self.id)
|
||||
logger.debug('queue %s for download', self.id)
|
||||
self.users.append(u)
|
||||
self.add_user(u)
|
||||
|
||||
def save_file(self, content):
|
||||
u = state.user()
|
||||
|
|
@ -406,7 +412,7 @@ class Item(db.Model):
|
|||
with open(path, 'wb') as fd:
|
||||
fd.write(content)
|
||||
if u not in self.users:
|
||||
self.users.append(u)
|
||||
self.add_user(u)
|
||||
t = Transfer.get_or_create(self.id)
|
||||
t.progress = 1
|
||||
t.save()
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ def add_file(id, f, prefix, from_=None):
|
|||
if 'primaryid' in item.info:
|
||||
item.meta['primaryid'] = item.info.pop('primaryid')
|
||||
state.db.session.add(item)
|
||||
item.users.append(user)
|
||||
item.add_user(user)
|
||||
Changelog.record(user, 'additem', item.id, file.info)
|
||||
item.added = datetime.utcnow()
|
||||
if state.online:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue