فهرست منبع

Cognos-Webscraper ausgelagert in Unterordner. Noch nicht optimal

Robert Bedner 4 سال پیش
والد
کامیت
7997a6d937

+ 84 - 0
C7/PWRPLAY.REG

@@ -0,0 +1,84 @@
+REGEDIT
+; This .REG file may be used by your SETUP program.
+;   If a SETUP program is not available, the entries below will be
+;   registered in your InitInstance automatically with a call to
+;   CWinApp::RegisterShellFileTypes and COleObjectFactory::UpdateRegistryAll.
+
+
+HKEY_CLASSES_ROOT\.MDC = CognosPowerPlay.Cube.$(TEMP_RENDITION_SHORT_NAME)
+HKEY_CLASSES_ROOT\.PPR = CognosPowerPlay.Report.$(TEMP_RENDITION_SHORT_NAME)
+HKEY_CLASSES_ROOT\.PPX = CognosPowerPlay.PortableReport.$(TEMP_RENDITION_SHORT_NAME)
+    
+; NB: the application is optional
+;     (it defaults to the app name in "command")
+HKEY_CLASSES_ROOT\CognosPowerPlay.Application = Cognos PowerPlay Application
+HKEY_CLASSES_ROOT\CognosPowerPlay.Application\CurVer = CognosPowerPlay.Application.$(TEMP_RENDITION_SHORT_NAME)
+HKEY_CLASSES_ROOT\CognosPowerPlay.Application\CLSID = {E39F4EA7-8ADC-11D3-80B6-0010A4F38E56}
+
+HKEY_CLASSES_ROOT\CognosPowerPlay.Application.$(TEMP_RENDITION_SHORT_NAME) = Cognos PowerPlay Application
+HKEY_CLASSES_ROOT\CognosPowerPlay.Application.$(TEMP_RENDITION_SHORT_NAME)\CLSID = {E39F4EA7-8ADC-11D3-80B6-0010A4F38E56}
+
+HKEY_CLASSES_ROOT\CognosPowerPlay.Cube = Cognos PowerPlay Cube
+HKEY_CLASSES_ROOT\CognosPowerPlay.Cube\CLSID = {E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}
+HKEY_CLASSES_ROOT\CognosPowerPlay.Cube\CurVer = CognosPowerPlay.Cube.$(TEMP_RENDITION_SHORT_NAME)
+
+HKEY_CLASSES_ROOT\CognosPowerPlay.Cube.$(TEMP_RENDITION_SHORT_NAME) = Cognos PowerPlay Cube
+HKEY_CLASSES_ROOT\CognosPowerPlay.Cube.$(TEMP_RENDITION_SHORT_NAME)\DefaultIcon = $(THISTARGET)\pwrplay.exe,1
+HKEY_CLASSES_ROOT\CognosPowerPlay.Cube.$(TEMP_RENDITION_SHORT_NAME)\shell\open\command = "$(THISTARGET)\pwrplay.exe" "%1"
+
+HKEY_CLASSES_ROOT\CognosPowerPlay.PortableReport = Cognos PowerPlay Portable Report
+HKEY_CLASSES_ROOT\CognosPowerPlay.PortableReport\CLSID = {E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}
+HKEY_CLASSES_ROOT\CognosPowerPlay.PortableReport\CurVer = CognosPowerPlay.PortableReport.$(TEMP_RENDITION_SHORT_NAME)
+
+HKEY_CLASSES_ROOT\CognosPowerPlay.PortableReport.$(TEMP_RENDITION_SHORT_NAME) = Cognos PowerPlay Portable Report
+HKEY_CLASSES_ROOT\CognosPowerPlay.PortableReport.$(TEMP_RENDITION_SHORT_NAME)\shell\open\command = "$(THISTARGET)\pwrplay.exe" "%1"
+HKEY_CLASSES_ROOT\CognosPowerPlay.PortableReport.$(TEMP_RENDITION_SHORT_NAME)\protocol\StdFileEditing\server = pwrplay.exe
+HKEY_CLASSES_ROOT\CognosPowerPlay.PortableReport.$(TEMP_RENDITION_SHORT_NAME)\protocol\StdFileEditing\verb\0 = &Edit
+HKEY_CLASSES_ROOT\CognosPowerPlay.PortableReport.$(TEMP_RENDITION_SHORT_NAME)\Insertable =
+HKEY_CLASSES_ROOT\CognosPowerPlay.PortableReport.$(TEMP_RENDITION_SHORT_NAME)\CLSID = {E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}
+
+HKEY_CLASSES_ROOT\CognosPowerPlay.Report = Cognos PowerPlay Report
+HKEY_CLASSES_ROOT\CognosPowerPlay.Report\CLSID = {E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}
+HKEY_CLASSES_ROOT\CognosPowerPlay.Report\CurVer = CognosPowerPlay.Report.$(TEMP_RENDITION_SHORT_NAME)
+
+HKEY_CLASSES_ROOT\CognosPowerPlay.Report.$(TEMP_RENDITION_SHORT_NAME) = Cognos PowerPlay Report
+HKEY_CLASSES_ROOT\CognosPowerPlay.Report.$(TEMP_RENDITION_SHORT_NAME)\shell\open\command = "$(THISTARGET)\pwrplay.exe" "%1"
+HKEY_CLASSES_ROOT\CognosPowerPlay.Report.$(TEMP_RENDITION_SHORT_NAME)\protocol\StdFileEditing\server = pwrplay.exe
+HKEY_CLASSES_ROOT\CognosPowerPlay.Report.$(TEMP_RENDITION_SHORT_NAME)\protocol\StdFileEditing\verb\0 = &Edit
+HKEY_CLASSES_ROOT\CognosPowerPlay.Report.$(TEMP_RENDITION_SHORT_NAME)\Insertable =
+HKEY_CLASSES_ROOT\CognosPowerPlay.Report.$(TEMP_RENDITION_SHORT_NAME)\CLSID = {E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}
+
+HKEY_CLASSES_ROOT\CLSID\{E39F4EA7-8ADC-11D3-80B6-0010A4F38E56} = Cognos PowerPlay Application
+HKEY_CLASSES_ROOT\CLSID\{E39F4EA7-8ADC-11D3-80B6-0010A4F38E56}\ProgID = CognosPowerPlay.Application.$(TEMP_RENDITION_SHORT_NAME)
+HKEY_CLASSES_ROOT\CLSID\{E39F4EA7-8ADC-11D3-80B6-0010A4F38E56}\VersionIndependantProgID = CognosPowerPlay.Application
+HKEY_CLASSES_ROOT\CLSID\{E39F4EA7-8ADC-11D3-80B6-0010A4F38E56}\InprocHandler32 = ole32.dll
+HKEY_CLASSES_ROOT\CLSID\{E39F4EA7-8ADC-11D3-80B6-0010A4F38E56}\LocalServer32 = $(THISTARGET)\pwrplay.exe
+
+HKEY_CLASSES_ROOT\CLSID\{E39F4EAA-8ADC-11D3-80B6-0010A4F38E56} = Cognos PowerPlay Report
+HKEY_CLASSES_ROOT\CLSID\{E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}\DefaultIcon = $(THISTARGET)\pwrplay.exe,1
+HKEY_CLASSES_ROOT\CLSID\{E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}\LocalServer32 = $(THISTARGET)\pwrplay.exe
+HKEY_CLASSES_ROOT\CLSID\{E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}\ProgID = CognosPowerPlay.Report.$(TEMP_RENDITION_SHORT_NAME)
+HKEY_CLASSES_ROOT\CLSID\{E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}\VersionIndependantProgID = CognosPowerPlay.Report
+HKEY_CLASSES_ROOT\CLSID\{E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}\MiscStatus = 32
+HKEY_CLASSES_ROOT\CLSID\{E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}\AuxUserType\3 = Cognos PowerPlay
+HKEY_CLASSES_ROOT\CLSID\{E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}\AuxUserType\2 = Cognos PowerPlay Report
+HKEY_CLASSES_ROOT\CLSID\{E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}\Insertable = 
+HKEY_CLASSES_ROOT\CLSID\{E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}\verb\1 = &Open,0,2
+HKEY_CLASSES_ROOT\CLSID\{E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}\verb\0 = &Edit,0,2
+HKEY_CLASSES_ROOT\CLSID\{E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}\InprocHandler32 = ole32.dll
+
+;The root for all the entries generated by the exe at run time
+HKEY_CURRENT_USER\Software\Cognos\$(TEMP_RENDITION_SHORT_NAME)\PowerPlay =
+
+
+; support for old style PROGID - PowerPlay.Application and PowerPlay.Report
+
+HKEY_CLASSES_ROOT\PowerPlay.Application\CurVer = CognosPowerPlay.Application.$(TEMP_RENDITION_SHORT_NAME)
+HKEY_CLASSES_ROOT\PowerPlay.Application\CLSID = {E39F4EA7-8ADC-11D3-80B6-0010A4F38E56}
+
+HKEY_CLASSES_ROOT\PowerPlay.Report\CurVer = CognosPowerPlay.Report.$(TEMP_RENDITION_SHORT_NAME)
+HKEY_CLASSES_ROOT\PowerPlay.Report\CLSID = {E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}
+HKEY_CLASSES_ROOT\PowerPlay.Report\NotInsertable =
+
+HKEY_CLASSES_ROOT\CLSID\{8570BC30-1DC6-11CE-987C-00401C60248D}\AutoConvertTo = {E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}
+HKEY_CLASSES_ROOT\CLSID\{8570BC30-1DC6-11CE-987C-00401C60248D}\TreatAs = {E39F4EAA-8ADC-11D3-80B6-0010A4F38E56}

