Skip to content

Commit

Permalink
Merge branch 'dev' into feature/Replace-pdfkit-with-fpdf
Browse files Browse the repository at this point in the history
  • Loading branch information
barseghyanartur committed Jan 20, 2023
2 parents b00c88e + c523819 commit 650b0e9
Show file tree
Hide file tree
Showing 18 changed files with 565 additions and 72 deletions.
4 changes: 2 additions & 2 deletions .secrets.baseline
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@
"filename": "README.rst",
"hashed_secret": "077d5a0e0f8bb517307a6e92a73b0a9aa959233c",
"is_verified": true,
"line_number": 342
"line_number": 345
}
],
"examples/django_example/project/settings/base.py": [
Expand Down Expand Up @@ -149,5 +149,5 @@
}
]
},
"generated_at": "2023-01-19T20:19:59Z"
"generated_at": "2023-01-20T22:29:59Z"
}
7 changes: 7 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ are used for versioning (schema follows below):
0.3.4 to 0.4).
- All backwards incompatible changes are mentioned in this document.

0.10.12
-------
2023-01-21

- Add ``TarFileProvider`` and ``create_inner_tar_file`` function.
- Add ``OdpFileProvider`` and ``create_inner_odp_file`` function.

0.10.11
-------
2023-01-20
Expand Down
3 changes: 3 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ below between the brackets.
- ``MP3`` file support requires ``gtts`` (`MIT`) or ``edge-tts`` (`GPLv3`).
- ``PDF`` file support requires ``fpdf2`` (`LGPLv3+`).
- ``PPTX`` file support requires ``python-pptx`` (`MIT`).
- ``ODP`` file support requires ``odfpy`` (`Apache 2`).
- ``ODS`` file support requires ``tablib`` (`MIT`) and ``odfpy`` (`Apache 2`).
- ``ODT`` file support requires ``odfpy`` (`Apache 2`).
- ``XLSX`` file support requires ``tablib`` (`MIT`) and ``openpyxl`` (`MIT`).
Expand Down Expand Up @@ -163,11 +164,13 @@ Supported file types
- ``MP3``
- ``ODS``
- ``ODT``
- ``ODP``
- ``PDF``
- ``PNG``
- ``RTF``
- ``PPTX``
- ``SVG``
- ``TAR``
- ``TXT``
- ``WEBP``
- ``XLSX``
Expand Down
16 changes: 16 additions & 0 deletions docs/quick_start.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ With ``Faker``
from faker_file.providers.ico_file import IcoFileProvider
from faker_file.providers.jpeg_file import JpegFileProvider
from faker_file.providers.mp3_file import Mp3FileProvider
from faker_file.providers.odp_file import OdpFileProvider
from faker_file.providers.ods_file import OdsFileProvider
from faker_file.providers.odt_file import OdtFileProvider
from faker_file.providers.pdf_file import PdfFileProvider
Expand All @@ -33,6 +34,7 @@ With ``Faker``
from faker_file.providers.random_file_from_dir import RandomFileFromDirProvider
from faker_file.providers.rtf_file import RtfFileProvider
from faker_file.providers.svg_file import SvgFileProvider
from faker_file.providers.tar_file import TarFileProvider
from faker_file.providers.txt_file import TxtFileProvider
from faker_file.providers.webp_file import WebpFileProvider
from faker_file.providers.xlsx_file import XlsxFileProvider
Expand All @@ -48,6 +50,7 @@ With ``Faker``
FAKER.add_provider(IcoFileProvider)
FAKER.add_provider(JpegFileProvider)
FAKER.add_provider(Mp3FileProvider)
FAKER.add_provider(OdpFileProvider)
FAKER.add_provider(OdsFileProvider)
FAKER.add_provider(OdtFileProvider)
FAKER.add_provider(PdfFileProvider)
Expand All @@ -56,6 +59,7 @@ With ``Faker``
FAKER.add_provider(RandomFileFromDirProvider)
FAKER.add_provider(RtfFileProvider)
FAKER.add_provider(SvgFileProvider)
FAKER.add_provider(TarFileProvider)
FAKER.add_provider(TxtFileProvider)
FAKER.add_provider(WebpFileProvider)
FAKER.add_provider(XlsxFileProvider)
Expand All @@ -74,6 +78,7 @@ With ``Faker``
ico_file = FAKER.ico_file()
jpeg_file = FAKER.jpeg_file()
mp3_file = FAKER.mp3_file()
odp_file = FAKER.odp_file()
ods_file = FAKER.ods_file()
odt_file = FAKER.odt_file()
pdf_file = FAKER.pdf_file()
Expand All @@ -82,6 +87,7 @@ With ``Faker``
random_file = FAKER.random_file_from_dir(source_dir_path="/path/to/source/",)
rtf_file = FAKER.rtf_file()
svg_file = FAKER.svg_file()
tar_file = FAKER.tar_file()
txt_file = FAKER.txt_file()
webp_file = FAKER.webp_file()
xlsx_file = FAKER.xlsx_file()
Expand All @@ -104,6 +110,7 @@ With ``factory_boy``
from faker_file.providers.ico_file import IcoFileProvider
from faker_file.providers.jpeg_file import JpegFileProvider
from faker_file.providers.mp3_file import Mp3FileProvider
from faker_file.providers.odp_file import OdpFileProvider
from faker_file.providers.ods_file import OdsFileProvider
from faker_file.providers.odt_file import OdtFileProvider
from faker_file.providers.pdf_file import PdfFileProvider
Expand All @@ -112,6 +119,7 @@ With ``factory_boy``
from faker_file.providers.random_file_from_dir import RandomFileFromDirProvider
from faker_file.providers.rtf_file import RtfFileProvider
from faker_file.providers.svg_file import SvgFileProvider
from faker_file.providers.tar_file import TarFileProvider
from faker_file.providers.txt_file import TxtFileProvider
from faker_file.providers.webp_file import WebpFileProvider
from faker_file.providers.xlsx_file import XlsxFileProvider
Expand All @@ -126,6 +134,7 @@ With ``factory_boy``
Faker.add_provider(IcoFileProvider)
Faker.add_provider(JpegFileProvider)
Faker.add_provider(Mp3FileProvider)
Faker.add_provider(OdpFileProvider)
Faker.add_provider(OdsFileProvider)
Faker.add_provider(OdtFileProvider)
Faker.add_provider(PdfFileProvider)
Expand All @@ -134,6 +143,7 @@ With ``factory_boy``
Faker.add_provider(RandomFileFromDirProvider)
Faker.add_provider(RtfFileProvider)
Faker.add_provider(SvgFileProvider)
Faker.add_provider(TarFileProvider)
Faker.add_provider(TxtFileProvider)
Faker.add_provider(WebpFileProvider)
Faker.add_provider(XlsxFileProvider)
Expand Down Expand Up @@ -184,6 +194,7 @@ upload/factories.py
from faker_file.providers.ico_file import IcoFileProvider
from faker_file.providers.jpeg_file import JpegFileProvider
from faker_file.providers.mp3_file import Mp3FileProvider
from faker_file.providers.odp_file import OdpFileProvider
from faker_file.providers.ods_file import OdsFileProvider
from faker_file.providers.odt_file import OdtFileProvider
from faker_file.providers.pdf_file import PdfFileProvider
Expand All @@ -194,6 +205,7 @@ upload/factories.py
)
from faker_file.providers.rtf_file import RtfFileProvider
from faker_file.providers.svg_file import SvgFileProvider
from faker_file.providers.tar_file import TarFileProvider
from faker_file.providers.txt_file import TxtFileProvider
from faker_file.providers.webp_file import WebpFileProvider
from faker_file.providers.xlsx_file import XlsxFileProvider
Expand All @@ -215,6 +227,7 @@ upload/factories.py
Faker.add_provider(IcoFileProvider)
Faker.add_provider(JpegFileProvider)
Faker.add_provider(Mp3FileProvider)
Faker.add_provider(OdpFileProvider)
Faker.add_provider(OdsFileProvider)
Faker.add_provider(OdtFileProvider)
Faker.add_provider(PdfFileProvider)
Expand All @@ -223,6 +236,7 @@ upload/factories.py
Faker.add_provider(RandomFileFromDirProvider)
Faker.add_provider(RtfFileProvider)
Faker.add_provider(SvgFileProvider)
Faker.add_provider(TarFileProvider)
Faker.add_provider(TxtFileProvider)
Faker.add_provider(WebpFileProvider)
Faker.add_provider(XlsxFileProvider)
Expand Down Expand Up @@ -253,13 +267,15 @@ upload/factories.py
ico_file = Trait(file=Faker("ico_file", storage=STORAGE))
jpeg_file = Trait(file=Faker("jpeg_file", storage=STORAGE))
mp3_file = Trait(file=Faker("mp3_file", storage=STORAGE))
odp_file = Trait(file=Faker("odp_file", storage=STORAGE))
ods_file = Trait(file=Faker("ods_file", storage=STORAGE))
odt_file = Trait(file=Faker("odt_file", storage=STORAGE))
pdf_file = Trait(file=Faker("pdf_file", storage=STORAGE))
png_file = Trait(file=Faker("png_file", storage=STORAGE))
pptx_file = Trait(file=Faker("pptx_file", storage=STORAGE))
rtf_file = Trait(file=Faker("rtf_file", storage=STORAGE))
svg_file = Trait(file=Faker("svg_file", storage=STORAGE))
tar_file = Trait(file=Faker("tar_file", storage=STORAGE))
txt_file = Trait(file=Faker("txt_file", storage=STORAGE))
webp_file = Trait(file=Faker("webp_file", storage=STORAGE))
xlsx_file = Trait(file=Faker("xlsx_file", storage=STORAGE))
Expand Down
10 changes: 9 additions & 1 deletion examples/django_example/factories/upload_upload.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,15 @@
from faker_file.providers.ico_file import IcoFileProvider
from faker_file.providers.jpeg_file import JpegFileProvider
from faker_file.providers.mp3_file import Mp3FileProvider
from faker_file.providers.odp_file import OdpFileProvider
from faker_file.providers.ods_file import OdsFileProvider
from faker_file.providers.odt_file import OdtFileProvider
from faker_file.providers.pdf_file import PdfFileProvider
from faker_file.providers.png_file import PngFileProvider
from faker_file.providers.pptx_file import PptxFileProvider
from faker_file.providers.rtf_file import RtfFileProvider
from faker_file.providers.svg_file import SvgFileProvider
from faker_file.providers.tar_file import TarFileProvider
from faker_file.providers.txt_file import TxtFileProvider
from faker_file.providers.webp_file import WebpFileProvider
from faker_file.providers.xlsx_file import XlsxFileProvider
Expand All @@ -40,13 +42,15 @@
Faker.add_provider(IcoFileProvider)
Faker.add_provider(JpegFileProvider)
Faker.add_provider(Mp3FileProvider)
Faker.add_provider(OdpFileProvider)
Faker.add_provider(OdsFileProvider)
Faker.add_provider(OdtFileProvider)
Faker.add_provider(PdfFileProvider)
Faker.add_provider(PngFileProvider)
Faker.add_provider(PptxFileProvider)
Faker.add_provider(RtfFileProvider)
Faker.add_provider(SvgFileProvider)
Faker.add_provider(TarFileProvider)
Faker.add_provider(TxtFileProvider)
Faker.add_provider(WebpFileProvider)
Faker.add_provider(XlsxFileProvider)
Expand Down Expand Up @@ -81,13 +85,15 @@
lambda: IcoFileProvider(None).ico_file(storage=STORAGE),
lambda: JpegFileProvider(None).jpeg_file(storage=STORAGE),
lambda: Mp3FileProvider(None).mp3_file(storage=STORAGE),
lambda: OdpFileProvider(None).odp_file(storage=STORAGE),
lambda: OdsFileProvider(None).ods_file(storage=STORAGE),
lambda: OdtFileProvider(None).odt_file(storage=STORAGE),
lambda: PdfFileProvider(None).pdf_file(storage=STORAGE),
lambda: PngFileProvider(None).png_file(storage=STORAGE),
lambda: PptxFileProvider(None).pptx_file(storage=STORAGE),
lambda: RtfFileProvider(None).rtf_file(storage=STORAGE),
lambda: SvgFileProvider(None).svg_file(storage=STORAGE),
lambda: TarFileProvider(None).tar_file(storage=STORAGE),
lambda: TxtFileProvider(None).txt_file(storage=STORAGE),
lambda: XlsxFileProvider(None).xlsx_file(storage=STORAGE),
lambda: ZipFileProvider(None).zip_file(storage=STORAGE),
Expand All @@ -99,7 +105,7 @@ def pick_random_provider(*args, **kwargs):


