Skip to content

Commit

Permalink
Версия 2.5.8.
Browse files Browse the repository at this point in the history
Добавлена поддержка Ren'Py >=7.4.0.
Небольшой рефакторинг.
  • Loading branch information
Vladya committed Feb 25, 2021
1 parent b0ffd04 commit 67523fb
Show file tree
Hide file tree
Showing 180 changed files with 89 additions and 25 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -143,3 +143,4 @@ Translator3000.rpa
game/Translator3000.rpa
game/Translator3000.rpa.tmp
_git_release_description.md
Translator3000 (for old Ren'Py versions).rpa
8 changes: 5 additions & 3 deletions game/Translator3000Data/ingame_gui/screens.rpy
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,10 @@ init -98:

use translator3000_base_vbox_in_window:
label translator3000._gui.translate("Выбор языка.")
for code in sorted(translator3000.get_all_lang_codes()):
for code in sorted(
translator3000.get_all_lang_codes(),
key=lambda _c: translator3000._translator_object.get_lang_name(translator3000._setting["translationService"], _c)
):
textbutton translator3000.quote(
translator3000._translator_object.get_lang_name(translator3000._setting["translationService"], code)
).title():
Expand Down Expand Up @@ -248,9 +251,8 @@ init -98:
if translator3000._setting["extraTextOptions"]["font"] is None:
text translator3000._gui.translate("Не установлено.")
else:
$ _fs_object = translator3000._gui._fs_object
text translator3000.quote(
_fs_object.get_clear_filename(translator3000._setting["extraTextOptions"]["font"])
translator3000._gui._fs_object.get_clear_filename(translator3000._setting["extraTextOptions"]["font"])
):
size 30
textbutton translator3000._gui.translate("Сбросить."):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@
)

__author__ = "Vladya"
__version__ = "1.0.4"
__version__ = "1.0.5"

RENPY_WITH_REQUESTS = (7, 4, 0)

utils.remove_dir(_paths.TEMP_FOLDER)
utils.remove_dir(_paths.DEBUG_FOLDER)
Expand All @@ -23,7 +25,7 @@
LOGGER.setLevel(logging.DEBUG)