+ 20 - 0
C7/autoexe.reg

@@ -0,0 +1,20 @@
+REGEDIT
+; This .REG file may be used by your SETUP program.
+;   If a SETUP program is not available, the entries below will be
+;   registered in your InitInstance automatically with a call to
+;   CWinApp::RegisterShellFileTypes and COleObjectFactory::UpdateRegistryAll.
+
+
+HKEY_CLASSES_ROOT\CognosTransformer.Application = Cognos Transformer Application
+HKEY_CLASSES_ROOT\CognosTransformer.Application\CLSID = {09919046-0EFE-11D3-8B16-0008C7B242DB}
+HKEY_CLASSES_ROOT\CognosTransformer.Application\CurVer = CognosTransformer.Application.cer5
+
+HKEY_CLASSES_ROOT\CognosTransformer.Application.cer5 = Cognos Transformer Application cer5
+HKEY_CLASSES_ROOT\CognosTransformer.Application.cer5\CLSID = {09919046-0EFE-11D3-8B16-0008C7B242DB}
+
+HKEY_CLASSES_ROOT\CLSID\{09919046-0EFE-11D3-8B16-0008C7B242DB} = Cognos Transformer Application
+HKEY_CLASSES_ROOT\CLSID\{09919046-0EFE-11D3-8B16-0008C7B242DB}\LocalServer32 = C:\Program Files (x86)\Cognos\cer5\bin\AutoExe.exe
+HKEY_CLASSES_ROOT\CLSID\{09919046-0EFE-11D3-8B16-0008C7B242DB}\InprocHandler32 = ole32.dll
+HKEY_CLASSES_ROOT\CLSID\{09919046-0EFE-11D3-8B16-0008C7B242DB}\ProgId = CognosTransformer.Application.cer5
+HKEY_CLASSES_ROOT\CLSID\{09919046-0EFE-11D3-8B16-0008C7B242DB}\VersionIndependentProgId = CognosTransformer.Application
+

+ 20 - 0
C7/subst_autoexe.reg

@@ -0,0 +1,20 @@
+REGEDIT
+; This .REG file may be used by your SETUP program.
+;   If a SETUP program is not available, the entries below will be
+;   registered in your InitInstance automatically with a call to
+;   CWinApp::RegisterShellFileTypes and COleObjectFactory::UpdateRegistryAll.
+
+
+HKEY_CLASSES_ROOT\CognosTransformer.Application = Cognos Transformer Application
+HKEY_CLASSES_ROOT\CognosTransformer.Application\CLSID = {09919046-0EFE-11D3-8B16-0008C7B242DB}
+HKEY_CLASSES_ROOT\CognosTransformer.Application\CurVer = CognosTransformer.Application.cer5
+
+HKEY_CLASSES_ROOT\CognosTransformer.Application.cer5 = Cognos Transformer Application cer5
+HKEY_CLASSES_ROOT\CognosTransformer.Application.cer5\CLSID = {09919046-0EFE-11D3-8B16-0008C7B242DB}
+
+HKEY_CLASSES_ROOT\CLSID\{09919046-0EFE-11D3-8B16-0008C7B242DB} = Cognos Transformer Application
+HKEY_CLASSES_ROOT\CLSID\{09919046-0EFE-11D3-8B16-0008C7B242DB}\LocalServer32 = C:\Program Files (x86)\Cognos\cer5\bin\AutoExe.exe
+HKEY_CLASSES_ROOT\CLSID\{09919046-0EFE-11D3-8B16-0008C7B242DB}\InprocHandler32 = ole32.dll
+HKEY_CLASSES_ROOT\CLSID\{09919046-0EFE-11D3-8B16-0008C7B242DB}\ProgId = CognosTransformer.Application.cer5
+HKEY_CLASSES_ROOT\CLSID\{09919046-0EFE-11D3-8B16-0008C7B242DB}\VersionIndependentProgId = CognosTransformer.Application
+

+ 38 - 0
C7/subst_trnsfrmr.reg

@@ -0,0 +1,38 @@
+REGEDIT
+; $Header: $
+;
+; This .REG file may be used by your SETUP program.
+;   If a SETUP program is not available, the entries below will be
+;   registered in your InitInstance automatically with a call to
+;   CWinApp::RegisterShellFileTypes and COleObjectFactory::UpdateRegistryAll.
+
+
+HKEY_CLASSES_ROOT\Applications\TRNSFRMR.EXE
+HKEY_CLASSES_ROOT\Applications\TRNSFRMR.EXE\Shell\Open\Command = C:\Program Files (x86)\Cognos\cer5\bin\trnsfrmr.exe "%1"
+
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source.cer5 = Cognos Transformer Model (Source)
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source.cer5\shell\open\command = C:\Program Files (x86)\Cognos\cer5\bin\TRNSFRMR.EXE "%1"
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source.cer5\DefaultIcon = C:\Program Files (x86)\Cognos\cer5\bin\TRNSFRMR.EXE,-128
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source.cer5\protocol\StdFileEditing\server = TRNSFRMR.EXE
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source.cer5\protocol\StdFileEditing\Verb\0 = &Edit
+
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source = Cognos Transformer Model (Source)
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source\CurVer = CognosTransformer.Model.Source.cer5
+
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled.cer5 = Cognos Transformer Model (Compiled)
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled.cer5\shell\open\command = C:\Program Files (x86)\Cognos\cer5\bin\TRNSFRMR.EXE "%1"
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled.cer5\DefaultIcon = C:\Program Files (x86)\Cognos\cer5\bin\TRNSFRMR.EXE,-128
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled.cer5\protocol\StdFileEditing\server = TRNSFRMR.EXE
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled.cer5\protocol\StdFileEditing\Verb\0 = &Edit
+
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled = Cognos Transformer Model (Compiled)
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled\CurVer = CognosTransformer.Model.Compiled.cer5
+
+HKEY_CLASSES_ROOT\.mdl = CognosTransformer.Model.Source.cer5
+HKEY_CLASSES_ROOT\.pyi = CognosTransformer.Model.Compiled.cer5
+
+HKEY_CURRENT_USER\software\microsoft\windows\currentversion\explorer\fileexts\.mdl\OpenWithList
+"a"="trnsfrmr.exe"
+
+HKEY_CURRENT_USER\software\microsoft\windows\currentversion\explorer\fileexts\.pyi\OpenWithList
+"a"="trnsfrmr.exe"

