def __init__(self): super(MainwindowUi, self).__init__() self.setAcceptDrops(True) self.factor = QApplication.desktop().screenGeometry().width() / 100 self.resize(self.factor * 80, self.factor * 50) self.setWindowTitle('SkyDrive') self.setWindowIcon(QIcon(':icons/SkyDrive.ico')) self.file_table = QTableWidget(2, 7) # 测试 for i in range(7): item = FileItem('test.txt', 1) self.file_table.setCellWidget(0, i, item) for i in range(7): item = FileItem('test.pdf', 1) self.file_table.setCellWidget(1, i, item) self.file_table.horizontalHeader().setSectionResizeMode( QHeaderView.Stretch) # self.file_table.verticalHeader().setSectionResizeMode(QHeaderView.Stretch) self.file_table.horizontalHeader().setHidden(True) self.file_table.verticalHeader().setHidden(True) main_layout = QVBoxLayout() main_layout.addWidget(self.file_table) self.setLayout(main_layout)
def down(ftp,remotedir,local,tmp): ftp.cwd(remotedir) files=ftp.list() for file in files: if not file.endswith('.zip'): continue rfile=file.split()[-1] tmpfile=os.path.join(tmp,rfile) print tmpfile ftp.download_file(tmpfile,rfile) zip=FileItem(tmpfile) zip.exactto(local) zip.delete()
def up(ftp,local,remotedir,bak,ftp_args): print 'up' ftp.cwd(remotedir) files=ftp.list() for file in files: if file.endswith('.zip'): ftp.del_file(file.split()[-1]) #清除服务器文件 print 'DEL',file ftp.close() #remote=str(uuid.uuid1()).replace('-','')+'.zip' f=FileItem(local) zippath=os.path.join(bak,'delta.zip') if not os.path.exists(zippath): try: f.zipto(zippath) print 'compress success' except Exception,e: print str(e) pass
def find_file(file_item): """ Finds the file in the database :param file_item: :return: the file_item present in the database """ conn = create_connection() with conn: cursor = conn.execute(__SQL_SELECT__, (file_item.file_name, file_item.file_path)) return [FileItem.from_db(*row) for row in cursor.fetchall()]
def testCreateNew(self): item = FileItem("NAME", "PATH", 123) self.assertEqual(item.file_name, "NAME") self.assertEqual(item.file_path, "PATH") self.assertEqual(item.file_size, 123) self.assertEqual(item.file_status, FileItem.FILE_STATUS_INIT) self.assertEqual(item.start_time, 0) self.assertEqual(item.end_time, 0) self.assertEqual(item.encoded_file_name, "") self.assertEqual(item.encoded_file_path, "") self.assertEqual(item.encoded_file_size, -1) self.assertEqual(item.codec, "")
def testCreateFromDB(self): now = datetime.now() item = FileItem.from_db("NAME", "PATH", 123, FileItem.FILE_STATUS_INIT, now, now, "ENC-NAME", "ENC-PATH", 12, "CODEC") self.assertEqual(item.file_name, "NAME") self.assertEqual(item.file_path, "PATH") self.assertEqual(item.file_size, 123) self.assertEqual(item.file_status, FileItem.FILE_STATUS_INIT) self.assertEqual(item.start_time, now) self.assertEqual(item.end_time, now) self.assertEqual(item.encoded_file_name, "ENC-NAME") self.assertEqual(item.encoded_file_path, "ENC-PATH") self.assertEqual(item.encoded_file_size, 12) self.assertEqual(item.codec, "CODEC")
def testSetComplete(self): item = FileItem("NAME", "PATH", 123) self.assertEqual(item.file_name, "NAME") self.assertEqual(item.file_path, "PATH") self.assertEqual(item.file_size, 123) self.assertEqual(item.file_status, FileItem.FILE_STATUS_INIT) self.assertEqual(item.start_time, 0) self.assertEqual(item.end_time, 0) self.assertEqual(item.encoded_file_name, "") self.assertEqual(item.encoded_file_path, "") self.assertEqual(item.encoded_file_size, -1) self.assertEqual(item.codec, "") item.set_complete() self.assertEqual(item.file_name, "NAME") self.assertEqual(item.file_path, "PATH") self.assertEqual(item.file_size, 123) self.assertEqual(item.file_status, FileItem.FILE_STATUS_COMPLETE) self.assertEqual(item.start_time, 0) self.assertTrue(item.end_time.second > 0) self.assertEqual(item.encoded_file_name, "") self.assertEqual(item.encoded_file_path, "") self.assertEqual(item.encoded_file_size, -1) self.assertEqual(item.codec, "")
def testSetStarted(self): item = FileItem("NAME", "PATH", 123) self.assertEqual(item.file_name, "NAME") self.assertEqual(item.file_path, "PATH") self.assertEqual(item.file_size, 123) self.assertEqual(item.file_status, FileItem.FILE_STATUS_INIT) self.assertEqual(item.start_time, 0) self.assertEqual(item.end_time, 0) self.assertEqual(item.encoded_file_name, "") self.assertEqual(item.encoded_file_path, "") self.assertEqual(item.encoded_file_size, -1) self.assertEqual(item.codec, "") item.set_started("OP-FP", "OP-FN", "OP-CODEC") self.assertEqual(item.file_name, "NAME") self.assertEqual(item.file_path, "PATH") self.assertEqual(item.file_size, 123) self.assertEqual(item.file_status, FileItem.FILE_STATUS_STARTED) self.assertTrue(item.start_time.second > 0) self.assertEqual(item.end_time, 0) self.assertEqual(item.encoded_file_name, "OP-FN") self.assertEqual(item.encoded_file_path, "OP-FP") self.assertEqual(item.encoded_file_size, -1) self.assertEqual(item.codec, "OP-CODEC")
def _add_supported_file_to_model(file_name, _path, supported_extensions, model, rejected_files): #suffix, extension = path.splitext(file_name) #if supported_extensions.count(extension) > 0: entry = FileItem(file_name, _path, path.getsize(path.join(_path, file_name))) model.append_row(entry)
def test_connection(): item = FileItem("NAME", "PATH", 123) # insert_file(item) # item.set_started("OP FILE PATH", "OP FILE NAME", "PASS THRU") print find_file(item)