diff --git a/.gitignore b/.gitignore index 27cc7f2..852f6e5 100644 --- a/.gitignore +++ b/.gitignore @@ -48,6 +48,7 @@ coverage.xml # Translations *.mo *.pot +*.po # Django stuff: *.log @@ -67,3 +68,8 @@ target/ tmp* .env* venv* + +# Doit +*.bak +*.dat +*.dir diff --git a/dodo.py b/dodo.py new file mode 100644 index 0000000..be824bd --- /dev/null +++ b/dodo.py @@ -0,0 +1,36 @@ +#!usr/bin/env python3 +''' +''' + +import glob + +def task_pot(): + """Create bynary wheel distribution""" + return { + 'actions': ["""pybabel extract -o todo.pot frontend"""], + 'file_dep': glob.glob('frontend/*.py'), + 'targets': ['todo.pot'] + } + +def task_po(): + """Create bynary wheel distribution""" + return { + 'actions': ["""pybabel update -D todo -d frontend/po -i todo.pot"""], + 'file_dep': ['todo.pot'], + 'targets': ['frontend/po/eng/LC_MESSAGES/todo.po'] + } + +def task_mo(): + """Create bynary wheel distribution""" + return { + 'actions': ["""pybabel compile -D todo -i frontend/po/eng/LC_MESSAGES/todo.po -o frontend/po/eng/LC_MESSAGES/todo.mo"""], + 'file_dep': ['frontend/po/eng/LC_MESSAGES/todo.po'], + 'targets': ['frontend/po/eng/LC_MESSAGES/todo.mo'] + } + +def task_wheel(): + """Create bynary wheel distribution""" + return { + 'actions': ['python3 -m build -w'], + 'task_dep': ['mo'] + } diff --git a/frontend/__init__.py b/frontend/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/frontend/__main__.py b/frontend/__main__.py new file mode 100644 index 0000000..ae13128 --- /dev/null +++ b/frontend/__main__.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +"""django-todo application launcher""" + +from .todo_tk import Application + +if __name__ == "__main__": + app = Application() + app.main(app.login()) diff --git a/frontend/api_demo.py b/frontend/api_demo.py index 329297c..f252b1b 100644 --- a/frontend/api_demo.py +++ b/frontend/api_demo.py @@ -1,5 +1,5 @@ import random -from user import User +from .user import User def print_lists(lists): diff --git a/frontend/login.py b/frontend/login.py index 7830608..f471fff 100644 --- a/frontend/login.py +++ b/frontend/login.py @@ -1,8 +1,8 @@ import gettext import os import tkinter as tk -from user import User -import message +from .user import User +from . import message gettext.install("todo", os.path.join(os.path.dirname(__file__), "po")) diff --git a/frontend/po/eng/LC_MESSAGES/todo.po b/frontend/po/eng/LC_MESSAGES/todo.po deleted file mode 100644 index 427bd92..0000000 --- a/frontend/po/eng/LC_MESSAGES/todo.po +++ /dev/null @@ -1,83 +0,0 @@ -# English (United States) translations for PROJECT. -# Copyright (C) 2021 ORGANIZATION -# This file is distributed under the same license as the PROJECT project. -# FIRST AUTHOR , 2021. -# -msgid "" -msgstr "" -"Project-Id-Version: PROJECT VERSION\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-06-06 23:42+0300\n" -"PO-Revision-Date: 2021-06-07 00:24+0300\n" -"Last-Translator: FULL NAME \n" -"Language: en_US\n" -"Language-Team: en_US \n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.8.1\n" - -#: todo_tk.py:20 -msgid "Приложение для планирования" -msgstr "ToDo Application" - -#: message.py:6 -msgid "Сообщение!" -msgstr "Message!" - -#: message.py:7 -msgid "Неправильный логин или пароль" -msgstr "Wrong login or password" - -#: message.py:8 -msgid "Сдесь могло быть ваше сообщение" -msgstr "This could have been your message" - -#: login.py:63 -msgid "Введите логин" -msgstr "Enter your username" - -#: login.py:71 -msgid "Введите пароль" -msgstr "Enter your password" - -#: login.py:78 -msgid "Войти" -msgstr "Enter" - -#: workspace.py:17 -msgid "Не реализовано" -msgstr "Not implemented" - -#: workspace.py:25 -msgid "Текст" -msgstr "Text" - -#: workspace.py:28 -msgid "Выполнено" -msgstr "Done" - -#: workspace.py:31 -msgid "Создано" -msgstr "Created" - -#: workspace.py:60 -msgid "Удалить" -msgstr "Delete" - -#: workspace.py:88 -msgid "Добавить заметку" -msgstr "Add note" - -#: workspace.py:91 -msgid "Удалить лист" -msgstr "Delete list" - -#: workspace.py:149 -msgid "Запомнить меня" -msgstr "Remember me" - -#: workspace.py:158 -msgid "Добавить лист" -msgstr "Add list" diff --git a/frontend/todo_tk.py b/frontend/todo_tk.py index ce4fa50..e80154b 100644 --- a/frontend/todo_tk.py +++ b/frontend/todo_tk.py @@ -4,9 +4,9 @@ import gettext import os import sys import tkinter as tk -from login import LoginFrame -from workspace import WorkSpaceFrame -from user import User +from .login import LoginFrame +from .workspace import WorkSpaceFrame +from .user import User gettext.install("todo", os.path.join(os.path.dirname(__file__), "po")) diff --git a/frontend/user.py b/frontend/user.py index 588dac8..d0185cf 100644 --- a/frontend/user.py +++ b/frontend/user.py @@ -7,7 +7,7 @@ from pathlib import Path import json -from api import UserApi +from .api import UserApi LIST_UPDATEBLE = ["title"] TODO_ITEM_UPDATEBLE = ["text", "finished"] diff --git a/pyproject.toml b/pyproject.toml index 18a59d9..174846d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,3 +21,15 @@ exclude = ''' | profiling )/ ''' + +[build-system] +requires = [ + "setuptools", + "wheel", + "requests", + "build", + "coverage", + "doit" +] +build-backend = "setuptools.build_meta" + diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..b61decd --- /dev/null +++ b/setup.cfg @@ -0,0 +1,11 @@ +[metadata] +name = django-todo +version = 0.0.1 + +[options] +packages = frontend +install_requires = + requests; python_version >= "3.6" + +[options.package_data] +frontend = */*/*/todo.mo