""" novelWriter – Constants ======================= File History: Created: 2019-04-28 [0.0.1] This file is a part of novelWriter Copyright (C) 2019 Veronica Berglyd Olsen and novelWriter contributors This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . """ # noqa from __future__ import annotations from typing import Final from PyQt6.QtCore import QT_TRANSLATE_NOOP, QCoreApplication from novelwriter.enum import ( nwBuildFmt, nwComment, nwItemClass, nwItemLayout, nwOutline, nwStatusShape, nwTheme ) def trConst(text: str) -> str: """Translate a constant.""" return QCoreApplication.translate("Constant", text) def trStats(text: str) -> str: """Translate a stats constants.""" return QCoreApplication.translate("Stats", text) class nwConst: """Various Constants.""" # Date and Time Formats FMT_TSTAMP = "%Y-%m-%d %H:%M:%S" # Default format FMT_FSTAMP = "%Y-%m-%d %H.%M.%S" # FileName safe format FMT_DSTAMP = "%Y-%m-%d" # Date only format # URLs URL_WEB = "https://novelwriter.io" URL_DOCS = "https://docs.novelwriter.io" URL_RELEASES = "https://releases.novelwriter.io" URL_CODE = "https://github.com/vkbo/novelWriter" URL_REPORT = "https://github.com/vkbo/novelWriter/issues" URL_HELP = "https://github.com/vkbo/novelWriter/discussions" # Requests USER_AGENT = "Mozilla/5.0 (compatible; novelWriter (Python))" # Mime Types MIME_HANDLE = "text/vnd.novelwriter.handle" # Gui Settings STATUS_MSG_TIMEOUT = 15000 # milliseconds MAX_SEARCH_RESULT = 1000 class nwRegEx: """Common RegExes.""" URL = r"https?://(?:www\.|(?!www))[\w/()@:%_\+-.~#?&=]+" WORDS = r"\b[^\s\-\+\/–—\[\]:]+\b" BREAK = r"(?i)(?