mirror of
				https://github.com/brain-tec/account_ebics.git
				synced 2025-11-04 07:00:35 +00:00 
			
		
		
		
	[FIX]account_ebics - fix split cfonb120 files
This commit is contained in:
		@@ -3,7 +3,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    "name": "EBICS banking protocol",
 | 
					    "name": "EBICS banking protocol",
 | 
				
			||||||
    "version": "17.0.1.1.0",
 | 
					    "version": "17.0.1.1.1",
 | 
				
			||||||
    "license": "LGPL-3",
 | 
					    "license": "LGPL-3",
 | 
				
			||||||
    "author": "Noviat",
 | 
					    "author": "Noviat",
 | 
				
			||||||
    "website": "https://www.noviat.com",
 | 
					    "website": "https://www.noviat.com",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -240,7 +240,7 @@ class EbicsFile(models.Model):
 | 
				
			|||||||
        if statements:
 | 
					        if statements:
 | 
				
			||||||
            statements.write({"import_format": file_format})
 | 
					            statements.write({"import_format": file_format})
 | 
				
			||||||
            statements = self._statement_duplicate_check(res, statements)
 | 
					            statements = self._statement_duplicate_check(res, statements)
 | 
				
			||||||
        else:
 | 
					        elif not notifications:
 | 
				
			||||||
            notifications.append(
 | 
					            notifications.append(
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    "type": "warning",
 | 
					                    "type": "warning",
 | 
				
			||||||
@@ -347,6 +347,7 @@ class EbicsFile(models.Model):
 | 
				
			|||||||
        self._check_import_module(import_module)
 | 
					        self._check_import_module(import_module)
 | 
				
			||||||
        res = {"statement_ids": [], "notifications": []}
 | 
					        res = {"statement_ids": [], "notifications": []}
 | 
				
			||||||
        st_datas = self._split_cfonb(res)
 | 
					        st_datas = self._split_cfonb(res)
 | 
				
			||||||
 | 
					        if st_datas:
 | 
				
			||||||
            self._process_bank_statement_oca(res, st_datas)
 | 
					            self._process_bank_statement_oca(res, st_datas)
 | 
				
			||||||
        return self._process_download_result(res, file_format="cfonb120")
 | 
					        return self._process_download_result(res, file_format="cfonb120")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -363,7 +364,19 @@ class EbicsFile(models.Model):
 | 
				
			|||||||
        """
 | 
					        """
 | 
				
			||||||
        datas = []
 | 
					        datas = []
 | 
				
			||||||
        file_data = base64.b64decode(self.data)
 | 
					        file_data = base64.b64decode(self.data)
 | 
				
			||||||
        lines = file_data.split(b"\n")
 | 
					        file_data.replace(b"\n", b"").replace(b"\r", b"")
 | 
				
			||||||
 | 
					        if len(file_data) % 120:
 | 
				
			||||||
 | 
					            message = _(
 | 
				
			||||||
 | 
					                "Incorrect CFONB120 file:\n"
 | 
				
			||||||
 | 
					                "the file is not divisible in 120 char lines"
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            res["notifications"].append({"type": "error", "message": message})
 | 
				
			||||||
 | 
					            return datas
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        lines = []
 | 
				
			||||||
 | 
					        for i in range(0, len(file_data), 120):
 | 
				
			||||||
 | 
					            lines.append(file_data[i : i + 120])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        st_lines = b""
 | 
					        st_lines = b""
 | 
				
			||||||
        transactions = False
 | 
					        transactions = False
 | 
				
			||||||
        for line in lines:
 | 
					        for line in lines:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user