+ 38 - 0
C7/trnsfrmr.reg

@@ -0,0 +1,38 @@
+REGEDIT
+; $Header: $
+;
+; This .REG file may be used by your SETUP program.
+;   If a SETUP program is not available, the entries below will be
+;   registered in your InitInstance automatically with a call to
+;   CWinApp::RegisterShellFileTypes and COleObjectFactory::UpdateRegistryAll.
+
+
+HKEY_CLASSES_ROOT\Applications\TRNSFRMR.EXE
+HKEY_CLASSES_ROOT\Applications\TRNSFRMR.EXE\Shell\Open\Command = C:\Program Files (x86)\Cognos\cer5\bin\trnsfrmr.exe "%1"
+
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source.cer5 = Cognos Transformer Model (Source)
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source.cer5\shell\open\command = C:\Program Files (x86)\Cognos\cer5\bin\TRNSFRMR.EXE "%1"
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source.cer5\DefaultIcon = C:\Program Files (x86)\Cognos\cer5\bin\TRNSFRMR.EXE,-128
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source.cer5\protocol\StdFileEditing\server = TRNSFRMR.EXE
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source.cer5\protocol\StdFileEditing\Verb\0 = &Edit
+
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source = Cognos Transformer Model (Source)
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Source\CurVer = CognosTransformer.Model.Source.cer5
+
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled.cer5 = Cognos Transformer Model (Compiled)
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled.cer5\shell\open\command = C:\Program Files (x86)\Cognos\cer5\bin\TRNSFRMR.EXE "%1"
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled.cer5\DefaultIcon = C:\Program Files (x86)\Cognos\cer5\bin\TRNSFRMR.EXE,-128
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled.cer5\protocol\StdFileEditing\server = TRNSFRMR.EXE
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled.cer5\protocol\StdFileEditing\Verb\0 = &Edit
+
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled = Cognos Transformer Model (Compiled)
+HKEY_CLASSES_ROOT\CognosTransformer.Model.Compiled\CurVer = CognosTransformer.Model.Compiled.cer5
+
+HKEY_CLASSES_ROOT\.mdl = CognosTransformer.Model.Source.cer5
+HKEY_CLASSES_ROOT\.pyi = CognosTransformer.Model.Compiled.cer5
+
+HKEY_CURRENT_USER\software\microsoft\windows\currentversion\explorer\fileexts\.mdl\OpenWithList
+"a"="trnsfrmr.exe"
+
+HKEY_CURRENT_USER\software\microsoft\windows\currentversion\explorer\fileexts\.pyi\OpenWithList
+"a"="trnsfrmr.exe"

+ 208 - 0
logs/F.01.request.xml

