Browse Source

Restructured the Dumb Paint Tool files and export

pull/257/head
Eugenio Parodi 2 years ago
parent
commit
1f637092db
  1. 2
      run.dumbPaintTool.sh
  2. 30
      tools/dumbPaintTool.py
  3. 17
      tools/dumbPaintTool/README.md
  4. 26
      tools/dumbPaintTool/__init__.py
  5. 26
      tools/dumbPaintTool/__main__.py
  6. 3
      tools/dumbPaintTool/app/__init__.py
  7. 3
      tools/dumbPaintTool/app/about.py
  8. 3
      tools/dumbPaintTool/app/brush.py
  9. 3
      tools/dumbPaintTool/app/canvaslayer.py
  10. 0
      tools/dumbPaintTool/app/const.py
  11. 3
      tools/dumbPaintTool/app/exportarea.py
  12. 0
      tools/dumbPaintTool/app/filters/__init__.py
  13. 3
      tools/dumbPaintTool/app/filters/brightness_contrast.py
  14. 3
      tools/dumbPaintTool/app/filters/hue_chroma_lightness.py
  15. 2
      tools/dumbPaintTool/app/glbls.py
  16. 2
      tools/dumbPaintTool/app/importimage.py
  17. 3
      tools/dumbPaintTool/app/layers.py
  18. 8
      tools/dumbPaintTool/app/main.py
  19. 5
      tools/dumbPaintTool/app/maintemplate.py
  20. 3
      tools/dumbPaintTool/app/paintarea.py
  21. 5
      tools/dumbPaintTool/app/painttoolkit.py
  22. 3
      tools/dumbPaintTool/app/palette.py
  23. 3
      tools/dumbPaintTool/app/textarea.py
  24. 6
      tools/dumbPaintTool/app/toolspanel.py
  25. 0
      tools/dumbPaintTool/tui/paintToolKit.tui.json
  26. 0
      tools/dumbPaintTool/tui/quickImport.tui.json
  27. 0
      tools/dumbPaintTool/tui/tools.tui.json
  28. 12
      tools/dumbPaintTool/web.ttk.package.json
  29. 26
      tools/webExporterInit.sh

2
run.dumbPaintTool.sh

@ -0,0 +1,2 @@
#!/usr/bin/env bash
PYTHONPATH=$(pwd)/tools python3 -m dumbPaintTool $@

30
tools/dumbPaintTool.py

@ -0,0 +1,30 @@
#!/usr/bin/env python3
# MIT License
#
# Copyright (c) 2023 Eugenio Parodi <ceccopierangiolieugenio AT googlemail DOT com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
import sys,os
sys.path.append(os.path.join(sys.path[0],'..'))
from dumbPaintTool.app import main
if __name__ == '__main__':
main()

17
tools/dumbPaintTool/README.md