class AbstractUploadFactory(DjangoModelFactory):
"""Base Upload factory."""
"""Abstract Upload factory."""

name = Faker("text", max_nb_chars=100)
description = Faker("text", max_nb_chars=1000)
Expand All @@ -123,13 +129,15 @@ class Params:
ico_file = Trait(file=Faker("ico_file", storage=STORAGE))
jpeg_file = Trait(file=Faker("jpeg_file", storage=STORAGE))
mp3_file = Trait(file=Faker("mp3_file", storage=STORAGE))
odp_file = Trait(file=Faker("odp_file", storage=STORAGE))
ods_file = Trait(file=Faker("ods_file", storage=STORAGE))
odt_file = Trait(file=Faker("odt_file", storage=STORAGE))
pdf_file = Trait(file=Faker("pdf_file", storage=STORAGE))
png_file = Trait(file=Faker("png_file", storage=STORAGE))
pptx_file = Trait(file=Faker("pptx_file", storage=STORAGE))
rtf_file = Trait(file=Faker("rtf_file", storage=STORAGE))
svg_file = Trait(file=Faker("svg_file", storage=STORAGE))
tar_file = Trait(file=Faker("tar_file", storage=STORAGE))
txt_file = Trait(file=Faker("txt_file", storage=STORAGE))
webp_file = Trait(file=Faker("webp_file", storage=STORAGE))
xlsx_file = Trait(file=Faker("xlsx_file", storage=STORAGE))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@
from faker_file.providers.ico_file import IcoFileProvider
from faker_file.providers.jpeg_file import JpegFileProvider
from faker_file.providers.mp3_file import Mp3FileProvider
from faker_file.providers.odp_file import OdpFileProvider
from faker_file.providers.ods_file import OdsFileProvider
from faker_file.providers.odt_file import OdtFileProvider
from faker_file.providers.pdf_file import PdfFileProvider
from faker_file.providers.png_file import PngFileProvider
from faker_file.providers.pptx_file import PptxFileProvider
from faker_file.providers.rtf_file import RtfFileProvider
from faker_file.providers.svg_file import SvgFileProvider
from faker_file.providers.tar_file import TarFileProvider
from faker_file.providers.txt_file import TxtFileProvider
from faker_file.providers.webp_file import WebpFileProvider
from faker_file.providers.xlsx_file import XlsxFileProvider
Expand All @@ -37,13 +39,15 @@
Faker.add_provider(IcoFileProvider)
Faker.add_provider(JpegFileProvider)
Faker.add_provider(Mp3FileProvider)
Faker.add_provider(OdpFileProvider)
Faker.add_provider(OdsFileProvider)
Faker.add_provider(OdtFileProvider)
Faker.add_provider(PdfFileProvider)
Faker.add_provider(PngFileProvider)
Faker.add_provider(PptxFileProvider)
Faker.add_provider(RtfFileProvider)
Faker.add_provider(SvgFileProvider)
Faker.add_provider(TarFileProvider)
Faker.add_provider(TxtFileProvider)
Faker.add_provider(WebpFileProvider)
Faker.add_provider(XlsxFileProvider)
Expand All @@ -62,13 +66,15 @@
lambda: IcoFileProvider(None).ico_file(storage=STORAGE),
lambda: JpegFileProvider(None).jpeg_file(storage=STORAGE),
lambda: Mp3FileProvider(None).mp3_file(storage=STORAGE),
lambda: OdpFileProvider(None).odp_file(storage=STORAGE),
lambda: OdsFileProvider(None).ods_file(storage=STORAGE),
lambda: OdtFileProvider(None).odt_file(storage=STORAGE),
lambda: PdfFileProvider(None).pdf_file(storage=STORAGE),
lambda: PngFileProvider(None).png_file(storage=STORAGE),
lambda: PptxFileProvider(None).pptx_file(storage=STORAGE),
lambda: RtfFileProvider(None).rtf_file(storage=STORAGE),
lambda: SvgFileProvider(None).svg_file(storage=STORAGE),
lambda: TarFileProvider(None).tar_file(storage=STORAGE),
lambda: TxtFileProvider(None).txt_file(storage=STORAGE),
lambda: XlsxFileProvider(None).xlsx_file(storage=STORAGE),
lambda: ZipFileProvider(None).zip_file(storage=STORAGE),
Expand All @@ -80,7 +86,7 @@ def pick_random_provider(*args, **kwargs):


class AbstractUploadFactory(SQLAlchemyModelFactory):
"""Base Upload factory.
"""Abstract Upload factory.
Usage example:
Expand Down Expand Up @@ -116,13 +122,15 @@ class Params:
ico_file = Trait(file=Faker("ico_file", storage=STORAGE))
jpeg_file = Trait(file=Faker("jpeg_file", storage=STORAGE))
mp3_file = Trait(file=Faker("mp3_file", storage=STORAGE))
odp_file = Trait(file=Faker("odp_file", storage=STORAGE))
ods_file = Trait(file=Faker("ods_file", storage=STORAGE))
odt_file = Trait(file=Faker("odt_file", storage=STORAGE))
pdf_file = Trait(file=Faker("pdf_file", storage=STORAGE))
png_file = Trait(file=Faker("png_file", storage=STORAGE))
pptx_file = Trait(file=Faker("pptx_file", storage=STORAGE))
rtf_file = Trait(file=Faker("rtf_file", storage=STORAGE))
svg_file = Trait(file=Faker("svg_file", storage=STORAGE))
tar_file = Trait(file=Faker("tar_file", storage=STORAGE))
txt_file = Trait(file=Faker("txt_file", storage=STORAGE))
webp_file = Trait(file=Faker("webp_file", storage=STORAGE))
xlsx_file = Trait(file=Faker("xlsx_file", storage=STORAGE))
Expand Down
5 changes: 3 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from setuptools import find_packages, setup

version = "0.10.11"
version = "0.10.12"

try:
readme = open(os.path.join(os.path.dirname(__file__), "README.rst")).read()
Expand Down Expand Up @@ -30,7 +30,7 @@
_common = [
"Faker", # core
"imgkit", # images: ICO, JPEG, PNG, SVG, WEBP
"odfpy", # ODS, ODT
"odfpy", # ODP, ODS, ODT
"openpyxl", # XLSX
"pathy[all]", # remote storages: Azure, GCS, S3
"fpdf2", # PDF
Expand Down Expand Up @@ -61,6 +61,7 @@
"mp3": ["gtts", "edge-tts"],
"mp3-edge-tts": ["edge-tts"],
"mp3-gtts": ["gtts"],
"odp": ["odfpy"],
"ods": ["tablib", "odfpy"],
"odt": ["odfpy"],
"pdf": ["fpdf2"],
Expand Down
2 changes: 1 addition & 1 deletion src/faker_file/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
__title__ = "faker_file"
__version__ = "0.10.11"
__version__ = "0.10.12"
__author__ = "Artur Barseghyan <artur.barseghyan@gmail.com>"
__copyright__ = "2022-2023 Artur Barseghyan"
__license__ = "MIT"
3 changes: 1 addition & 2 deletions src/faker_file/providers/docx_file.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,8 @@ def docx_file(
document = Document()
document.add_paragraph(content)
document.save(_fake_file)
_fake_file.seek(0)

storage.write_bytes(filename, _fake_file.read())
storage.write_bytes(filename, _fake_file.getvalue())

# Generic
file_name = StringValue(storage.relpath(filename))
Expand Down

0 comments on commit 650b0e9

Please sign in to comment.