@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+	xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'
+	xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+	xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'
+	xmlns:xsd='http://www.w3.org/2001/XMLSchema'
+	xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:bus='http://developer.cognos.com/schemas/bibus/3/'
+	xmlns:rns1='http://developer.cognos.com/schemas/reportService/1'>
+	<SOAP-ENV:Header>
+		<bus:biBusHeader xsi:type="bus:biBusHeader">
+			<bus:CAM xsi:type="bus:CAM">
+				<authenticityToken xsi:type="xsd:base64Binary"></authenticityToken>
+			</bus:CAM>
+			<bus:CAF xsi:type="bus:CAF">
+				<contextID xsi:type="xsd:string"></contextID>
+			</bus:CAF>
+			<bus:hdrSession xsi:type="bus:hdrSession">
+				<bus:formFieldVars SOAP-ENC:arrayType="bus:formFieldVar[]" xsi:type="SOAP-ENC:Array">
+					<item xsi:type="bus:formFieldVar">
+						<name xsi:type="xsd:string">_ContextBlockSize</name>
+						<value xsi:type="xsd:string">1000000</value>
+					</item>
+					<item xsi:type="bus:formFieldVar">
+						<name xsi:type="xsd:string">ignoreXHTMLStrict</name>
+						<value xsi:type="xsd:string">true</value>
+					</item>
+				</bus:formFieldVars>
+			</bus:hdrSession>
+			<bus:userPreferenceVars SOAP-ENC:arrayType="bus:userPreferenceVar[]" xsi:type="SOAP-ENC:Array">
+				<item>
+					<bus:name xsi:type="xsd:string">productLocale</bus:name>
+					<bus:value xsi:type="xsd:string">de</bus:value>
+				</item>
+				<item>
+					<bus:name xsi:type="xsd:string">contentLocale</bus:name>
+					<bus:value xsi:type="xsd:string">de-de</bus:value>
+				</item>
+			</bus:userPreferenceVars>
+			<bus:dispatcherTransportVars xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:dispatcherTransportVar[]">
+				<item xsi:type="bus:dispatcherTransportVar">
+					<name xsi:type="xsd:string">rs</name>
+					<value xsi:type="xsd:string">true</value>
+				</item>
+			</bus:dispatcherTransportVars>
+			<bus:tracking
+				xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
+				xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="bus:tracking"></bus:tracking>
+		</bus:biBusHeader>
+	</SOAP-ENV:Header>
+	<SOAP-ENV:Body>
+		<rns1:run>
+			<bus:objectPath xsi:type="bus:searchPathSingleObject">storeID(&quot;i5DCC1FE29E784A78B3A58B41AB97FD89&quot;)</bus:objectPath>
+			<bus:parameterValues
+				xmlns:bus='http://developer.cognos.com/schemas/bibus/3/'
+				xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+				xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' SOAP-ENC:arrayType="bus:parameterValue[5]" xsi:type="SOAP-ENC:Array">
+
+				<item xsi:type="bus:parameterValue">
+					<bus:name xsi:type="xs:string">p_Auswahl_Zeitraum</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parmValueItem[1]">
+
+						<item xsi:type="bus:simpleParmValueItem">
+							<bus:inclusive xsi:type="xs:boolean">true</bus:inclusive>
+							<bus:display xsi:type="xs:string">Einzelne Monate</bus:display>
+							<bus:use xsi:type="xs:string">Einzelne Monate</bus:use>
+						</item>
+
+					</bus:value>
+				</item>
+
+				<item xsi:type="bus:parameterValue">
+					<bus:name xsi:type="xs:string">p_Zeitraum</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parmValueItem[1]">
+
+						<item xsi:type="bus:simpleParmValueItem">
+							<bus:inclusive xsi:type="xs:boolean">true</bus:inclusive>
+							<bus:display xsi:type="xs:string">Einzelner Monat</bus:display>
+							<bus:use xsi:type="xs:string">[gewählter Monat]</bus:use>
+						</item>
+
+					</bus:value>
+				</item>
+
+				<item xsi:type="bus:parameterValue">
+					<bus:name xsi:type="xs:string">p_Von</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parmValueItem[1]">
+
+						<item xsi:type="bus:simpleParmValueItem">
+							<bus:inclusive xsi:type="xs:boolean">true</bus:inclusive>
+							<bus:display xsi:type="xs:string">01.01.2019</bus:display>
+							<bus:use xsi:type="xs:string">2019-01-01</bus:use>
+						</item>
+
+					</bus:value>
+				</item>
+
+				<item xsi:type="bus:parameterValue">
+					<bus:name xsi:type="xs:string">p_Bis</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parmValueItem[1]">
+
+						<item xsi:type="bus:simpleParmValueItem">
+							<bus:inclusive xsi:type="xs:boolean">true</bus:inclusive>
+							<bus:display xsi:type="xs:string">31.12.2020</bus:display>
+							<bus:use xsi:type="xs:string">2020-12-31</bus:use>
+						</item>
+
+					</bus:value>
+				</item>
+
+				<item xsi:type="bus:parameterValue">
+					<bus:name xsi:type="xs:string">p_AH</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parmValueItem[1]">
+
+						<item xsi:type="bus:simpleParmValueItem">
+							<bus:inclusive xsi:type="xs:boolean">true</bus:inclusive>
+							<bus:display xsi:type="xs:string">AH 2</bus:display>
+							<bus:use xsi:type="xs:string">[CARLO_F_Belege].[AH-Gruppe].[AH-Gruppe].[Betrieb]-&gt;:[PC].[@MEMBER].[12]</bus:use>
+						</item>
+
+					</bus:value>
+				</item>
+
+			</bus:parameterValues>
+			<bus:options SOAP-ENC:arrayType="bus:option[]" xsi:type="SOAP-ENC:Array">
+				<item xsi:type="bus:genericOptionAnyURI">
+					<bus:name xsi:type="xsd:string">runOptionEnum#globalParameters</bus:name>
+					<bus:value xsi:type="xsd:string">[]</bus:value>
+				</item>
+				<item xsi:type="bus:asynchOptionInt">
+					<bus:name xsi:type="bus:asynchOptionEnum">primaryWaitThreshold</bus:name>
+					<bus:value xsi:type="xsd:int">500</bus:value>
+				</item>
+				<item xsi:type="bus:asynchOptionInt">
+					<bus:name xsi:type="bus:asynchOptionEnum">secondaryWaitThreshold</bus:name>
+					<bus:value xsi:type="xsd:int">30</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionStringArray">
+					<bus:name xsi:type="bus:runOptionEnum">outputFormat</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[1]">
+						<item>PDF</item>
+					</bus:value>
+				</item>
+				<item xsi:type="bus:asynchOptionEncoding">
+					<bus:name xsi:type="bus:asynchOptionEnum">attachmentEncoding</bus:name>
+					<bus:value xsi:type="bus:encodingEnum">MIME</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionAnyURI">
+					<bus:name xsi:type="bus:runOptionEnum">xslURL</bus:name>
+					<bus:value xsi:type="xsd:string">V5html_viewer.xsl</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionString">
+					<bus:name xsi:type="bus:runOptionEnum">promptFormat</bus:name>
+					<bus:value xsi:type="xsd:string">XHTMLFRGMT</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionBoolean">
+					<bus:name xsi:type="bus:runOptionEnum">prompt</bus:name>
+					<bus:value xsi:type="xsd:boolean">false</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionAnyURI">
+					<bus:name xsi:type="bus:runOptionEnum">outputLocation</bus:name>
+					<bus:value xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/temporaryObjectLocationEnum#serverFileSystem</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionData">
+					<bus:name xsi:type="bus:runOptionEnum">data</bus:name>
+					<bus:value xsi:type="bus:dataEnum">runWithAllData</bus:value>
+				</item>
+				<item xsi:type="bus:genericOptionBoolean">
+					<bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/systemOptionEnum#accessibilityFeatures</bus:name>
+					<bus:value xsi:type="xsd:boolean">false</bus:value>
+				</item>
+				<item xsi:type="bus:genericOptionBoolean">
+					<bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/biDirectionalOptionEnum#biDirectionalFeaturesEnabled</bus:name>
+					<bus:value xsi:type="xsd:boolean">false</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionBoolean">
+					<bus:name xsi:type="bus:runOptionEnum">returnOutputWhenAvailable</bus:name>
+					<bus:value xsi:type="xsd:boolean">true</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionNameValueArray">
+					<bus:name xsi:type="bus:runOptionEnum">xslParameters</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:nameValue[]">
+						<item xsi:type="bus:nameValue">
+							<name xsi:type="xsd:string">CVGateway</name>
+							<value xsi:type="xsd:string">../v1/disp</value>
+						</item>
+						<item xsi:type="bus:nameValue">
+							<name xsi:type="xsd:string">renderIntermediateXML</name>
+							<value xsi:type="xsd:string">false</value>
+						</item>
+						<item xsi:type="bus:nameValue">
+							<name xsi:type="xsd:string">renderEnvironment</name>
+							<value xsi:type="xsd:string">false</value>
+						</item>
+					</bus:value>
+				</item>
+				<item xsi:type="bus:genericOptionBoolean">
+					<bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/runOptionEnum#interactive</bus:name>
+					<bus:value xsi:type="xsd:boolean">true</bus:value>
+				</item>
+				<item xsi:type="bus:genericOptionAnyURI">
+					<bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/runOptionEnum#promptXslUrl</bus:name>
+					<bus:value xsi:type="xsd:string">V5html_viewer.xsl</bus:value>
+				</item>
+			</bus:options>
+		</rns1:run>
+	</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>

+ 0 - 0
pytasks/__init__.py


BIN
pytasks/__pycache__/__init__.cpython-38.pyc


BIN
pytasks/__pycache__/ca_webscraper.cpython-38.pyc


+ 76 - 0
pytasks/ca_webscraper.py

