Skip to content

Commit

Permalink
bug fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Binux committed Nov 18, 2011
1 parent b54ca8e commit 2cf06b3
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 15 deletions.
16 changes: 7 additions & 9 deletions db/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ def process_result_value(self, value, dialect):
class Task(Base, MySQLSettings):
__tablename__ = "task"

id = Column(Integer(32), primary_key=True) #same as xunlei task id
id = Column(BigInteger, primary_key=True) #same as xunlei task id
createtime = Column(DateTime, default=func.now(), index=True)
updatetime = Column(DateTime, default=func.now(), server_onupdate=text("NOW()"))
create_uid = Column(Integer(32))
create_uid = Column(BigInteger)
#creator = Column(String(1024))
tags = Column(Set, default=[])

Expand All @@ -48,16 +48,16 @@ class Task(Base, MySQLSettings):
task_type = Column(String(56))
status = Column(String(56), index=True)
process = Column(Float)
size = Column(Integer(32))
size = Column(BigInteger)
format = Column(String(56))

files = relationship("File", cascade="merge")
files = relationship("File", cascade="merge", backref=backref("task", cascade="merge"))

class File(Base, MySQLSettings):
__tablename__ = "file"

id = Column(Integer(32), primary_key=True) #same as xunlei task id
task_id = Column(Integer(32), ForeignKey("task.id"))
id = Column(BigInteger, primary_key=True) #same as xunlei task id
task_id = Column(BigInteger, ForeignKey("task.id"))
createtime = Column(DateTime, default=func.now())
updatetime = Column(DateTime, default=func.now(), server_onupdate=text("NOW()"))

Expand All @@ -68,7 +68,5 @@ class File(Base, MySQLSettings):
dirtitle = Column(String(1024), default="") #
status = Column(String(56))
process = Column(Float)
size = Column(Integer(32))
size = Column(BigInteger)
format = Column(String(56))

task = relationship("Task", cascade="merge")
12 changes: 7 additions & 5 deletions libs/db_task_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,15 +90,17 @@ def _update_tasks(self, tasks):
if res['cid'] and res['lixian_url']:
task.cid = res['cid']
task.lixian_url = res['lixian_url']
self._update_file_list(task)

task = self.session.merge(task)
self._update_file_list(task)
self.session.commit()

@sqlalchemy_rollback
def _update_task_list(self, limit=10, st=0, ignore=False):
tasks = self.xunlei.get_task_list(limit, st)
for task in tasks[::-1]:
self.last_task_id = task['task_id']
if task['status'] == "finished":
self.last_task_id = task['task_id']
db_task_status = self.session.query(db.Task.status).filter(
db.Task.id == task['task_id']).first()
if db_task_status and db_task_status[0] == "finished":
Expand All @@ -117,8 +119,8 @@ def _update_task_list(self, limit=10, st=0, ignore=False):
db_task.size = task['size']
db_task.format = task['format']

self._update_file_list(db_task)
db_task = self.session.merge(db_task)
self._update_file_list(db_task)
self.session.commit()

@sqlalchemy_rollback
Expand All @@ -143,7 +145,7 @@ def _update_file_list(self, task):
for file in files:
db_file = db.File()
db_file.id = file['task_id']
#db_file.task_id = task.id
db_file.task_id = task.id
db_file.cid = file['cid']
db_file.url = file['url']
db_file.lixian_url = fix_lixian_url(file['lixian_url'])
Expand All @@ -154,7 +156,7 @@ def _update_file_list(self, task):
db_file.size = file['size']
db_file.format = file['format']

task.files.append(db_file)
self.session.merge(db_file)

@sqlalchemy_rollback
def get_task(self, task_id):
Expand Down
2 changes: 1 addition & 1 deletion libs/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def format_size(request, size):
"failed": u"下载失败",
"paused": u"暂停中",
}
def format_download_status(status):
def format_download_status(request, status):
return d_status.get(status, u"未知状态")

def determin_url_type(url):
Expand Down

0 comments on commit 2cf06b3

Please sign in to comment.