Guest User

Untitled

a guest
Nov 9th, 2023
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.58 KB | None | 0 0
  1. import os
  2. from urllib.parse import quote
  3. import docx
  4. from python_docx_replace import docx_replace
  5. import docx2pdf
  6.  
  7. class Document:
  8.     def __init__(self, help_name, file_name, template_file, directory_path):
  9.         self.help_name = help_name
  10.         self.file_name = file_name
  11.         self.template_file = template_file
  12.         self.directory_path = directory_path
  13.         self.replacements = {}
  14.         self.wp_req = False
  15.         self.pelnomocnictwo_req = False
  16.         self.pdf_req = False
  17.        
  18.     def add_replacement(self, key, value):
  19.         self.replacements[key] = value
  20.  
  21.     def generate(self):
  22.         doc = docx.Document(self.template_file)
  23.         docx_replace(doc, **self.replacements)
  24.         output_path = "wypelnione.docx"
  25.         doc.save(output_path)
  26.         if self.pdf_req == True:
  27.             docx2pdf.convert(output_path)
  28.         else:
  29.             pass
  30.  
  31.     def save(self):
  32.         # Logic to save the generated document to the specified directory.
  33.         pass
  34.  
  35.     def send_email(self, initial_name: str, toaddrs: str, subject: str, msg_content: str, attachment_list: list[str]):
  36.         pass
  37.  
  38.        
  39. wnioski_number = 7
  40. orange = Document("Zarząd Drogowy", "PR do ZD - Wniosek o uzgodnienie lokalizacji ", "template.docx", os.path.join(f"{wnioski_number}. Wnioski", "ZD"))
  41. orange.add_replacement("today_date", "2023-10-23")
  42. orange.add_replacement("title", "Budowa drogi")
  43. orange.add_replacement("city", "Kraków")
  44. orange.add_replacement("street", "Sławkowska")
  45. orange.wp_req = True
  46. orange.pelnomocnictwo_req = True
  47.  
  48.  
  49. orange.generate()
Advertisement
Add Comment
Please, Sign In to add comment