How to combine methods uploading file?
Question:
I have a Django application
And I have a upload functionality. And I have two methods that shows the extracted text:
def filter_verdi_total_number_fruit(self, file_name):
self.extractingText.extract_text_from_image(file_name)
regex = r"(d*(?:.d+)*)s*W+(?:" + '|'.join(re.escape(word)
for word in self.extractingText.list_fruit) + ')'
return re.findall(regex, self.extractingText.text_factuur_verdi[0])
def filter_verdi_fruit_name(self, file_name):
self.extractingText.extract_text_from_image(file_name)
regex = r"(?:d*(?:.d+)*)s*W+(" + '|'.join(re.escape(word)
for word in self.extractingText.list_fruit) + ')'
return re.findall(regex, self.extractingText.text_factuur_verdi[0])
But as you can see. There are some duplicate code. Like:
file_name
and:
re.findall(regex, self.extractingText.text_factuur_verdi[0])
So I try to combine this two methods in one method:
def combine_methods(self, file_name):
self.filter_verdi_total_number_fruit(file_name)
self.filter_verdi_fruit_name(file_name)
and then I try to call the combined method in the views.py:
if uploadfile.image.path.endswith('.pdf'):
content ='n'.join(filter_text.combine_methods(uploadfile.image.path))
But then I get this error:
can only join an iterable
Exception Location: C:UsersengelDocumentsNVWAsoftwareblockchainfruitmainviews.py, line 50, in post
Raised during: main.views.ReadingFile
Question: how can I change this?
Answers:
I think you have forgotten return
statement in combine_methods
function, so it returns None, which cannot be "joined" in content='n'.join(filter_text.combine_methods(uploadfile.image.path))
I have a Django application
And I have a upload functionality. And I have two methods that shows the extracted text:
def filter_verdi_total_number_fruit(self, file_name):
self.extractingText.extract_text_from_image(file_name)
regex = r"(d*(?:.d+)*)s*W+(?:" + '|'.join(re.escape(word)
for word in self.extractingText.list_fruit) + ')'
return re.findall(regex, self.extractingText.text_factuur_verdi[0])
def filter_verdi_fruit_name(self, file_name):
self.extractingText.extract_text_from_image(file_name)
regex = r"(?:d*(?:.d+)*)s*W+(" + '|'.join(re.escape(word)
for word in self.extractingText.list_fruit) + ')'
return re.findall(regex, self.extractingText.text_factuur_verdi[0])
But as you can see. There are some duplicate code. Like:
file_name
and:
re.findall(regex, self.extractingText.text_factuur_verdi[0])
So I try to combine this two methods in one method:
def combine_methods(self, file_name):
self.filter_verdi_total_number_fruit(file_name)
self.filter_verdi_fruit_name(file_name)
and then I try to call the combined method in the views.py:
if uploadfile.image.path.endswith('.pdf'):
content ='n'.join(filter_text.combine_methods(uploadfile.image.path))
But then I get this error:
can only join an iterable
Exception Location: C:UsersengelDocumentsNVWAsoftwareblockchainfruitmainviews.py, line 50, in post
Raised during: main.views.ReadingFile
Question: how can I change this?
I think you have forgotten return
statement in combine_methods
function, so it returns None, which cannot be "joined" in content='n'.join(filter_text.combine_methods(uploadfile.image.path))