@@ -0,0 +1,76 @@
+import base64
+import requests
+import pandas as pd
+import jinja2
+
+class ca_webscraper():
+    webservice = "http://192.168.2.64:9300/bi/v1/"
+    credentials = '{"parameters":[{"name":"CAMNamespace","value":"CognosEx"},{"name":"h_CAM_action","value":"logonAs"},{"name":"CAMUsername","value":"Global1"},{"name":"CAMPassword","value":"Cognos#11"}]}'
+    caf = ""; cam = ""
+
+    def generate_token(self, message_base64):
+        version = "V1".encode("utf-8")
+        header_len = 4
+        msg = base64.b64decode(message_base64)[1:]
+        chunks = []
+
+        while len(msg) >= header_len:
+            chunk_len = int.from_bytes(msg[:header_len], byteorder="little")
+            msg = msg[header_len:]
+            chunks.append(msg[:chunk_len])
+            msg = msg[chunk_len:]
+
+        return base64.b64encode(version + chunks[-1]).decode("utf-8")
+
+    def login(self):
+        self.session = requests.Session()
+        #self.jar = requests.cookies.RequestsCookieJar()
+        headers = {'content-type': "application/json"}
+
+        r = self.session.post(self.webservice + "login", data=self.credentials, headers=headers) #cookies=self.jar,
+        self.caf = r.json()['cafContextId']
+        self.cam = self.generate_token(r.cookies["usersessionid"])
+        return r.status_code
+
+    def report_list(self):
+        r = self.session.get(self.webservice + "users/_tilde_/mrus")
+        df = pd.DataFrame(r.json()[0]['list'])
+        df['report'] = df['formatedPath'].replace(">", "+") + " + " + df['defaultName'].replace("/", "-")
+        self.reports = df
+        return self.reports
+
+    def export(self, report, format = "PDF"):
+        prompt = "false" if (format == "PDF") else "true"
+        env = jinja2.Environment(
+            loader=jinja2.PackageLoader('pytasks', 'templates'),
+            autoescape=jinja2.select_autoescape(['html', 'xml'])
+        )
+        #template = jinja2.Template('Hello {{name}}!')
+        
+        template = env.get_template('get-report.xml')
+        soap = template.render({ "caf": self.caf, "cam": self.cam, 
+                                 "report": report, "format": format,
+                                "prompt": prompt, "tracking": "" })
+        with open("logs/F.01.request.xml", "w") as f:
+            f.write(soap)
+        return soap
+
+    def admin(self):
+        r = self.session.get(self.webservice + "disp?m_p_owner=&changed_m_p_owner=0&changed_genprop=0&so.select=&so.return.m=portal%2Fproperties_general.xts&so.defaultLocation=&so.defaultObject=&ro_name=false&origDefLang=de&m_email=&m_defaultName=&m_t_default_name_de=CARLO_F_Belege&m_t_default_description_de=&m_t_default_screenTip_de=&ifrmcmd=save&m_p_disabled=false&m_p_hidden=false&icon_radio=standard&m_transloc=de&pty_activeLang=de&pty_deactivLang=&pty_del=&pty_add=&pty_name=CARLO_F_Belege&pty_scrt=&pty_desc=&m_new_class=&b_action=xts.run&sharedPagesChanged=&from_tool=true&backURL=%2Fbi%2Fv1%2Fdisp%3Fb_action%3Dxts.run%26m%3Dportal%2Flegacy_tools%2Ftools_directory.xts%26m_pathID%3Di339AF66BADEC411E943590402582B75B%26m_path%3DCAMID%28%2522%253a%2522%29%252fdataSource%255b%2540name%253d%2527CARLO_F_Belege%2527%255d%26tool_tab%3Dd&m_selectedPage=&m_classSubtype=&m_obj=CAMID%28%22%3A%22%29%2FdataSource%5B%40name%3D%27CARLO_F_Belege%27%5D%2FdataSourceConnection%5B%40name%3D%27CARLO_F_Belege%27%5D&b_report_type=&encoding=UTF-8&m=portal%2Fproperties_connection.xts&m_class=dataSourceConnection&m_name=CARLO_F_Belege&ui.cafcontextid=CAFW000000a0Q0FGQTYwMDAwMDAwMDlBaFFBQUFERWpZV1g4bEExbmlJd29ualF1cEgwWVVTeGtnY0FBQUJUU0VFdE1qVTJJQUFBQUxha3gqeHQ5TXN3Ukw2dGhjMTJVRzN1NVhaMWVzNU5FLXRvWXI1VzlwYTE0NDI0NzN8cHM_&m_path=CAMID%28%22%3A%22%29%2FdataSource%5B%40name%3D%27CARLO_F_Belege%27%5D&cmd=&m_location=&reportLocation=&ps_nav_op=maintain&ps_nav_stack=&ps_nav_source=portal%2Fproperties_general.xts")
+        print(r.cookies.keys())
+
+
+#CRN=http%3A%2F%2Fdeveloper.cognos.com%2Fceba%2Fconstants%2FbiDirectionalOptionEnum%23biDirectionalFeaturesEnabled%3Dfalse%26http%3A%2F%2Fdeveloper.cognos.com%2Fceba%2Fconstants%2FsystemOptionEnum%23accessibilityFeatures%3Dfalse%26skin%3Dcorporate%26contentLocale%3Dde-de%26showHiddenObjects%3Dfalse%26showWelcomePage%3Dtrue%26backgroundSessionLogging%3D1970-01-01%2B00%253A00%253A00%26showOptionSummary%3Dtrue%26productLocale%3Dde%26listViewSeparator%3Dnone%26showHints%3DhideAll%26timeZoneID%3DEurope%252FBerlin%26linesPerPage%3D15%26displayMode%3Dlist%26automaticPageRefresh%3D30%26format%3DHTML%26columnsPerPage%3D3%26; 
+# cea-ssa=false; 
+# userCapabilities=f%3Bfdbffc6d%3Bf07c1faf%3Bff27defa%26AwcAAABTSEEtMjU2FAAAAMSNhZfyUDWeIjCieNC6kfRhRLGSDPui1gb2UKZPMWVW5x3QHrHM%2BIVk5gFTzsNq1oOMioU%3D; 
+# userCapabilitiesEx=603%3Bf%3Bfdbffc6d%3Bf07c1faf%3Bff27defa%26AhQAAADEjYWX8lA1niIwonjQupH0YUSxkgcAAABTSEEtMjU2IAAAAMI%2BRz7opwjhYGXonwHJpD3Ya1agg0lFOa1JK%2FkZiDTS; 
+# caf=CAFW000000e0Q0FGQTYwMDAwMDAwM2FBaFFBQUFERWpZV1g4bEExbmlJd29ualF1cEgwWVVTeGtnY0FBQUJUU0VFdE1qVTJJQUFBQUY3d3JJLW1zREhXcnQtT0VWLUhhKjF0c01TZFVrWlB0aXNYdEVJOUcqZm40NDI0NzN8MTAxOjc5ZTJiNDdhLTIyNjgtZDcxYS1jMGIxLWYwMDYyY2QxYWQwZTozNDAxNTQ5MzI1; 
+# cc_session=s_cc:|s_conf:na|s_sch:td|s_hd:sa|s_serv:na|s_disp:na|s_set:|s_dep:na|s_dir:na|s_sms:dd|s_ct:sa|s_cs:sa|s_so:sa|e_hp:CAMID(*22CognosEx*3au*3auid*3dglobal1*22)|e_proot:Team*20Content|prootid:i1F610DE4196544319A27C5709282EF95|e_mroot:Eigene*20Ordner|mrootid:iBAA3C16EC2D743B7B221BBFCDBC625D7|e_mrootpath:CAMID(*22CognosEx*3au*3auid*3dglobal1*22)*2ffolder*5b*40name*3d*27Eigene*20Ordner*27*5d|e_user:Global*20Cube|e_tenantID:|e_tenantDisplayName:|e_showTenantInfo:false|e_isSysAdmin:true|e_isTenantAdmin:false|e_isImpersonating:false|cl:de-de|dcid:i1F610DE4196544319A27C5709282EF95|show_logon:false|uig:|ui:|rsuiprofile:all|lch:f|lca:f|ci:f|write:true|eom:0|pp:3401549325; 
+# up=H4sIAAAAAAAAAFWQ204CMRCGX4X0GuIuF5rlDgXEBBQUgxIT0sOwW2k7mx4UNL67sxgRk0ma+Tr5+nc+WdQWVujgZsB6bJg81vBydgneaMfaLGzp6LFHF8E7qCw0cIPe8kh4vJhOqBdcbkuPyakHCEGjm2BZalfSRF5cZJ0sp2plWe9QjbXC97F2MdBEpRX0jSGaAvhbboHgtUHBTU4w7usGcCnJHwlUaGHGywZSR7x5Umij434EPCYPZN1wE6DNdOg7dHuL6Y/VHlWScYKSm0ai4BhIKXB34hVkPFEomtnNu4UTtvi4fyrP1aLO+XJerLq7t2c7CtP5ek0Kae0MfeTmJ5jQA+3JRNvg5jfY0HFhQB3lCjY8mfjv062rJJpIEmnn7jRn5xBV8AAL2MWjnu76KSL7+gaz/bFgzAEAAA==; 
+# MRUStorage=%7B%22xQ29nbm9zRXg6dTp1aWQ9Z2xvYmFsMQ__%22%3Atrue%7D; 
+# usersessionid=AggAAADOAvteAAAAAAoAAAAPMXuCsi7eLj2GFAAAAMSNhZfyUDWeIjCieNC6kfRhRLGSBwAAAFNIQS0yNTYgAAAAxhTjzCpYnRF3ryJ/z/gpU9G5UeFYyp1vKc/PjuCT/r4=; 
+# cam_passport=MTsxMDE6NzllMmI0N2EtMjI2OC1kNzFhLWMwYjEtZjAwNjJjZDFhZDBlOjM0MDE1NDkzMjU7MDszOzA7
+
+caws= ca_webscraper()
+caws.login()
+caws.admin()