if utils.renpy:
if utils.renpy and (utils.renpy.version(True) < RENPY_WITH_REQUESTS):
# Get cert from .rpa
requests.utils.DEFAULT_CA_BUNDLE_PATH = path.join(
_paths.TEMP_FOLDER,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

import json
from os import path
from requests.packages import urllib3
from .. import (
translator_abstract,
current_session
Expand All @@ -18,6 +17,12 @@
)


try:
import urllib3
except ImportError:
from requests.packages import urllib3


class Translator(translator_abstract.TranslatorAbstract):

__version__ = "1.0.3"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@
import random
import threading
import requests
from requests.packages import urllib3

try:
import urllib3
except ImportError:
from requests.packages import urllib3


class HostInfo(object):
Expand Down
44 changes: 35 additions & 9 deletions game/Translator3000Data/scripts/github_checker.rpy
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,14 @@ init -9 python in _translator3000:
OWNER = "NyashniyVladya"
REPO = "Translator3000"

filename = "Translator3000.rpa"
filename_variants = (
"Translator3000.rpa",
"Translator3000 (for old Ren'Py versions).rpa"
)
if renpy.version(True) >= (7, 4, 0):
filename = "Translator3000.rpa"
else:
filename = "Translator3000 (for old Ren'Py versions).rpa"

def __init__(self, translator_object):

Expand All @@ -34,9 +41,13 @@ init -9 python in _translator3000:

try:
if self.is_need_update():
delete_array = frozenset(
map(self._find_file, self.filename_variants)
)
self._download_process = Downloader(
self.download_link,
self._get_rpa_path()
self._find_file(self.filename),
delete_array=delete_array
)
except Exception as ex:
# Проблемы с интернетом.
Expand All @@ -51,15 +62,17 @@ init -9 python in _translator3000:
def is_need_update(self):
return (self.version > VERSION)

def _get_rpa_path(cls):
@staticmethod
def _find_file(filename):
filename = path.normpath(filename)
for fn in renpy.list_files():
fn = path.normpath(fn)
if path.basename(fn) == cls.filename:
if path.basename(fn) == filename:
for _searchpath in config.searchpath:
full_fn = path.abspath(path.join(_searchpath, fn))
if path.isfile(full_fn):
return full_fn
return path.abspath(path.join(config.gamedir, cls.filename))
return path.abspath(path.join(config.gamedir, filename))

@property
def download_link(self):
Expand Down Expand Up @@ -89,7 +102,10 @@ init -9 python in _translator3000:

@property
def rpa(self):
return self.latest_release["assets"][0]
for asset in self.latest_release["assets"]:
if asset["name"] == self.filename:
return asset.copy()
raise Exception("Unknown error.")

def get_url(self, _path):
return urllib3.util.Url(
Expand All @@ -108,7 +124,7 @@ init -9 python in _translator3000:

LOGGER = LOGGER.getChild("Downloader")

def __init__(self, url, out_fn):
def __init__(self, url, out_fn, delete_array=None):

if self.initialized:
return
Expand All @@ -128,6 +144,12 @@ init -9 python in _translator3000:

self.__out_fn = path.abspath(out_fn)

self.__delete_array = frozenset()
if delete_array is not None:
self.__delete_array = frozenset(
map(path.abspath, delete_array)
)

self.__current_size = 0
self.__total_size = None

Expand Down Expand Up @@ -222,8 +244,12 @@ init -9 python in _translator3000:
renpy.restart_interaction()
finally:
_stream.close()
if path.isfile(self.__out_fn):
os.remove(self.__out_fn)

delete_array = self.__delete_array.copy()
delete_array += frozenset((self.__out_fn,))
for _f in delete_array:
if path.isfile(_f):
os.remove(_f)
utils.create_dir_for_file(self.__out_fn)
os.rename(temp_fn, self.__out_fn)
except Exception as ex:
Expand Down
8 changes: 6 additions & 2 deletions game/Translator3000Data/scripts/imports.rpy
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ init -10 python in _translator3000:
import collections
import store
from os import path
from requests.packages import urllib3
from store import (
NoRollback,
Function,
Expand All @@ -29,7 +28,12 @@ init -10 python in _translator3000:
utils
)

VERSION = (2, 5, 7)
if renpy.version(True) >= (7, 4, 0):
import urllib3
else:
from requests.packages import urllib3

VERSION = (2, 5, 8)

DEBUG = False
parent_logger.setLevel((logging.DEBUG if DEBUG else logging.CRITICAL))
Expand Down
24 changes: 20 additions & 4 deletions game/build_creator/_build_creator.rpy
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ init 10 python in _build_creator:
class RPACreator(archiver.Archive):

__author__ = "Vladya"
__version__ = "2.0.1"
__version__ = "2.0.2"

DATA_FOR_PACKING = (
PackingData(
Expand All @@ -142,7 +142,7 @@ init 10 python in _build_creator:
renpy_name="Translator3000Data/third_party_python_modules",
pack_name=_gamedir,
_type="folder",
exts=(".pem", ".py")
exts=(".py",)
),
PackingData(
renpy_name="Translator3000Data/scripts",
Expand All @@ -169,6 +169,14 @@ init 10 python in _build_creator:
)
)

requests_packing = PackingData(
renpy_name="Translator3000Data/requests_module",
pack_name=_gamedir,
_type="folder",
exts=(".pem", ".py")
)


def __init__(self, name):
"""
Архив будет размещён в основной директории игры (НЕ в game).
Expand All @@ -178,9 +186,17 @@ init 10 python in _build_creator:
super(RPACreator, self).__init__(_rpa_name)

@classmethod
def create_build(cls, build_name, data_for_packing=None):
def create_build(cls, build_name):

pack_data = cls.DATA_FOR_PACKING[:]
with cls(build_name) as _rpa:
_rpa._pack(pack_data)

build_name = "{0} (for old Ren'Py versions)".format(build_name)
pack_data += (cls.requests_packing,)
with cls(build_name) as _rpa:
_rpa._pack(data_for_packing)
_rpa._pack(pack_data)


def _pack(self, data_for_packing=None):
"""
Expand Down
2 changes: 1 addition & 1 deletion game/options.rpy
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ define gui.show_name = True

## Версия игры.

define config.version = "2.5.7"
define config.version = "2.5.8"


## Текст, помещённый в экран "Об игре". Поместите текст между тройными скобками.
Expand Down
8 changes: 6 additions & 2 deletions game/script.rpy
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,14 @@ init -500 python in _compile_build_init:

from store import config

for _path in (
_paths = (
"Translator3000Data/third_party_python_modules/",
"Translator3000Data/my_python_modules/"
):
)
if renpy.version(True) < (7, 4, 0):
_paths += ("Translator3000Data/requests_module/",)

for _path in _paths:
renpy.add_python_directory(_path)
config.search_prefixes.append(_path)

Expand Down

0 comments on commit 67523fb

Please sign in to comment.