403Webshell
Server IP : 123.56.80.60  /  Your IP : 216.73.216.78
Web Server : Apache/2.4.54 (Win32) OpenSSL/1.1.1s PHP/7.4.33 mod_fcgid/2.3.10-dev
System : Windows NT iZhx3sob14hnz7Z 10.0 build 14393 (Windows Server 2016) i586
User : SYSTEM ( 0)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Program Files/python/Lib/site-packages/win32comext/shell/demos/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Program Files/python/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py
# ITransferAdviseSink implementation template

import pythoncom
from win32com.shell import shell, shellcon
from win32com.server.policy import DesignatedWrapPolicy

tsf_flags = list((k,v) for k,v in list(shellcon.__dict__.items()) if k.startswith('TSF_'))
def decode_flags(flags):
		if flags == 0:
			return 'TSF_NORMAL'
		flag_txt = ''
		for k,v in tsf_flags:
			if flags & v:
				if flag_txt:
					flag_txt = flag_txt + '|' + k
				else:
					flag_txt = k
		return flag_txt

TRANSFER_ADVISE_STATES = {}
for k,v in list(shellcon.__dict__.items()):
	if k.startswith('TS_'):
		TRANSFER_ADVISE_STATES[v] = k

def decode_flags(flags):
		if flags == 0:
			return 'TSF_NORMAL'
		flag_txt = ''
		for k,v in tsf_flags:
			if flags & v:
				if flag_txt:
					flag_txt = flag_txt + '|' + k
				else:
					flag_txt = k
		return flag_txt
		
class TransferAdviseSink(DesignatedWrapPolicy):
	_com_interfaces_ = [shell.IID_ITransferAdviseSink]
	_public_methods_ = [
		"UpdateProgress", "UpdateTransferState", "ConfirmOverwrite",
		"ConfirmEncryptionLoss", "FileFailure", "SubStreamFailure", "PropertyFailure"
		]

	def __init__(self):
		self._wrap_(self)

	def UpdateProgress(self, SizeCurrent, SizeTotal, FilesCurrent, FilesTotal, FoldersCurrent, FoldersTotal):
		print ('UpdateProgress - processed so far:')
		print(('\t %s out of %s bytes' %(SizeCurrent, SizeTotal)))
		print(('\t %s out of %s files' %(FilesCurrent, FilesTotal)))
		print(('\t %s out of %s folders' %(FoldersCurrent, FoldersTotal)))

	def	UpdateTransferState(self, State):
		print(('Current state: ', TRANSFER_ADVISE_STATES.get(State, '??? Unknown state %s ???' %State)))

	def	ConfirmOverwrite(self, Source, DestParent , Name):
		print(('ConfirmOverwrite: ', Source.GetDisplayName(shellcon.SHGDN_FORPARSING),
			DestParent.GetDisplayName(shellcon.SHGDN_FORPARSING),
			Name))

	def	ConfirmEncryptionLoss(self, Source):
		print(('ConfirmEncryptionLoss:', Source.GetDisplayName(shellcon.SHGDN_FORPARSING)))
		
	def	FileFailure(self, Item, ItemName , Error):
		print(('FileFailure:', Item.GetDisplayName(shellcon.SHGDN_FORPARSING), ItemName))
		
	def	SubStreamFailure(self, Item, StreamName , Error):
		print ('SubStreamFailure:\n')
		
	def	PropertyFailure(self, Item, key , Error):
		print ('PropertyFailure:\n')

def CreateSink():
    return pythoncom.WrapObject(TransferAdviseSink(), shell.IID_ITransferAdviseSink, shell.IID_ITransferAdviseSink)

Youez - 2016 - github.com/yon3zu
LinuXploit