+ 156 - 0
pytasks/templates/get-report.xml

@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+	xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'
+	xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+	xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'
+	xmlns:xsd='http://www.w3.org/2001/XMLSchema'
+	xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:bus='http://developer.cognos.com/schemas/bibus/3/'
+	xmlns:rns1='http://developer.cognos.com/schemas/reportService/1'>
+	<SOAP-ENV:Header>
+		<bus:biBusHeader xsi:type="bus:biBusHeader">
+			<bus:CAM xsi:type="bus:CAM">
+				<authenticityToken xsi:type="xsd:base64Binary">{{cam}}</authenticityToken>
+			</bus:CAM>
+			<bus:CAF xsi:type="bus:CAF">
+				<contextID xsi:type="xsd:string">{{caf}}</contextID>
+			</bus:CAF>
+			<bus:hdrSession xsi:type="bus:hdrSession">
+				<bus:formFieldVars SOAP-ENC:arrayType="bus:formFieldVar[]" xsi:type="SOAP-ENC:Array">
+					<item xsi:type="bus:formFieldVar">
+						<name xsi:type="xsd:string">_ContextBlockSize</name>
+						<value xsi:type="xsd:string">1000000</value>
+					</item>
+					<item xsi:type="bus:formFieldVar">
+						<name xsi:type="xsd:string">ignoreXHTMLStrict</name>
+						<value xsi:type="xsd:string">true</value>
+					</item>
+				</bus:formFieldVars>
+			</bus:hdrSession>
+			<bus:userPreferenceVars SOAP-ENC:arrayType="bus:userPreferenceVar[]" xsi:type="SOAP-ENC:Array">
+				<item>
+					<bus:name xsi:type="xsd:string">productLocale</bus:name>
+					<bus:value xsi:type="xsd:string">de</bus:value>
+				</item>
+				<item>
+					<bus:name xsi:type="xsd:string">contentLocale</bus:name>
+					<bus:value xsi:type="xsd:string">de-de</bus:value>
+				</item>
+			</bus:userPreferenceVars>
+			<bus:dispatcherTransportVars xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:dispatcherTransportVar[]">
+				<item xsi:type="bus:dispatcherTransportVar">
+					<name xsi:type="xsd:string">rs</name>
+					<value xsi:type="xsd:string">true</value>
+				</item>
+			</bus:dispatcherTransportVars>
+			<bus:tracking
+				xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
+				xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="bus:tracking">{{tracking}}</bus:tracking>
+		</bus:biBusHeader>
+	</SOAP-ENV:Header>
+	<SOAP-ENV:Body>
+		<rns1:run>
+			<bus:objectPath xsi:type="bus:searchPathSingleObject">storeID(&quot;{{report.id}}&quot;)</bus:objectPath>
+			<bus:parameterValues
+				xmlns:bus='http://developer.cognos.com/schemas/bibus/3/'
+				xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+				xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' SOAP-ENC:arrayType="bus:parameterValue[{{report.params|count}}]" xsi:type="SOAP-ENC:Array">
+{% for key, p in report.params.items() %}
+				<item xsi:type="bus:parameterValue">
+					<bus:name xsi:type="xs:string">{{key}}</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parmValueItem[{{p|count}}]">
+{% for item in p %}
+						<item xsi:type="bus:simpleParmValueItem">
+							<bus:inclusive xsi:type="xs:boolean">true</bus:inclusive>
+							<bus:display xsi:type="xs:string">{{item.display}}</bus:display>
+							<bus:use xsi:type="xs:string">{{item.use}}</bus:use>
+						</item>
+{% endfor %}
+					</bus:value>
+				</item>
+{% endfor %}
+			</bus:parameterValues>
+			<bus:options SOAP-ENC:arrayType="bus:option[]" xsi:type="SOAP-ENC:Array">
+				<item xsi:type="bus:genericOptionAnyURI">
+					<bus:name xsi:type="xsd:string">runOptionEnum#globalParameters</bus:name>
+					<bus:value xsi:type="xsd:string">[]</bus:value>
+				</item>
+				<item xsi:type="bus:asynchOptionInt">
+					<bus:name xsi:type="bus:asynchOptionEnum">primaryWaitThreshold</bus:name>
+					<bus:value xsi:type="xsd:int">500</bus:value>
+				</item>
+				<item xsi:type="bus:asynchOptionInt">
+					<bus:name xsi:type="bus:asynchOptionEnum">secondaryWaitThreshold</bus:name>
+					<bus:value xsi:type="xsd:int">30</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionStringArray">
+					<bus:name xsi:type="bus:runOptionEnum">outputFormat</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[1]">
+						<item>{{format}}</item>
+					</bus:value>
+				</item>
+				<item xsi:type="bus:asynchOptionEncoding">
+					<bus:name xsi:type="bus:asynchOptionEnum">attachmentEncoding</bus:name>
+					<bus:value xsi:type="bus:encodingEnum">MIME</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionAnyURI">
+					<bus:name xsi:type="bus:runOptionEnum">xslURL</bus:name>
+					<bus:value xsi:type="xsd:string">V5html_viewer.xsl</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionString">
+					<bus:name xsi:type="bus:runOptionEnum">promptFormat</bus:name>
+					<bus:value xsi:type="xsd:string">XHTMLFRGMT</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionBoolean">
+					<bus:name xsi:type="bus:runOptionEnum">prompt</bus:name>
+					<bus:value xsi:type="xsd:boolean">{{prompt}}</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionAnyURI">
+					<bus:name xsi:type="bus:runOptionEnum">outputLocation</bus:name>
+					<bus:value xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/temporaryObjectLocationEnum#serverFileSystem</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionData">
+					<bus:name xsi:type="bus:runOptionEnum">data</bus:name>
+					<bus:value xsi:type="bus:dataEnum">runWithAllData</bus:value>
+				</item>
+				<item xsi:type="bus:genericOptionBoolean">
+					<bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/systemOptionEnum#accessibilityFeatures</bus:name>
+					<bus:value xsi:type="xsd:boolean">false</bus:value>
+				</item>
+				<item xsi:type="bus:genericOptionBoolean">
+					<bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/biDirectionalOptionEnum#biDirectionalFeaturesEnabled</bus:name>
+					<bus:value xsi:type="xsd:boolean">false</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionBoolean">
+					<bus:name xsi:type="bus:runOptionEnum">returnOutputWhenAvailable</bus:name>
+					<bus:value xsi:type="xsd:boolean">true</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionNameValueArray">
+					<bus:name xsi:type="bus:runOptionEnum">xslParameters</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:nameValue[]">
+						<item xsi:type="bus:nameValue">
+							<name xsi:type="xsd:string">CVGateway</name>
+							<value xsi:type="xsd:string">../v1/disp</value>
+						</item>
+						<item xsi:type="bus:nameValue">
+							<name xsi:type="xsd:string">renderIntermediateXML</name>
+							<value xsi:type="xsd:string">false</value>
+						</item>
+						<item xsi:type="bus:nameValue">
+							<name xsi:type="xsd:string">renderEnvironment</name>
+							<value xsi:type="xsd:string">false</value>
+						</item>
+					</bus:value>
+				</item>
+				<item xsi:type="bus:genericOptionBoolean">
+					<bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/runOptionEnum#interactive</bus:name>
+					<bus:value xsi:type="xsd:boolean">true</bus:value>
+				</item>
+				<item xsi:type="bus:genericOptionAnyURI">
+					<bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/runOptionEnum#promptXslUrl</bus:name>
+					<bus:value xsi:type="xsd:string">V5html_viewer.xsl</bus:value>
+				</item>
+			</bus:options>
+		</rns1:run>
+	</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>