@ -0,0 +1,17 @@
![Linux](https://img.shields.io/badge/-Linux-grey?logo=linux)
![Usage](https://img.shields.io/badge/Usage-Terminal%20User%20Interface-yellow)
![Python](https://img.shields.io/badge/Python-v3.9%5E-green?logo=python)
![pyTermTk_version](https://img.shields.io/github/v/tag/ceccopierangiolieugenio/pyTermTk?label=version)
[![Test Status](https://img.shields.io/github/actions/workflow/status/ceccopierangiolieugenio/pyTermTk/testing.yml?branch=main&label=tests)](https://github.com/ceccopierangiolieugenio/pyTermTk/actions?query=workflow%3Atesting)
[![pypi_version](https://img.shields.io/pypi/v/ttkDesigner?label=pypi)](https://pypi.org/project/dumbPaintTool)
[![pypi_version](https://img.shields.io/twitter/follow/Pier95886803?style=social&logo=twitter)](https://twitter.com/hashtag/pyTermTk?src=hashtag_click&f=live)
[![dpt hero](https://github.com/ceccopierangiolieugenio/pyTermTk/assets/8876552/b5d7b870-1217-45a0-9fec-17358b563aa9)](https://pypi.org/project/tools/dumbPaintTool)
## [the Dumb Paint Tool](https://github.com/ceccopierangiolieugenio/pyTermTk/tree/main/tools/dumbPaintTool)
A Terminal ASCII Photoshop
Try it live on [itch.io](https://ceccopierangiolieugenio.itch.io/dumb-paint-tool)

26
tools/dumbPaintTool/__init__.py

@ -0,0 +1,26 @@
# MIT License
#
# Copyright (c) 2023 Eugenio Parodi <ceccopierangiolieugenio AT googlemail DOT com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
from .app import main
if __name__ == "__main__":
main()

26
tools/dumbPaintTool/__main__.py

@ -0,0 +1,26 @@
# MIT License
#
# Copyright (c) 2023 Eugenio Parodi <ceccopierangiolieugenio AT googlemail DOT com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
from .app import main
if __name__ == '__main__':
main()

3
tools/dumb_paint_lib/__init__.py → tools/dumbPaintTool/app/__init__.py

@ -1,3 +1,4 @@
from .main import *
from .maintemplate import *
from .toolspanel import *
from .paintarea import *
@ -12,4 +13,4 @@ from .glbls import *
from .const import *
from .filters import *
from .importimage import *
from .exportarea import *
from .exportarea import *

3
tools/dumb_paint_lib/about.py → tools/dumbPaintTool/app/about.py

@ -22,9 +22,6 @@
__all__ = ['About']
import sys, os
sys.path.append(os.path.join(sys.path[0],'../..'))
import TermTk as ttk
_DPT_image = ttk.TTkUtil.base64_deflate_2_obj(

3
tools/dumb_paint_lib/brush.py → tools/dumbPaintTool/app/brush.py

@ -22,9 +22,6 @@
__all__ = ['Brush']
import sys, os
sys.path.append(os.path.join(sys.path[0],'../..'))
import TermTk as ttk
from .const import ToolType

3
tools/dumb_paint_lib/canvaslayer.py → tools/dumbPaintTool/app/canvaslayer.py

@ -22,9 +22,6 @@
__all__ = ['CanvasLayer']
import sys, os
sys.path.append(os.path.join(sys.path[0],'../..'))
import TermTk as ttk
from .const import ToolType

0
tools/dumb_paint_lib/const.py → tools/dumbPaintTool/app/const.py

3
tools/dumb_paint_lib/exportarea.py → tools/dumbPaintTool/app/exportarea.py

@ -22,9 +22,6 @@
__all__ = ['ExportArea']
import sys, os
sys.path.append(os.path.join(sys.path[0],'../..'))
import TermTk as ttk
from .paintarea import PaintArea

0
tools/dumb_paint_lib/filters/__init__.py → tools/dumbPaintTool/app/filters/__init__.py

3
tools/dumb_paint_lib/filters/brightness_contrast.py → tools/dumbPaintTool/app/filters/brightness_contrast.py

@ -22,9 +22,6 @@
__all__ = ['BrightnessContrast']
import sys, os
sys.path.append(os.path.join(sys.path[0],'../../..'))
import TermTk as ttk
from ..glbls import glbls

3
tools/dumb_paint_lib/filters/hue_chroma_lightness.py → tools/dumbPaintTool/app/filters/hue_chroma_lightness.py

@ -22,9 +22,6 @@
__all__ = ['HueChromaLightness']
import sys, os
sys.path.append(os.path.join(sys.path[0],'../../..'))
import TermTk as ttk
from ..glbls import glbls

2
tools/dumb_paint_lib/glbls.py → tools/dumbPaintTool/app/glbls.py

@ -24,8 +24,6 @@ __all__ = ['glbls']
from dataclasses import dataclass
import sys, os
sys.path.append(os.path.join(sys.path[0],'../..'))
import TermTk as ttk
from .brush import Brush

2
tools/dumb_paint_lib/importimage.py → tools/dumbPaintTool/app/importimage.py

@ -22,10 +22,8 @@
__all__ = ['ImportImage']
import sys, os, json
from PIL import Image
sys.path.append(os.path.join(sys.path[0],'../..'))
import TermTk as ttk
class TTkImageNew(ttk.TTkWidget):

3
tools/dumb_paint_lib/layers.py → tools/dumbPaintTool/app/layers.py

@ -22,9 +22,6 @@
__all__ = ['Layers','LayerData']
import sys, os
sys.path.append(os.path.join(sys.path[0],'../..'))
import TermTk as ttk
class LayerData():

8
tools/dumb.paint.tool.py → tools/dumbPaintTool/app/main.py

@ -1,5 +1,4 @@
#!/usr/bin/env python3
# MIT License
#
# Copyright (c) 2024 Eugenio Parodi <ceccopierangiolieugenio AT googlemail DOT com>
@ -22,12 +21,13 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
import sys, os, argparse
__all__ = ['main']
import argparse
sys.path.append(os.path.join(sys.path[0],'..'))
import TermTk as ttk
from dumb_paint_lib import PaintTemplate
from .maintemplate import PaintTemplate
ttk.TTkTheme.loadTheme(ttk.TTkTheme.NERD)

5
tools/dumb_paint_lib/maintemplate.py → tools/dumbPaintTool/app/maintemplate.py

@ -22,9 +22,8 @@
__all__ = ['PaintTemplate']
import sys, os, json
import os, json
sys.path.append(os.path.join(sys.path[0],'../..'))
import TermTk as ttk
from .paintarea import PaintArea, PaintScrollArea
@ -268,7 +267,7 @@ class PaintTemplate(ttk.TTkAppTemplate):
@ttk.pyTTkSlot()
def importDictWin(self):
newWindow = ttk.TTkUiLoader.loadFile(os.path.join(os.path.dirname(os.path.abspath(__file__)),"tui/quickImport.tui.json"))
newWindow = ttk.TTkUiLoader.loadFile(os.path.join(os.path.dirname(os.path.abspath(__file__)),"../tui/quickImport.tui.json"))
te = newWindow.getWidgetByName("TextEdit")
@ttk.pyTTkSlot()

3
tools/dumb_paint_lib/paintarea.py → tools/dumbPaintTool/app/paintarea.py

@ -22,9 +22,6 @@
__all__ = ['PaintArea','PaintScrollArea','CanvasLayer']
import sys, os
sys.path.append(os.path.join(sys.path[0],'../..'))
import TermTk as ttk
from .canvaslayer import CanvasLayer

5
tools/dumb_paint_lib/painttoolkit.py → tools/dumbPaintTool/app/painttoolkit.py

@ -22,9 +22,8 @@
__all__ = ['PaintToolKit']
import sys, os
import os
sys.path.append(os.path.join(sys.path[0],'../..'))
import TermTk as ttk
from .paintarea import *
@ -39,7 +38,7 @@ class PaintToolKit(ttk.TTkContainer):
#Signals
'updatedTrans')
def __init__(self, *args, **kwargs):
ttk.TTkUiLoader.loadFile(os.path.join(os.path.dirname(os.path.abspath(__file__)),"tui/paintToolKit.tui.json"),self)
ttk.TTkUiLoader.loadFile(os.path.join(os.path.dirname(os.path.abspath(__file__)),"../tui/paintToolKit.tui.json"),self)
self.updatedTrans = ttk.pyTTkSignal(ttk.TTkColor)
self._lgliph = self.getWidgetByName("lglyph")
self._cbFg = self.getWidgetByName("cbFg")

3
tools/dumb_paint_lib/palette.py → tools/dumbPaintTool/app/palette.py

@ -22,9 +22,6 @@
__all__ = ['Palette']
import sys, os
sys.path.append(os.path.join(sys.path[0],'../..'))
import TermTk as ttk
_defaultPalette = [

3
tools/dumb_paint_lib/textarea.py → tools/dumbPaintTool/app/textarea.py

@ -22,9 +22,6 @@
__all__ = ['TextArea']
import sys, os
sys.path.append(os.path.join(sys.path[0],'../..'))
import TermTk as ttk
from .glbls import glbls

6
tools/dumb_paint_lib/toolspanel.py → tools/dumbPaintTool/app/toolspanel.py

@ -22,12 +22,10 @@
__all__ = ['ToolsPanel']
import sys, os, json
import os
sys.path.append(os.path.join(sys.path[0],'../..'))
import TermTk as ttk
from .canvaslayer import CanvasLayer
from .palette import Palette
from .const import ToolType
from .glbls import glbls
@ -61,7 +59,7 @@ class ToolsPanel(ttk.TTkVBoxLayout):
# Toolset
lTools = ttk.TTkGridLayout()
main_toolset = ttk.TTkUiLoader.loadFile(os.path.join(os.path.dirname(os.path.abspath(__file__)),"tui/tools.tui.json"))
main_toolset = ttk.TTkUiLoader.loadFile(os.path.join(os.path.dirname(os.path.abspath(__file__)),"../tui/tools.tui.json"))
ra_move = main_toolset.getWidgetByName("ra_move")
ra_brush = main_toolset.getWidgetByName("ra_brush")

0
tools/dumb_paint_lib/tui/paintToolKit.tui.json → tools/dumbPaintTool/tui/paintToolKit.tui.json

0
tools/dumb_paint_lib/tui/quickImport.tui.json → tools/dumbPaintTool/tui/quickImport.tui.json

0
tools/dumb_paint_lib/tui/tools.tui.json → tools/dumbPaintTool/tui/tools.tui.json

12
tools/dumbPaintTool/web.ttk.package.json

@ -0,0 +1,12 @@
{
"libs" : [
{"pkg" :"bin/TermTk.tgz",
"name": "TermTk"},
{"pkg" :"bin/DPT.tgz",
"name": "Dumb Paint Tool"}
],
"pkgs" : [
"Pillow"
],
"main": "dumbPaintTool.py"
}

26
tools/webExporterInit.sh

@ -101,30 +101,16 @@ _download ${_TMP_PATH}/www/ www/favicon.ico
tar cvzf ${_TMP_PATH}/bin/TermTk.tgz --exclude='__pycache__' --transform "s,^.*TermTk/,TermTk/," ${_TMP_PATH}/TermTk
tar cvzf ${_TMP_PATH}/bin/DPT.tgz --exclude='__pycache__' --transform "s,^.*/dumb,dumb," ${_TOOLS_BASE_PATH}/dumb.paint.tool.py ${_TOOLS_BASE_PATH}/dumb_paint_lib
tar cvzf ${_TMP_PATH}/bin/DPT.tgz --exclude='__pycache__' --transform "s,^.*/dumbPaintTool,dumbPaintTool," \
${_TOOLS_BASE_PATH}/dumbPaintTool.py \
${_TOOLS_BASE_PATH}/dumbPaintTool/*.py \
${_TOOLS_BASE_PATH}/dumbPaintTool/app \
${_TOOLS_BASE_PATH}/dumbPaintTool/tui
# find ${_TMP_PATH}/TermTk \
# | grep -v __pycache__ | xargs tar cvzf ${_TMP_PATH}/bin/TermTk.tgz -C ${_TMP_PATH}
#
# find ${_TOOLS_BASE_PATH}/dumb.paint.tool.py ${_TOOLS_BASE_PATH}/dumb_paint_lib \
# | grep -v __pycache__ | xargs tar cvzf ${_TMP_PATH}/bin/DPT.tgz -C ${_TOOLS_BASE_PATH}
cp ${_TOOLS_BASE_PATH}/dumbPaintTool/web.ttk.package.json ${_TMP_PATH}
cp -a ${_TOOLS_BASE_PATH}/webExporter/* ${_TMP_PATH}/
echo '{
"libs" : [
{"pkg" :"bin/TermTk.tgz",
"name": "TermTk"},
{"pkg" :"bin/DPT.tgz",
"name": "Dumb Paint Tool"}
],
"pkgs" : [
"Pillow"
],
"mainOld": "main.py",
"main": "dumb.paint.tool.py"
}' > ${_TMP_PATH}/package.json
rm -rf ${_TMP_PATH}/TermTk
pushd ${_TMP_PATH}
zip -r ${_PWD}/itchExport.zip *

Loading…
Cancel
Save