Commit 48d94d24 authored by konovalovsergey's avatar konovalovsergey

cache xlsx file to support pivot in xls, ods...; don't send jwt signature; and...

cache xlsx file to support pivot in xls, ods...; don't send jwt signature; and save in doctrenderer;
parent f5c569ab
...@@ -2170,7 +2170,7 @@ namespace NExtractTools ...@@ -2170,7 +2170,7 @@ namespace NExtractTools
return nRes; return nRes;
} }
int fromXlsxDir(const std::wstring &sFrom, const std::wstring &sTo, int nFormatTo, const std::wstring &sTemp, const std::wstring &sThemeDir, bool bFromChanges, bool bPaid, InputParams& params) int fromXlsxDir(const std::wstring &sFrom, const std::wstring &sTo, int nFormatTo, const std::wstring &sTemp, const std::wstring &sThemeDir, bool bFromChanges, bool bPaid, InputParams& params, bool isSavedXFile)
{ {
int nRes = 0; int nRes = 0;
if(0 != (AVS_OFFICESTUDIO_FILE_SPREADSHEET & nFormatTo) && AVS_OFFICESTUDIO_FILE_SPREADSHEET_CSV != nFormatTo) if(0 != (AVS_OFFICESTUDIO_FILE_SPREADSHEET & nFormatTo) && AVS_OFFICESTUDIO_FILE_SPREADSHEET_CSV != nFormatTo)
...@@ -2221,6 +2221,11 @@ namespace NExtractTools ...@@ -2221,6 +2221,11 @@ namespace NExtractTools
nRes = fromXlstBin(sTFile, sTo, nFormatTo, sTemp, sThemeDir, bFromChanges, bPaid, params); nRes = fromXlstBin(sTFile, sTo, nFormatTo, sTemp, sThemeDir, bFromChanges, bPaid, params);
} }
} }
if (SUCCEEDED_X2T(nRes) && !isSavedXFile && params.getSaveXFile())
{
std::wstring sToDir = NSDirectory::GetFolderPath(sTo);
nRes = dir2zip(sFrom, sToDir + FILE_SEPARATOR_STR + _T("Editor.xlsx"));
}
return nRes; return nRes;
} }
int fromXlstBin(const std::wstring &sFrom, const std::wstring &sTo, int nFormatTo, const std::wstring &sTemp, const std::wstring &sThemeDir, bool bFromChanges, bool bPaid, InputParams& params) int fromXlstBin(const std::wstring &sFrom, const std::wstring &sTo, int nFormatTo, const std::wstring &sTemp, const std::wstring &sThemeDir, bool bFromChanges, bool bPaid, InputParams& params)
...@@ -2252,7 +2257,7 @@ namespace NExtractTools ...@@ -2252,7 +2257,7 @@ namespace NExtractTools
nRes = xlst_bin2xlsx_dir(sFrom, sTo, sXlsxDir, bFromChanges, sThemeDir, params); nRes = xlst_bin2xlsx_dir(sFrom, sTo, sXlsxDir, bFromChanges, sThemeDir, params);
if(SUCCEEDED_X2T(nRes)) if(SUCCEEDED_X2T(nRes))
{ {
nRes = fromXlsxDir(sXlsxDir, sTo, nFormatTo, sTemp, sThemeDir, bFromChanges, bPaid, params); nRes = fromXlsxDir(sXlsxDir, sTo, nFormatTo, sTemp, sThemeDir, bFromChanges, bPaid, params, false);
} }
} }
else else
...@@ -2302,9 +2307,15 @@ namespace NExtractTools ...@@ -2302,9 +2307,15 @@ namespace NExtractTools
{ {
std::wstring sXlsxDir = sTemp + FILE_SEPARATOR_STR + _T("xlsx_unpacked"); std::wstring sXlsxDir = sTemp + FILE_SEPARATOR_STR + _T("xlsx_unpacked");
NSDirectory::CreateDirectory(sXlsxDir); NSDirectory::CreateDirectory(sXlsxDir);
bool isSavedXFile = false;
if(AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSX == nFormatFrom) if(AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSX == nFormatFrom)
{ {
nRes = zip2dir(sFrom, sXlsxDir); nRes = zip2dir(sFrom, sXlsxDir);
if (SUCCEEDED_X2T(nRes) && params.getSaveXFile())
{
NSFile::CFileBinary::Copy(sFrom, NSSystemPath::GetDirectoryName(sTo) + FILE_SEPARATOR_STR + _T("Editor.xlsx"));
isSavedXFile = true;
}
} }
else if(AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLS == nFormatFrom) else if(AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLS == nFormatFrom)
{ {
...@@ -2318,7 +2329,7 @@ namespace NExtractTools ...@@ -2318,7 +2329,7 @@ namespace NExtractTools
nRes = AVS_FILEUTILS_ERROR_CONVERT; nRes = AVS_FILEUTILS_ERROR_CONVERT;
if(SUCCEEDED_X2T(nRes)) if(SUCCEEDED_X2T(nRes))
{ {
nRes = fromXlsxDir(sXlsxDir, sTo, nFormatTo, sTemp, sThemeDir, bFromChanges, bPaid, params); nRes = fromXlsxDir(sXlsxDir, sTo, nFormatTo, sTemp, sThemeDir, bFromChanges, bPaid, params, isSavedXFile);
} }
} }
return nRes; return nRes;
......
...@@ -145,7 +145,7 @@ namespace NExtractTools ...@@ -145,7 +145,7 @@ namespace NExtractTools
int fromDoctBin (const std::wstring &sFrom, const std::wstring &sTo, int nFormatTo, const std::wstring &sTemp, const std::wstring &sThemeDir, bool bFromChanges, bool bPaid, InputParams& params); int fromDoctBin (const std::wstring &sFrom, const std::wstring &sTo, int nFormatTo, const std::wstring &sTemp, const std::wstring &sThemeDir, bool bFromChanges, bool bPaid, InputParams& params);
int fromDocument (const std::wstring &sFrom, int nFormatFrom, const std::wstring &sTemp, InputParams& params); int fromDocument (const std::wstring &sFrom, int nFormatFrom, const std::wstring &sTemp, InputParams& params);
int fromXlsxDir (const std::wstring &sFrom, const std::wstring &sTo, int nFormatTo, const std::wstring &sTemp, const std::wstring &sThemeDir, bool bFromChanges, bool bPaid, InputParams& params); int fromXlsxDir (const std::wstring &sFrom, const std::wstring &sTo, int nFormatTo, const std::wstring &sTemp, const std::wstring &sThemeDir, bool bFromChanges, bool bPaid, InputParams& params, bool isSavedXFile);
int fromXlstBin (const std::wstring &sFrom, const std::wstring &sTo, int nFormatTo, const std::wstring &sTemp, const std::wstring &sThemeDir, bool bFromChanges, bool bPaid, InputParams& params); int fromXlstBin (const std::wstring &sFrom, const std::wstring &sTo, int nFormatTo, const std::wstring &sTemp, const std::wstring &sThemeDir, bool bFromChanges, bool bPaid, InputParams& params);
int fromSpreadsheet (const std::wstring &sFrom, int nFormatFrom, const std::wstring &sTemp, InputParams& params); int fromSpreadsheet (const std::wstring &sFrom, int nFormatFrom, const std::wstring &sTemp, InputParams& params);
......
...@@ -359,6 +359,7 @@ namespace NExtractTools ...@@ -359,6 +359,7 @@ namespace NExtractTools
std::wstring* m_sPassword; std::wstring* m_sPassword;
std::wstring* m_sTempDir; std::wstring* m_sTempDir;
bool* m_bIsNoBase64; bool* m_bIsNoBase64;
bool* m_bSaveXFile;
//output params //output params
mutable bool m_bOutputConvertCorrupted; mutable bool m_bOutputConvertCorrupted;
public: public:
...@@ -385,6 +386,7 @@ namespace NExtractTools ...@@ -385,6 +386,7 @@ namespace NExtractTools
m_sPassword = NULL; m_sPassword = NULL;
m_sTempDir = NULL; m_sTempDir = NULL;
m_bIsNoBase64 = NULL; m_bIsNoBase64 = NULL;
m_bSaveXFile = NULL;
m_bOutputConvertCorrupted = false; m_bOutputConvertCorrupted = false;
} }
...@@ -411,6 +413,7 @@ namespace NExtractTools ...@@ -411,6 +413,7 @@ namespace NExtractTools
RELEASEOBJECT(m_sPassword); RELEASEOBJECT(m_sPassword);
RELEASEOBJECT(m_sTempDir); RELEASEOBJECT(m_sTempDir);
RELEASEOBJECT(m_bIsNoBase64); RELEASEOBJECT(m_bIsNoBase64);
RELEASEOBJECT(m_bSaveXFile);
} }
bool FromXmlFile(const std::wstring& sFilename) bool FromXmlFile(const std::wstring& sFilename)
...@@ -501,6 +504,8 @@ namespace NExtractTools ...@@ -501,6 +504,8 @@ namespace NExtractTools
m_sTempDir = new std::wstring(sValue); m_sTempDir = new std::wstring(sValue);
else if(_T("m_bIsNoBase64") == sName) else if(_T("m_bIsNoBase64") == sName)
m_bIsNoBase64 = new bool(XmlUtils::GetBoolean2(sValue)); m_bIsNoBase64 = new bool(XmlUtils::GetBoolean2(sValue));
else if(_T("m_bSaveXFile") == sName)
m_bSaveXFile = new bool(XmlUtils::GetBoolean2(sValue));
} }
else if(_T("m_nCsvDelimiterChar") == sName) else if(_T("m_nCsvDelimiterChar") == sName)
{ {
...@@ -532,6 +537,10 @@ namespace NExtractTools ...@@ -532,6 +537,10 @@ namespace NExtractTools
{ {
return (NULL != m_bIsNoBase64) ? (*m_bIsNoBase64) : false; return (NULL != m_bIsNoBase64) ? (*m_bIsNoBase64) : false;
} }
bool getSaveXFile() const
{
return (NULL != m_bSaveXFile) ? (*m_bSaveXFile) : false;
}
std::wstring getXmlOptions() std::wstring getXmlOptions()
{ {
std::wstring sRes; std::wstring sRes;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment