2022.01.25.1

This commit is contained in:
ульба 2022-01-25 15:41:02 +05:00
parent b9058b05ff
commit 3425ee78e2
5 changed files with 32 additions and 13 deletions

View File

@ -1,9 +1,9 @@
import logging import logging
import os import os
from TemporaryStorage import TemporaryStorageInstance
from importlib import import_module from importlib import import_module
from typing import List from typing import List
from PIL import Image from PIL import Image
from MockupEngineer import templates from MockupEngineer import templates
@ -18,6 +18,7 @@ class MockupEngineerInstance:
def __init__(self): def __init__(self):
self.logger = logging.getLogger('MockupEngineer') self.logger = logging.getLogger('MockupEngineer')
self.templates: List[templates.Template] = [] self.templates: List[templates.Template] = []
self.storage = TemporaryStorageInstance()
for template in templates.ALL_TEMPLATES: for template in templates.ALL_TEMPLATES:
self.templates.append(getattr( self.templates.append(getattr(
@ -83,7 +84,7 @@ class MockupEngineerInstance:
def generate(self, template: templates.Template, def generate(self, template: templates.Template,
screenshot_path: str, color: str = None, screenshot_path: str, color: str = None,
orientation: str = None) -> str: orientation: str = None, external_storage: bool = False) -> str:
if not orientation: if not orientation:
img = Image.open(screenshot_path) img = Image.open(screenshot_path)
width, height = img.size width, height = img.size
@ -128,4 +129,13 @@ class MockupEngineerInstance:
os.remove(resized_screenshot_path) os.remove(resized_screenshot_path)
return mockup_path if not external_storage:
return mockup_path
else:
uploaded = self.storage.upload(mockup_path)
if uploaded and uploaded.url:
os.remove(mockup_path)
return uploaded.url
else:
return mockup_path

View File

@ -20,7 +20,7 @@ def main():
print('- - - - - - - - - -') print('- - - - - - - - - -')
screenshot = input('Enter path to screenshot: ') screenshot = input('Enter path to screenshot: ')
print('- - - - - - - - - -\nWorking...') print('- - - - - - - - - -\nWorking...')
mockup = mockup.generate(template, screenshot, color) mockup = mockup.generate(template, screenshot, color, external_storage=True)
print('- - - - - - - - - -\nSuccess: {}'.format(mockup)) print('- - - - - - - - - -\nSuccess: {}'.format(mockup))
os.system('open {}'.format(mockup)) os.system('open {}'.format(mockup))

View File

@ -13,8 +13,8 @@
* [Example](https://github.com/ulbwazhine/MockupEngineer#example) * [Example](https://github.com/ulbwazhine/MockupEngineer#example)
* [Install](https://github.com/ulbwazhine/MockupEngineer#install) * [Install](https://github.com/ulbwazhine/MockupEngineer#install)
* [Usage](https://github.com/ulbwazhine/MockupEngineer#usage) * [Usage](https://github.com/ulbwazhine/MockupEngineer#usage)
* [In Python console](https://github.com/ulbwazhine/MockupEngineer#in-python-console)
* [As a standalone application](https://github.com/ulbwazhine/MockupEngineer#as-a-standalone-application) * [As a standalone application](https://github.com/ulbwazhine/MockupEngineer#as-a-standalone-application)
* [In Python console](https://github.com/ulbwazhine/MockupEngineer#in-python-console)
* [List of supported mockups](https://github.com/ulbwazhine/MockupEngineer#list-of-supported-mockups) * [List of supported mockups](https://github.com/ulbwazhine/MockupEngineer#list-of-supported-mockups)
* [Phones](https://github.com/ulbwazhine/MockupEngineer#phones) * [Phones](https://github.com/ulbwazhine/MockupEngineer#phones)
* [Tablets](https://github.com/ulbwazhine/MockupEngineer#tablets) * [Tablets](https://github.com/ulbwazhine/MockupEngineer#tablets)
@ -36,6 +36,11 @@ $ python3 -m pip install MockupEngineer
## Usage ## Usage
#### As a standalone application:
```console
$ python3 -m MockupEngineer
```
#### In Python console: #### In Python console:
```python ```python
@ -52,10 +57,12 @@ mockup.generate(template=mockup.templates[0],
>>> /path/to/mockup >>> /path/to/mockup
``` ```
#### As a standalone application: ##### `MockupEngineerInstance.generate` parameters:
```console * `template`: *Template* — Device template model, must be passed from *MockupEngineerInstance.templates* or *MockupEngineerInstance.get_templates()*.
$ python3 -m MockupEngineer * `screenshot_path`: *str* — Absolute path to the image in **JPG, PNG format**.
``` * `color`: *Optional[str]* — Optional parameter, force device color. Must be passed according to *Template.colors[**n**].color*
* `orientation`: *str* — Optional parameter, force device orientation. Must be *landscape* or *portrait*.
* `external_storage`: *Optional[bool]* — Optional parameter, true if you need to upload mockup on [TemporaryStorage](https://github.com/ulbwazhine/TemporaryStorage) (0x0.st etc)
## List of supported mockups ## List of supported mockups

View File

@ -1,2 +1,4 @@
Pillow>=8.4.0 Pillow>=8.4.0
setuptools>=59.2.0 setuptools>=59.2.0
MockupEngineer>=2022.1.23.18
TemporaryStorage>=2022.1.25.3

View File

@ -3,13 +3,13 @@ from setuptools import setup, find_packages
setup( setup(
name='MockupEngineer', name='MockupEngineer',
version='2022.01.23.19', version='2022.01.25.1',
packages=find_packages(), packages=find_packages(),
url='https://github.com/ulbwazhine/MockupEngineer', url='https://github.com/ulbwazhine/MockupEngineer',
license='MIT', license='MIT',
author='Ulbwazhine', author='Ulbwazhine',
author_email='ulbwa@icloud.com', author_email='ulbwa@icloud.com',
description='An simple library for creating beautiful screenshots.', description='A simple library for creating beautiful screenshots.',
install_requires=[line.strip() for line in open("requirements.txt").readlines()], install_requires=[line.strip() for line in open("requirements.txt").readlines()],
long_description=open('readme.md', 'r').read(), long_description=open('readme.md', 'r').read(),
long_description_content_type='text/markdown', long_description_content_type='text/markdown',