+ 0 - 0
tests/__init__.py


BIN
tests/__pycache__/test_ca_webscraper.cpython-38.pyc


+ 208 - 0
tests/soap/F-01.request.xml

@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope
+	xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'
+	xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+	xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'
+	xmlns:xsd='http://www.w3.org/2001/XMLSchema'
+	xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:bus='http://developer.cognos.com/schemas/bibus/3/'
+	xmlns:rns1='http://developer.cognos.com/schemas/reportService/1'>
+	<SOAP-ENV:Header>
+		<bus:biBusHeader xsi:type="bus:biBusHeader">
+			<bus:CAM xsi:type="bus:CAM">
+				<authenticityToken xsi:type="xsd:base64Binary"></authenticityToken>
+			</bus:CAM>
+			<bus:CAF xsi:type="bus:CAF">
+				<contextID xsi:type="xsd:string"></contextID>
+			</bus:CAF>
+			<bus:hdrSession xsi:type="bus:hdrSession">
+				<bus:formFieldVars SOAP-ENC:arrayType="bus:formFieldVar[]" xsi:type="SOAP-ENC:Array">
+					<item xsi:type="bus:formFieldVar">
+						<name xsi:type="xsd:string">_ContextBlockSize</name>
+						<value xsi:type="xsd:string">1000000</value>
+					</item>
+					<item xsi:type="bus:formFieldVar">
+						<name xsi:type="xsd:string">ignoreXHTMLStrict</name>
+						<value xsi:type="xsd:string">true</value>
+					</item>
+				</bus:formFieldVars>
+			</bus:hdrSession>
+			<bus:userPreferenceVars SOAP-ENC:arrayType="bus:userPreferenceVar[]" xsi:type="SOAP-ENC:Array">
+				<item>
+					<bus:name xsi:type="xsd:string">productLocale</bus:name>
+					<bus:value xsi:type="xsd:string">de</bus:value>
+				</item>
+				<item>
+					<bus:name xsi:type="xsd:string">contentLocale</bus:name>
+					<bus:value xsi:type="xsd:string">de-de</bus:value>
+				</item>
+			</bus:userPreferenceVars>
+			<bus:dispatcherTransportVars xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:dispatcherTransportVar[]">
+				<item xsi:type="bus:dispatcherTransportVar">
+					<name xsi:type="xsd:string">rs</name>
+					<value xsi:type="xsd:string">true</value>
+				</item>
+			</bus:dispatcherTransportVars>
+			<bus:tracking
+				xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
+				xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="bus:tracking"></bus:tracking>
+		</bus:biBusHeader>
+	</SOAP-ENV:Header>
+	<SOAP-ENV:Body>
+		<rns1:run>
+			<bus:objectPath xsi:type="bus:searchPathSingleObject">storeID(&quot;i5DCC1FE29E784A78B3A58B41AB97FD89&quot;)</bus:objectPath>
+			<bus:parameterValues
+				xmlns:bus='http://developer.cognos.com/schemas/bibus/3/'
+				xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+				xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' SOAP-ENC:arrayType="bus:parameterValue[5]" xsi:type="SOAP-ENC:Array">
+
+				<item xsi:type="bus:parameterValue">
+					<bus:name xsi:type="xs:string">p_Auswahl_Zeitraum</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parmValueItem[1]">
+
+						<item xsi:type="bus:simpleParmValueItem">
+							<bus:inclusive xsi:type="xs:boolean">true</bus:inclusive>
+							<bus:display xsi:type="xs:string">Einzelne Monate</bus:display>
+							<bus:use xsi:type="xs:string">Einzelne Monate</bus:use>
+						</item>
+
+					</bus:value>
+				</item>
+
+				<item xsi:type="bus:parameterValue">
+					<bus:name xsi:type="xs:string">p_Zeitraum</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parmValueItem[1]">
+
+						<item xsi:type="bus:simpleParmValueItem">
+							<bus:inclusive xsi:type="xs:boolean">true</bus:inclusive>
+							<bus:display xsi:type="xs:string">Einzelner Monat</bus:display>
+							<bus:use xsi:type="xs:string">[gewählter Monat]</bus:use>
+						</item>
+
+					</bus:value>
+				</item>
+
+				<item xsi:type="bus:parameterValue">
+					<bus:name xsi:type="xs:string">p_Von</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parmValueItem[1]">
+
+						<item xsi:type="bus:simpleParmValueItem">
+							<bus:inclusive xsi:type="xs:boolean">true</bus:inclusive>
+							<bus:display xsi:type="xs:string">01.01.2019</bus:display>
+							<bus:use xsi:type="xs:string">2019-01-01</bus:use>
+						</item>
+
+					</bus:value>
+				</item>
+
+				<item xsi:type="bus:parameterValue">
+					<bus:name xsi:type="xs:string">p_Bis</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parmValueItem[1]">
+
+						<item xsi:type="bus:simpleParmValueItem">
+							<bus:inclusive xsi:type="xs:boolean">true</bus:inclusive>
+							<bus:display xsi:type="xs:string">31.12.2020</bus:display>
+							<bus:use xsi:type="xs:string">2020-12-31</bus:use>
+						</item>
+
+					</bus:value>
+				</item>
+
+				<item xsi:type="bus:parameterValue">
+					<bus:name xsi:type="xs:string">p_AH</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parmValueItem[1]">
+
+						<item xsi:type="bus:simpleParmValueItem">
+							<bus:inclusive xsi:type="xs:boolean">true</bus:inclusive>
+							<bus:display xsi:type="xs:string">AH 2</bus:display>
+							<bus:use xsi:type="xs:string">[CARLO_F_Belege].[AH-Gruppe].[AH-Gruppe].[Betrieb]-&gt;:[PC].[@MEMBER].[12]</bus:use>
+						</item>
+
+					</bus:value>
+				</item>
+
+			</bus:parameterValues>
+			<bus:options SOAP-ENC:arrayType="bus:option[]" xsi:type="SOAP-ENC:Array">
+				<item xsi:type="bus:genericOptionAnyURI">
+					<bus:name xsi:type="xsd:string">runOptionEnum#globalParameters</bus:name>
+					<bus:value xsi:type="xsd:string">[]</bus:value>
+				</item>
+				<item xsi:type="bus:asynchOptionInt">
+					<bus:name xsi:type="bus:asynchOptionEnum">primaryWaitThreshold</bus:name>
+					<bus:value xsi:type="xsd:int">500</bus:value>
+				</item>
+				<item xsi:type="bus:asynchOptionInt">
+					<bus:name xsi:type="bus:asynchOptionEnum">secondaryWaitThreshold</bus:name>
+					<bus:value xsi:type="xsd:int">30</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionStringArray">
+					<bus:name xsi:type="bus:runOptionEnum">outputFormat</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[1]">
+						<item>PDF</item>
+					</bus:value>
+				</item>
+				<item xsi:type="bus:asynchOptionEncoding">
+					<bus:name xsi:type="bus:asynchOptionEnum">attachmentEncoding</bus:name>
+					<bus:value xsi:type="bus:encodingEnum">MIME</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionAnyURI">
+					<bus:name xsi:type="bus:runOptionEnum">xslURL</bus:name>
+					<bus:value xsi:type="xsd:string">V5html_viewer.xsl</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionString">
+					<bus:name xsi:type="bus:runOptionEnum">promptFormat</bus:name>
+					<bus:value xsi:type="xsd:string">XHTMLFRGMT</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionBoolean">
+					<bus:name xsi:type="bus:runOptionEnum">prompt</bus:name>
+					<bus:value xsi:type="xsd:boolean">false</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionAnyURI">
+					<bus:name xsi:type="bus:runOptionEnum">outputLocation</bus:name>
+					<bus:value xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/temporaryObjectLocationEnum#serverFileSystem</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionData">
+					<bus:name xsi:type="bus:runOptionEnum">data</bus:name>
+					<bus:value xsi:type="bus:dataEnum">runWithAllData</bus:value>
+				</item>
+				<item xsi:type="bus:genericOptionBoolean">
+					<bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/systemOptionEnum#accessibilityFeatures</bus:name>
+					<bus:value xsi:type="xsd:boolean">false</bus:value>
+				</item>
+				<item xsi:type="bus:genericOptionBoolean">
+					<bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/biDirectionalOptionEnum#biDirectionalFeaturesEnabled</bus:name>
+					<bus:value xsi:type="xsd:boolean">false</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionBoolean">
+					<bus:name xsi:type="bus:runOptionEnum">returnOutputWhenAvailable</bus:name>
+					<bus:value xsi:type="xsd:boolean">true</bus:value>
+				</item>
+				<item xsi:type="bus:runOptionNameValueArray">
+					<bus:name xsi:type="bus:runOptionEnum">xslParameters</bus:name>
+					<bus:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:nameValue[]">
+						<item xsi:type="bus:nameValue">
+							<name xsi:type="xsd:string">CVGateway</name>
+							<value xsi:type="xsd:string">../v1/disp</value>
+						</item>
+						<item xsi:type="bus:nameValue">
+							<name xsi:type="xsd:string">renderIntermediateXML</name>
+							<value xsi:type="xsd:string">false</value>
+						</item>
+						<item xsi:type="bus:nameValue">
+							<name xsi:type="xsd:string">renderEnvironment</name>
+							<value xsi:type="xsd:string">false</value>
+						</item>
+					</bus:value>
+				</item>
+				<item xsi:type="bus:genericOptionBoolean">
+					<bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/runOptionEnum#interactive</bus:name>
+					<bus:value xsi:type="xsd:boolean">true</bus:value>
+				</item>
+				<item xsi:type="bus:genericOptionAnyURI">
+					<bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/runOptionEnum#promptXslUrl</bus:name>
+					<bus:value xsi:type="xsd:string">V5html_viewer.xsl</bus:value>
+				</item>
+			</bus:options>
+		</rns1:run>
+	</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>

