def postPolicy(uploader): command = ['--os-auth-token', uploader['Auth Token'], '--os-storage-url', uploader['StorageURL'], 'post',uploader['container']] if 'E' == uploader['encrypt']: # 加密上传 command.append(uploader['showname']+'_E') else: command.append(uploader['showname']) command.append('-m') command.append('attr_policy:' + uploader['policy']) print '>>>>>>>>>>>', command swift.opt(command)
def downloadFile(filename, authToken, storageUrl, username): print 'start to download : ', str(filename) # command = ['-A', 'http://127.0.0.1:8080/auth/v1.0', '-U', 'test:tester', '-K', 'testing','download', 'wzb'] command = ['--os-auth-token', authToken, '--os-storage-url', storageUrl, 'download', username] command.extend([str(filename), '-o', '/home/wzb/datamodel/download/' + str(filename)]) swift.opt(command) files = str(filename).split('_') print repr(files) if 'E' in files: writeFile('/home/wzb/datamodel/download/' + files[0], aes.decrypt(readFile('/home/wzb/datamodel/download/' + str(filename)))) os.remove('/home/wzb/datamodel/download/' + str(filename))
def postPolicy(uploader): command = [ '--os-auth-token', uploader['Auth Token'], '--os-storage-url', uploader['StorageURL'], 'post', uploader['container'] ] if 'E' == uploader['encrypt']: # 加密上传 command.append(uploader['showname'] + '_E') else: command.append(uploader['showname']) command.append('-m') command.append('attr_policy:' + uploader['policy']) print '>>>>>>>>>>>', command swift.opt(command)
def uploadFile(uploaders): # command = ['-A', 'http://127.0.0.1:8080/auth/v1.0', '-U', 'test:tester', '-K', 'testing','upload', 'wzb'] # filename == [realname, showname, to(容器名), enc, audit] command = ['--os-auth-token', uploaders['Auth Token'], '--os-storage-url', uploaders['StorageURL'], 'upload',uploaders['container']] if 'E' == uploaders['encrypt']: # 加密上传 writeFile(uploaders['showname']+'_E', aes.encrypt(readFile(str(uploaders['filename'])))) command.append(uploaders['showname']+'_E') swift.opt(command) os.remove(uploaders['showname']+'_E') else: writeFile(uploaders['showname'], readFile(str(uploaders['filename']))) command.append(uploaders['showname']) swift.opt(command) os.remove(uploaders['showname'])
def uploadFile(filename, authToken, storageUrl): # command = ['-A', 'http://127.0.0.1:8080/auth/v1.0', '-U', 'test:tester', '-K', 'testing','upload', 'wzb'] # filename == [realname, showname, to(容器名), enc, audit] command = ['--os-auth-token', authToken, '--os-storage-url', storageUrl, 'upload', filename[2]] # filename[2] 为容器名 if 'E' in filename: # 加密上传 writeFile(filename[1]+'_E', aes.encrypt(readFile(filename[0]))) command.append(filename[1]+'_E') swift.opt(command) os.remove(filename[1]+'_E') else: writeFile(filename[1], readFile(filename[0])) command.append(filename[1]) swift.opt(command) os.remove(filename[1])
def deleteEvent2(self): ''' 删除组内对象 ''' content = ['--os-auth-token', self.groupInfo[self.currentGroup]['Auth Token'], '--os-storage-url', self.groupInfo[self.currentGroup]['StorageURL'], 'delete', self.currentGroupContainer] for i in range(self.ui.groupTable.rowCount()): if self.ui.groupTable.item(i, 0).checkState() == QtCore.Qt.Checked: content.append(str(self.ui.groupTable.item(i, 1).text()).strip()) # 执行删除对象 swift.opt(content) self.count2 = 0 # 删除完毕,计数为0 # 删除完毕后回调更新列表 self.freshGroupTable()
def downloadFile(filename, authToken, storageUrl, container): print 'start to download : ', str(filename) # command = ['-A', 'http://127.0.0.1:8080/auth/v1.0', '-U', 'test:tester', '-K', 'testing','download', 'wzb'] command = [ '--os-auth-token', authToken, '--os-storage-url', storageUrl, 'download', container ] command.extend( [str(filename), '-o', '/home/wzb/datamodel/download/' + str(filename)]) rs = swift.opt(command) if rs == 'error': print rs, 'wuzebang' return 'forbidden' if not os.path.exists('/home/wzb/datamodel/download/' + str(filename)): return 'forbidden' files = str(filename).split('_') print repr(files) if 'E' in files: writeFile( '/home/wzb/datamodel/download/' + files[0], aes.decrypt( readFile('/home/wzb/datamodel/download/' + str(filename)))) os.remove('/home/wzb/datamodel/download/' + str(filename)) return 'succeed'
def groupContainerExpanded(self, item): ''' 展开组下resource的所有子列,即将该组所有的容器显示出来 ''' if item.parent() == None: return groupName = str(item.parent().text(0)) self.currentGroup = groupName if groupName not in self.groupInfo or 'StorageURL' not in self.groupInfo[groupName]: # 首次时,向系统获取该组内所有的容器,并更新groupInfo, 及 groupContainers command = ['-A', 'http://127.0.0.1:8080/auth/v1.0'] command.extend(['-U', groupName + ':' + self.userInfo['username'], '-K', self.userInfo['username'], 'stat', '-v']) print "command============", command result = swift.opt(command) if groupName not in self.groupInfo: self.groupInfo[groupName] = { 'StorageURL' : result['StorageURL'], 'Auth Token' : result['Auth Token']} else: self.groupInfo[groupName]['StorageURL'] = result['StorageURL'] self.groupInfo[groupName]['Auth Token'] = result['Auth Token'] ctns = [] for c in util.listContainer(result['Auth Token'], result['StorageURL']): ctns.append(c['name']) self.groupContainers[groupName] = ctns # print '------------', repr(self.groupContainers) # 打印当前组所有的容器对象 if item.child(0) == None: for g in self.groupContainers[groupName]: group1_1 = QtGui.QTreeWidgetItem(item, QtCore.QStringList(QtCore.QString(g))) group1_1.setIcon(0, QtGui.QIcon("res/container.png")) item.addChild(group1_1) if len(self.groupContainers[groupName]) > 0: # 若容器存在,则将第一个容器的所有object显示在groupTable中 self.groupTreeItemClicked(item.child(0), 0)
def login(self): username = str(self.ui.usernameEdit.text().trimmed()) password = str(self.ui.passwordEdit.text().trimmed()) if username == '' : self.ui.infoLabel.setText("input username") self.ui.usernameEdit.setFocus() return if password =='': self.ui.infoLabel.setText("Input password") self.ui.passwordEdit.setFocus() return print 'username is : ', username print 'password is : ', password command = ['-A', 'http://127.0.0.1:8080/auth/v1.0'] command.extend(['-U', username+':' + username , '-K', password, 'stat', '-v']) result = swift.opt(command) print 'The result is : ' , result if result is not None: info = {'Auth Token': result['Auth Token'], 'StorageURL':result['StorageURL'], 'groupList': result['x-user-group'], 'username' : username } self.mainWindow = MyForm() self.mainWindow.show() self. mainWindow.setUserInfo(info) self.mainWindow.freshEvent() self.close() else: self.ui.infoLabel.setText("username or password error") self.ui.passwordEdit.clear()
def deleteEvent(self): ''' 删除选中对象 ''' # content = ['-A', 'http://127.0.0.1:8080/auth/v1.0', '-U', 'test:tester', '-K', 'testing','delete', 'wzb'] content = ['--os-auth-token', self.userInfo['Auth Token'], '--os-storage-url', self.userInfo['StorageURL'], 'delete', self.containerName] for i in range(self.ui.infoTable.rowCount()): if self.ui.infoTable.item(i, 0).checkState() == QtCore.Qt.Checked: content.append(str(self.ui.infoTable.item(i, 1).text()).strip()) # 执行删除对象 swift.opt(content) self.count = 0 # 删除完毕,计数为0 self.showFrame() # 隐藏frame # 删除完毕后回调更新列表 self.freshEvent()
def uploadFile(uploaders): # command = ['-A', 'http://127.0.0.1:8080/auth/v1.0', '-U', 'test:tester', '-K', 'testing','upload', 'wzb'] # filename == [realname, showname, to(容器名), enc, audit] command = [ '--os-auth-token', uploaders['Auth Token'], '--os-storage-url', uploaders['StorageURL'], 'upload', uploaders['container'] ] if 'E' == uploaders['encrypt']: # 加密上传 writeFile(uploaders['showname'] + '_E', aes.encrypt(readFile(str(uploaders['filename'])))) command.append(uploaders['showname'] + '_E') swift.opt(command) os.remove(uploaders['showname'] + '_E') else: writeFile(uploaders['showname'], readFile(str(uploaders['filename']))) command.append(uploaders['showname']) swift.opt(command) os.remove(uploaders['showname'])
def downloadFile(filename, authToken, storageUrl, container): print 'start to download : ', str(filename) # command = ['-A', 'http://127.0.0.1:8080/auth/v1.0', '-U', 'test:tester', '-K', 'testing','download', 'wzb'] command = ['--os-auth-token', authToken, '--os-storage-url', storageUrl, 'download', container] command.extend([str(filename), '-o', '/home/wzb/datamodel/download/' + str(filename)]) rs = swift.opt(command) if rs == 'error': print rs, 'wuzebang' return 'forbidden' if not os.path.exists('/home/wzb/datamodel/download/' + str(filename)) : return 'forbidden' files = str(filename).split('_') print repr(files) if 'E' in files: writeFile('/home/wzb/datamodel/download/' + files[0], aes.decrypt(readFile('/home/wzb/datamodel/download/' + str(filename)))) os.remove('/home/wzb/datamodel/download/' + str(filename)) return 'succeed'
def userAttributeItem(self): groupName = str(self.ui.groupTree.currentItem().text(0)) self.currentGroup = groupName if groupName not in self.groupInfo or 'StorageURL' not in self.groupInfo[groupName]: # 首次时,向系统获取该组内所有的容器,并更新groupInfo, 及 groupContainers command = ['-A', 'http://127.0.0.1:8080/auth/v1.0'] command.extend(['-U', groupName + ':' + self.userInfo['username'], '-K', self.userInfo['username'], 'stat', '-v']) print "command============", command result = swift.opt(command) if groupName not in self.groupInfo: self.groupInfo[groupName] = { 'StorageURL' : result['StorageURL'], 'Auth Token' : result['Auth Token']} else: self.groupInfo[groupName]['StorageURL'] = result['StorageURL'] self.groupInfo[groupName]['Auth Token'] = result['Auth Token'] ctns = [] for c in util.listContainer(result['Auth Token'], result['StorageURL']): ctns.append(c['name']) self.groupContainers[groupName] = ctns attrs = self.groupInfo[groupName]['Auth Token'] ts = attrs.split('attr')[1] QtGui.QMessageBox.information(self, 'Attribute', unquote(ts), QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
def login(self): username = str(self.ui.usernameEdit.text().trimmed()) password = str(self.ui.passwordEdit.text().trimmed()) if username == '': self.ui.infoLabel.setText("input username") self.ui.usernameEdit.setFocus() return if password == '': self.ui.infoLabel.setText("Input password") self.ui.passwordEdit.setFocus() return print 'username is : ', username print 'password is : ', password command = ['-A', 'http://127.0.0.1:8080/auth/v1.0'] command.extend( ['-U', username + ':' + username, '-K', password, 'stat', '-v']) result = swift.opt(command) print 'The result is : ', result if result is not None: info = { 'Auth Token': result['Auth Token'], 'StorageURL': result['StorageURL'], 'groupList': result['x-user-group'], 'username': username } self.mainWindow = MyForm() self.mainWindow.show() self.mainWindow.setUserInfo(info) self.mainWindow.freshEvent() self.close() else: self.ui.infoLabel.setText("username or password error") self.ui.passwordEdit.clear()
def listContainer(authToken, storageUrl): command = [ '--os-auth-token', authToken, '--os-storage-url', storageUrl, 'list' ] return swift.opt(command)
def deleteContainer(authToken, storageUrl, container): command = [ '--os-auth-token', authToken, '--os-storage-url', storageUrl, 'delete', container ] return swift.opt(command)
def listObject(authToken, storageUrl, username): command = [ '--os-auth-token', authToken, '--os-storage-url', storageUrl, 'list', username, '--lh' ] return swift.opt(command)
def listObject(authToken, storageUrl, username): command = ['--os-auth-token', authToken, '--os-storage-url', storageUrl, 'list', username, '--lh'] return swift.opt(command)
def deleteContainer(authToken, storageUrl, container): command = ['--os-auth-token', authToken, '--os-storage-url', storageUrl, 'delete', container] return swift.opt(command)
def listContainer(authToken, storageUrl): command = ['--os-auth-token', authToken, '--os-storage-url', storageUrl, 'list'] return swift.opt(command)