+ 49 - 0
tests/test_ca_webscraper.py

@@ -0,0 +1,49 @@
+import unittest
+import pytasks
+from pytasks import ca_webscraper
+from xml.dom import minidom
+
+class test_ca_webscraper(unittest.TestCase):
+    def test_token(self):
+        caws = ca_webscraper.ca_webscraper()
+        token = caws.generate_token("AggAAABU5N5eAAAAAAoAAAD4TgT4GNq+GcN0FAAAAMSNhZfyUDWeIjCieNC6kfRhRLGSBwAAAFNIQS0yNTYgAAAATp4IDQBouepXMLDT+LyJsPuiXICYQxpZlfz8r4/W3aU=")
+        self.assertEqual(token, "VjFOnggNAGi56lcwsNP4vImw+6JcgJhDGlmV/Pyvj9bdpQ==")
+
+        token2 = caws.generate_token("AggAAAD8495eAAAAAAoAAADTxk26GoI5V7SSFAAAAMSNhZfyUDWeIjCieNC6kfRhRLGSBwAAAFNIQS0yNTYgAAAANRtS2ys6VqGk8EaJc88bLLBkSklun/rADunE7kEjFC4=")
+        self.assertEqual(token2, "VjE1G1LbKzpWoaTwRolzzxsssGRKSW6f+sAO6cTuQSMULg==")
+
+    def test_login(self):
+        caws = ca_webscraper.ca_webscraper()
+        self.assertEqual(caws.login(), 200)
+        self.assertEqual(caws.caf[:3], "CAF")
+        self.assertEqual(caws.cam[:2], "Vj")
+
+    def test_report_list(self):
+        caws = ca_webscraper.ca_webscraper()
+        caws.login()
+        result = caws.report_list()
+        self.assertGreater(result.shape[0], 0)
+        self.assertEqual(result['id'][0], "iA314AC05125D44F39261E2FD01782C51")
+        #self.assertEqual(result['report'][0], "Teaminhalt + Service + S.01 Service-Geschäftsmetrik")
+
+    def test_export(self):
+        caws = ca_webscraper.ca_webscraper()
+        report = { 'report': "Teaminhalt_Finanzbuchhaltung_F.01+Entwicklung+Zeitreihe+mit+EA",
+                    'id':  "i5DCC1FE29E784A78B3A58B41AB97FD89",
+                    'short': "F.01",
+                    'params': { 
+                        'p_Auswahl_Zeitraum': [ { 'display': "Einzelne Monate", 'use': "Einzelne Monate" } ],
+                        'p_Zeitraum': [ { 'display': "Einzelner Monat", 'use': "[gewählter Monat]" } ],
+                        'p_Von': [ { 'display': "01.01.2019", 'use': "2019-01-01" } ],
+                        'p_Bis': [ { 'display': "31.12.2020", 'use': "2020-12-31" } ],
+                        'p_AH': [ { 'display': "AH 2", 'use': "[CARLO_F_Belege].[AH-Gruppe].[AH-Gruppe].[Betrieb]->:[PC].[@MEMBER].[12]" } ]
+                    }
+        }
+        rep = minidom.parseString(caws.export(report))
+        mydoc = minidom.parse("tests/soap/F-01.request.xml")
+        self.maxDiff = None
+        self.assertEqual(rep.toxml(), mydoc.toxml())
+
+
+if __name__ == '__main__':
+    unittest.main()